semvec/pypi-packages huggingface dataset:
sopel-amputator 0.3.0
Sopel plugin that detects AMP links and finds their canonical forms using AmputatorBot
Requires Python: <4,>=3.8
Keywords: sopel, plugin, bot, irc

# sopel-amputator

Sopel plugin that detects AMP links and finds their canonical forms using
[AmputatorBot](https://www.amputatorbot.com/)

## Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is `pip`:

```shell
$ pip install sopel-amputator
```

## Configuring

The easiest way to configure `sopel-amputator` is via Sopel's configuration
wizard—simply run `sopel-plugins configure amputator` and enter the values for
which it prompts you.

Individual settings are described below.

### `ignore_domains` (`list[str]`)

This is a list of hostnames which `sopel-amputator` will ignore, even if they
match one of the common AMP substrings it looks for. By default it contains a
set of ignored domains from the AmputatorBot project.

Setting this value _overrides_ the default, so make sure to also enter any
entries that you would like to keep from the default list.

### `guess_and_check` (`bool`, default `true`)

The default behavior for AMPutatorBot's "guess and check" feature, which tries
to guess canonical URLs when the page doesn't provide one in its HTML.

Behavior can be changed per-channel by chanops and bot admins using the
`.ampguess` command on IRC.

### `skip_safe_filetypes` (`bool`, default `true`)

Whether to skip AMP-checking links that look like they point to safe MIME types,
e.g. media files.

## Changelog

### 0.3.0

* Guess MIME type of links (by file extension, if present) and skip "safe" types
  that are probably not wrapped in AMP [#3]
  * Configurable with `skip_safe_filetypes` config setting.
* Added configuration for AMPutatorBot's "guess and check" function, both a
  global setting (`guess_and_check`) and a per-channel override (new `ampguess`
  command for chanops and bot admins) [#2]

Under the hood:
* Require _stable_ Sopel 8.x, no more pre-releases
* Updated package metadata & release workflow


### 0.2.1

* Added Twitter/X domains to default ignore list


### 0.2.0

Under-the-hood improvements:

* More robust domain matching against ignore list
  * Includes distinct log messages for exact matches vs. subdomain matches
* More granular error handling
* Better error logging
* Migrated package metadata from `setup.py`+`setup.cfg` to `pyproject.toml`


### 0.1.0

Initial release.

Pending conversion from `setup.py`+`setup.cfg` template to newer style package
using `pyproject.toml`—plus some other features on the todo list—but the basics
are here:

* Detect likely AMP links
* Call AmputatorBot API for the canonical URL of each suspected AMP link
* Skip links from a configurable list of ignored domains
* Silently fail if no better URL is found
clustlib 0.1.0
Constrained clustering library for Python
Requires Python: <3.13.3,>=3.12

<h2 align="center">Clustlib: Constrained Clustering Library</h2>

<p align="center">
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://www.python.org"><img alt="Python version: 3.12" src="https://img.shields.io/badge/Python-3.12-3776AB.svg?style=flat&logo=python&logoColor=white"></a>
<a href="https://codecov.io/github/lordisma/pyCC" ><img src="https://codecov.io/github/lordisma/pyCC/graph/badge.svg?token=66LN2RBW0S"/></a>
<a href="https://python-poetry.org/"><img src="https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json" /></a>
</p>

> [!NOTE]
> 🚧 Currently the project is a **Work in progress**, but you can help us to fix it.
>
> Please refer to our [contributing documenation](docs/CONTRIBUTING.md) to know how can you start helping us

> [!WARNING]
> This Library is a Work in progress at the moment, most use cases may not be contempleted or supported yet. If you find something feel free to create a bug report.
>
> In the same way if you think we are missing something important create a feature request

## What it is?

**Clustlib** is a Python library that provides a unified framework for **constrained clustering algorithms**.

Unlike traditional clustering, where groups are formed purely from data similarity, constrained clustering integrates **prior knowledge** in the form of *must-link* and *cannot-link* constraints.

This library includes implementations of both **classic algorithms** and **state-of-the-art metaheuristics**, enabling researchers and practitioners to experiment, compare, and extend methods in a common environment.

If you want to know more deep in our [documentation](https://lordisma.github.io/pyCC/)

## ✨ Key Features

- Unified Python API across all algorithms
- Support for **must-link** and **cannot-link** constraints
- Scikit-learn inspired design for easy integration
- Implementations from different families:
  - **K-Means based methods**
  - **Bayesian models**
  - **Evolutionary and metaheuristic approaches**
- Modular and extensible codebase

## 🚀 Installation

```bash
pip install clustlib
```

## Basic Usage

```python
from clustlib.kmeans import COPKMeans

constraints = np.zeros((X.shape[0], X.shape[0]))

# Example: COP-KMeans
model = COPKMeans(n_clusters=3, constraints=constraints)
model.fit(X)
labels = model.labels_
```
guojiqe-sdk 0.0.2
A Python SDK for interacting with Guoji Quantum and Electronic Computing Service Platform.
Requires Python: >=3.9

# GuojiQE-SDK
GuojiQE-SDK is a Python SDK for interacting with the Guoji Quantum and Electronic Computing Service Platform.

This SDK supports submitting and executing Qiskit circuit code on Guoji Quantum's superconducting quantum computers and simulators.

# Installation
You can install GuojiQE-SDK using pip:

```bash
pip install guojiqe-sdk
```

# Usage
## Step 1: Create a service instance
```python
from guojiqe_sdk.runtime_service import GjqRuntimeService
service = GjqRuntimeService(channel="CPU_FULL_AMPLITUDE_SIMULATOR")
```
channel: Selects the specified type of quantum device, including simulators and quantum computers. 
- "CPU_FULL_AMPLITUDE_SIMULATOR", 
- "CPU_NOISY_SIMULATOR", 
- "CPU_SINGLE_AMPLITUDE_SIMULATOR", 
- "CPU_PARTIAL_AMPLITUDE_SIMULATOR", 
- "GPU_FULL_AMPLITUDE_SIMULATOR", 
- "GPU_NOISY_SIMULATOR", 
- "GPU_SINGLE_AMPLITUDE_SIMULATOR", 
- "GPU_PARTIAL_AMPLITUDE_SIMULATOR", 
- "NPU_FULL_AMPLITUDE_SIMULATOR", 
- "NPU_NOISY_SIMULATOR", 
- "NPU_SINGLE_AMPLITUDE_SIMULATOR", 
- "NPU_PARTIAL_AMPLITUDE_SIMULATOR", 
- "SUPERCONDUCTING_QUANTUM_COMPUTER"

## Step 2: Get the backend
### Method 1: Automatically select the least busy backend
```python
backend = service.least_busy()
```

### Method 2: Provide the user with a list of available backends of a specified type, allowing the user to select a backend by viewing this information.
#### 2.1 Viewing a list of available backends of a specified type
```python
backends = service.backends()
for backend in backends:
    print("Name:", backend.name, "Number of qubits:", backend.num_qubits, "Device ID:", backend.device_id)
```

#### 2.2 Selecting a backend with a specified `device_id` based on the output
```python
backend = service.backend("tgq-super-0001")
```

### Step 3: Create a circuit
Create a circuit using Qiskit

```python
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2)
circuit.x(range(2))
circuit.cz(0, 1)
circuit.measure_all()
```

## Step 4: Run the circuit on the backend
Submit the circuit using `run()` in the backend, and get the calculation results in Qiskit Result format using `result()` in the job

```python
job = backend.run(circuit)
result = job.result().results[0].data.to_dict()
print("Backend run result:", result)
```
nmicheck 0.3.0
Functions to validate National Metering Identifiers (NMIs)
Requires Python: >=3.10

# NMI-Checksum

A library to validate National Metering Identifiers (NMIs)

The validation rules are as per the Australian [National Metering Identifier Procedure](https://aemo.com.au/Electricity/National-Electricity-Market-NEM/Retail-and-metering/-/media/EBA9363B984841079712B3AAD374A859.ashx).

## Usage

```python
from nmicheck import nmi_checksum
checksum = nmi_checksum("QAAAVZZZZZ")
print(checksum)  # 3
```

```python
from nmicheck import nmi_checksum_valid
print(nmi_checksum_valid("QAAAVZZZZZ3"))  # True
print(nmi_checksum_valid("QAAAVZZZZZ0"))  # False
```

```python
from nmicheck import long_nmi, short_nmi
print(long_nmi("NMI00012345"))  # NMI000123458
print(short_nmi("NMI000123458"))  # NMI00012345
```

```python
from nmicheck import obfuscate_nmi
print(obfuscate_nmi("NMI00012345", salt="secret"))  # 0E6816DCBA334A7B2DEF
print(obfuscate_nmi("NMI00012345", salt="secret", length=10))  # 0E6816DCBA
```

You can also look up the participant code for a particular NMI (which DNSP or TNSP) based on the [NMI Allocation List](https://www.aemo.com.au/-/media/Files/Electricity/NEM/Retail_and_Metering/Metering-Procedures/NMI-Allocation-List.pdf).

```python
from nmicheck import nmi_participant

participant = nmi_participant("6102000000")
print(participant)  # CITIPP

participant = nmi_participant("3202000000")
print(participant)  # PLINKP
```
copious 0.1.32
A handy tool that make your day to day programming much easier. 

# Copious

A handy tool that make your day to day programming much easier. 

The name comes from the latin word cornucopia.

## Development

Install dev deps:

```bash
pip install -r requirements.txt
```

### Minimal dependency set (lowest supported versions)

To compute and validate the lowest compatible versions of runtime dependencies:

```bash
# Generate constraints/requirements-min.txt using uv (preferred)
bash scripts/generate_min_requirements.sh

# Install runtime deps with the minimal constraints and run tests
pip install -r requirements.runtime.in -c constraints/requirements-min.txt
pip install -e .
pytest -q
```

Notes:
- Floors for Python 3.10 are in `constraints/floors-py310.txt` to avoid ancient, incompatible packages. Adjust per Python version if needed.
- CI runs tests against latest and the minimal set to ensure ongoing compatibility.