Metadata-Version: 2.4
Name: qiskit-noise-learning
Version: 0.1.0
Summary: A toolkit for randomization-based quantum noise characterization.
Author-email: Ian Hincks <ian.hincks@ibm.com>
Project-URL: Homepage, https://github.com/Qiskit/qiskit-noise-learning
Project-URL: BugTracker, https://github.com/Qiskit/qiskit-noise-learning/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy>=2
Requires-Dist: qiskit<3,>=2.5.0
Requires-Dist: rustworkx>=0.15
Requires-Dist: samplomatic>=0.21
Requires-Dist: scipy>=1.13
Requires-Dist: xarray>=2025.7
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: reno>=4.1; extra == "dev"
Requires-Dist: scipy-doctest; extra == "dev"
Requires-Dist: qiskit-ibm-runtime>=0.50; extra == "dev"
Requires-Dist: qiskit-aer; extra == "dev"
Provides-Extra: vis
Requires-Dist: matplotlib>=3.8; extra == "vis"
Provides-Extra: docs
Requires-Dist: sphinx>=9; extra == "docs"
Requires-Dist: qiskit-sphinx-theme; extra == "docs"
Requires-Dist: myst-nb>=1.1; extra == "docs"
Requires-Dist: ipykernel; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
Requires-Dist: sphinx-proof; extra == "docs"
Requires-Dist: reno>=4.1; extra == "docs"
Requires-Dist: qiskit-noise-learning[vis]; extra == "docs"
Requires-Dist: qiskit[visualization]; extra == "docs"
Requires-Dist: qiskit-ibm-runtime>=0.50; extra == "docs"
Requires-Dist: qiskit-aer; extra == "docs"
Provides-Extra: cvxpy
Requires-Dist: cvxpy; extra == "cvxpy"
Dynamic: license-file

# qiskit-noise-learning

A Python toolkit for randomization-based quantum noise characterization.

> [!NOTE]
> **Alpha software.** This library is in the `0.x` stage of development and under active
> development. No part of the public interface is yet stable: while the major version is `0`,
> expect breaking changes between releases and pin your dependency accordingly (for example,
> `qiskit-noise-learning==0.1.*`). We do not currently issue deprecation warnings, but all changes
> are recorded in the release notes. See the [deprecation policy](DEPRECATION.md) for details. All
> feedback is appreciated.

## Installation

You can install `qiskit-noise-learning` via pip from the GitHub repository (`main` branch):

```bash
pip install "git+https://github.com/Qiskit/qiskit-noise-learning@main"

```

For visualization support, include the visualization dependencies:

```bash
pip install "qiskit-noise-learning[vis] @ git+https://github.com/Qiskit/qiskit-noise-learning@main"
```

See the [contribution guidelines](CONTRIBUTING.md) for developer dependencies and editable
installations.

## Interfaces and Documentation

This library has two levels of interface. The first is the low-level interface where the user
directly interacts with objects representing core concepts in noise learning, enabling custom design
of every aspect of a noise learning protocol. The second is a higher-level interface, the
`qiskit_noise_learning.protocols` subpackage, which holds one pair of functions per protocol —
`prepare_vanilla_program` and `process_vanilla_result` for the standard "vanilla" protocol — each
pair wrapping a stock workflow into a single call on either side of execution.

See the following tutorials for examples:

- [`docs/tutorials/learning_protocol.md`](docs/tutorials/learning_protocol.md) — end-to-end use of the protocol functions
- [`docs/tutorials/workflow.md`](docs/tutorials/workflow.md) — step-by-step walkthrough of the internal pipeline


## Development

```bash
python -m pytest          # run tests (includes doctests)
ruff check --fix . && ruff format .   # lint and format
pre-commit run --all-files            # all checks
```

See the [contribution guidelines](CONTRIBUTING.md) for details on developer setup, testing,
building the documentation, and the release notes workflow.

## License

[Apache 2.0](LICENSE.txt)

## Citing this package

If you use this package in your research, use the [CITATION.bib](CITATION.bib) file in this project’s repository to cite the appropriate reference(s).
