Check ups
A check up is a single, named membership criterion of the Qiskit Ecosystem, such as "have a commit within the last 12 months" or "have an OSI-approved license". They are re-run on every member every week, so this page is the current state of the whole ecosystem: each check up, and the projects it is failing right now.
A failing check up is not a removal. It moves the project to Under revision and starts its cure period; only when that period runs out without the check up being fixed or explained does the project become Alumni. See how the check ups work for the mechanism, and for project maintainers if one of these is on your project.
All the check ups
[000] Build on, interface with, or extend Qiskit in a meaningful way
CRITICAL · SUBMISSION · applies to all · cure period: 0 days
Software in the Qiskit Ecosystem should be related to Qiskit projects in some meaningful way. Software that manipulates Qiskit data structures (such as transpiler plugins) are good examples of that. If the connection with Qiskit is not that obvious, consider having a tutorial or how-to guide explaining a use-case for Qiskit users.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No project is failing this check up
[001] Have an OSI-approved license
CRITICAL · OSS · applies to all · cure period: 0 days
Projects in the Qiskit Ecosystem (and their packages) must have an OSI-approved license.
Checked by test_general.py::test_001.
No current member is failing this check up
7 Alumni projects also failed this check up
[004] Maturity property has to exist and be valid
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
member.maturity should exist in https://qiskit.github.io/ecosystem/classifications/#maturity
Checked by test_classifications.py::test_004.
No project is failing this check up
[007] Interfaces have to exist
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
All member.interfaces should exist in https://qiskit.github.io/ecosystem/classifications/#interfaces
Checked by test_classifications.py::test_valid_interfaces.
No current member is failing this check up
5 Alumni projects also failed this check up
[008] Category has to exist
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
member.category should exist in https://qiskit.github.io/ecosystem/classifications/#category
Checked by test_classifications.py::test_valid_category.
No current member is failing this check up
1 Alumni project also failed this check up
[009] Labels have to exist
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
All member.labels should exist in https://qiskit.github.io/ecosystem/classifications/#labels
Checked by test_classifications.py::test_valid_label.
No project is failing this check up
[010] member.name should not include the substring 'test'
RECOMMENDATION · SUBMISSION · applies to all · cure period: 180 days
Projects in the Qiskit Ecosystem should be related
Checked by test_name.py::test_valid_name_no_test_substring.
No project is failing this check up
[011] Do not repeat URLs in the submission
STRONG-RECOMMENDATION · SUBMISSION · applies to all · cure period: 90 days
Having the same URL for, for example member.website and member.documentation is unnecessary. Keep the better fit and remove the other one.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No project is failing this check up
[012] URLs must exist
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
URLs must not return 404s or other forms of permanent errors. Redirects are accepted.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No project is failing this check up
[013] URLs use a secure scheme
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
All the URLs must use HTTPS (HyperText Transfer Protocol Secure) scheme.
Checked by test_url.py::TestURLs::test_http.
No current member is failing this check up
1 Alumni project also failed this check up
[014] Description too long
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
Member description cannot be longer than 135 characters because of front-end design limitations.
Checked by test_description.py::test_description_len_135.
No project is failing this check up
[015] URL should not point to a GitHub organization
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
The member.url field should not point to a GitHub organization page. It should link to the source code page, not the parent organization.
Checked by test_general.py::test_015.
No project is failing this check up
[020] Primitive interface should be v2-compatible
CRITICAL · OUT-OF-DATE · applies to label:"Compute provider" · cure period: 0 days
If the project implements a Qiskit primitive interface, it should be compatible with the V2 primitives API.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No current member is failing this check up
1 Alumni project also failed this check up
[025] Documentation link has redundant suffix
RECOMMENDATION · SUBMISSION · applies to all · cure period: 180 days
Links like https://qiskit-banana-compiler.readthedocs.io/en/latest/ do not need the /en/latest suffix.
Checked by test_url.py::TestURLs::test_025.
No project is failing this check up
[026] The /README.md file is not documentation
RECOMMENDATION · SUBMISSION · applies to all · cure period: 180 days
It is fine to leave the member.documentation field empty. Pointing to the README.md file is not necessary.
Checked by test_url.py::TestURLs::test_026.
There is 1 project failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| Qiberis | experimental | Very Early Project | 125 |
[027] Website should not be GitHub repository or PyPI URL
STRONG-RECOMMENDATION · SUBMISSION · applies to all · cure period: 90 days
The member.website field should point to the project's website instead of the GitHub repository or a PyPI project page.
Checked by test_url.py::TestURLs::test_027.
There is 1 project failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| Qiskit Qrack Provider | production-ready | Under revision | 28 |
1 Alumni project also failed this check up
[COC] Adhere to the Qiskit CoC
CRITICAL · SUBMISSION · applies to all · cure period: 0 days
Project submitters should adhere to the Qiskit code of conduct. If the submitter is the project maintainer, they can enforce their own code of conduct in addition to the one coming from Qiskit.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No project is failing this check up
[G00] Have a clear support expectation and, if actively maintained, show signs of that activity.
CRITICAL · GENERAL · applies to all · cure period: 0 days
Actively maintained projects should show signs of that. This includes recent activity in the code repository (such as commits, issue responses, or pull requests) as well as reasonably up-to-date package releases. Projects with no observable activity over an extended period may be considered abandoned.
Checked by test_general.py::test_G00.
No current member is failing this check up
5 Alumni projects also failed this check up
[G05] Archived GitHub repository should declare no maintenance expectations
CRITICAL · ACTIVITY · applies to GitHub projects · cure period: 0 days
Projects whose GitHub repository is archived should declare a member.maturity with no maintenance expectations (as-is or deprecated), which is what gives them the Unmaintained status. Projects that are already Unmaintained are exempt from this check up.
Checked by test_github.py::test_G05.
No current member is failing this check up
11 Alumni projects also failed this check up
[G06] Have maintainer activity within the last 6 months
RECOMMENDATION · ACTIVITY · applies to GitHub projects · cure period: 180 days
Projects available on GitHub should have some activity within the last 6 months, such as somebody starring the repository. The lack of this kind of activity might signal a dormant project. This check up does not apply to projects that declare no maintenance expectations (member.maturity is as-is or deprecated).
Checked by test_github.py::test_G06.
There are 10 projects failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| Qiskit Qulacs | production-ready | Member | 118 |
| Quantum Debugger | production-ready | Member | 150 |
| Qutes Programming Language | production-ready | Member | 174 |
| (Large-scale) Quantum Network Coding | production-ready | Early Project | 109 |
| PurpleCaffeine | production-ready | Member | 118 |
| QASM Runner for IBM platforms | production-ready | Early Project | 79 |
| Conditional Measurement Toolbox | production-ready | Early Project | 109 |
| Quantum Network Coding | production-ready | Member | 109 |
| QSP-SQD | experimental | Member | 109 |
| Qiskit Nature PySCF | production-ready | Under revision | 139 |
1 Alumni project also failed this check up
[G07] Have a commit within the last 12 months
STRONG-RECOMMENDATION · ACTIVITY · applies to GitHub projects · cure period: 90 days
Projects available on GitHub should have commit activity within the last 12 months. The lack of this kind of activity might signal a dormant project. This check up does not apply to projects that declare no maintenance expectations (member.maturity is as-is or deprecated).
Checked by test_github.py::test_G07.
There are 5 projects failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| FAdam-VQE | production-ready | Under revision | 84 |
| fast-pauli | production-ready | Under revision | 84 |
| symbolic-qiskit | production-ready | Under revision | 84 |
| BasisConstructor plugin for Qiskit transpiler | experimental | Qiskit Project | 84 |
| Qiskit Nature PySCF | production-ready | Under revision | 84 |
12 Alumni projects also failed this check up
[G08] Unmaintained projects should be archived in GitHub repository
RECOMMENDATION · ACTIVITY · applies to GitHub projects · cure period: 180 days
Projects that are not maintained (that is, member.maturity is as-is or deprecated) should archive their GitHub repositories to signal other users and developers that issues or PRs are not going to be addressed.
Checked by test_github.py::test_G08.
No project is failing this check up
[G09] GitHub is not detecting the repository license
RECOMMENDATION · OSS · applies to GitHub projects · cure period: 180 days
GitHub cannot detect the repository license
Checked by test_github.py::test_G09.
There is 1 project failing this check up
| Project | Maturity | Status | Days left in the cure period | Discussion |
|---|---|---|---|---|
| QCRAFT AutoScheduler | experimental | Under revision | 101 | discussion |
[G10] The repository license is not (probably) OSI-approved
IMPORTANT · OSS · applies to GitHub projects · cure period: 90 days
GitHub detects a license for the repository, but its SPDX identifier is not one of the OSI-approved ones. This might be a sign that the project is not open source, or that the license is declared in a way that automatic detection cannot match. The case where GitHub detects no license at all is [G09] instead.
Checked by test_github.py::test_G10.
No project is failing this check up
[G11] unmaintained projects should be archived when the repository is on an IBM-controlled organization
STRONG-RECOMMENDATION · ACTIVITY · applies to GitHub projects · cure period: 90 days
Like [G08], projects that are not maintained (that is, member.maturity is as-is or deprecated) should archive their GitHub repositories. When the repository lives in a GitHub organization controlled by IBM, there is nothing standing in the way of doing it, so the recommendation is a stronger one.
Checked by test_github.py::test_G11.
No project is failing this check up
[G12] Have a commit within the last (age * 2/3) months
IMPORTANT · ACTIVITY · applies to GitHub projects · cure period: 60 days
Projects whose GitHub repository is less than 12 months old should have commit activity within the last two thirds of the age of that repository, and in any case within the last 2 months. A project that stops committing this early has little track record to fall back on. Older repositories are covered by the flat window of [G07] instead.
Checked by test_github.py::test_G12.
There are 2 projects failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| qiskit-data-reuploading | experimental | Under revision | 54 |
| HLQuantum | production-ready | Member | 51 |
[I00] IBM-maintained project not in an IBM-controlled GitHub organization
CRITICAL · OSS · applies to IBM-maintained projects · cure period: 0 days
Projects that are maintained by IBM should live in a GitHub organization that is controlled by IBM. This allows, for example, projects to be archived once they are no longer maintained.
Checked by test_ibm_maintained.py::test_I00.
No project is failing this check up
[J00] Julia package without license
RECOMMENDATION · OSS · applies to Julia packages · cure period: 180 days
Every Julia package of the project should declare a license in its metadata. This is about what the package publishes: a repository can have a LICENSE file and still ship packages that declare nothing.
Checked by test_julia.py::test_J00.
There is 1 project failing this check up
| Project | Maturity | Status | Days left in the cure period |
|---|---|---|---|
| QiskitIBMRuntime.jl | experimental | Qiskit Project | 104 |
[J01] The license declared in Julia is (probably) not OSI-approved
IMPORTANT · OSS · applies to Julia packages · cure period: 90 days
The license declared by every Julia package of the project should be an OSI-approved open-source license. The check up matches the declared license against the SPDX identifiers of the OSI-approved ones, so a license spelled in an unusual way can fail it without the project being any less open source. A package declaring no license at all is [J00] instead.
Checked by test_julia.py::test_J01.
No project is failing this check up
[O01] Have a license
CRITICAL · OSS · applies to all · cure period: 0 days
Projects must have a license, somewhere.
Checked by test_license.py::test_O01.
No project is failing this check up
[O02] member.license is not OSI-approved license
IMPORTANT · SUBMISSION · applies to all · cure period: 90 days
member.license could not be found among the OSI-approved licenses.
Checked by test_license.py::test_O02.
No project is failing this check up
[P00] Python package license-related metadata should refer to an OSI-approved license
CRITICAL · OSS · applies to Python packages · cure period: 0 days
The license-related metadata in PyPA should be an OSI-approved open-source license.
This check up is not a test: it is raised by hand, and tracked in the issue that the member file points to.
No project is failing this check up
[P10] Have a cap on the major version for the qiskit dependency
RECOMMENDATION · BEST-PRACTICE · applies to Python packages · cure period: no deadline
As Qiskit follows semantic versioning, not having a cap for the eventual next major version, there is no guarantee that the package will continue working as expected after a major release.
Checked by test_pypi.py::test_P10.
There are 55 projects failing this check up
| Project | Maturity | Status | Days left in the cure period | Discussion |
|---|---|---|---|---|
| MQT Bench | experimental | Member | ∞ | |
| Qclib | production-ready | Member | ∞ | |
| qiskit-data-reuploading | experimental | Under revision | ∞ | |
| Qiskit Qulacs | production-ready | Member | ∞ | |
| qiskit-zksf | production-ready | Very Early Project | ∞ | |
| Importer from OpenQASM 3 to Qiskit | experimental | Qiskit Project | ∞ | |
| Qiskit IonQ Provider | production-ready | Member | ∞ | |
| pytket-qiskit | production-ready | Member | ∞ | |
| Qiskit Finance | production-ready | Member | ∞ | |
| Qiskit Quantum Machines Provider | production-ready | Member | ∞ | |
| Qiskit MCP Servers | experimental | Qiskit Project | ∞ | |
| MQT QCEC | production-ready | Member | ∞ | discussion |
| Qiskit Machine Learning | production-ready | Member | ∞ | |
| piQture | production-ready | Member | ∞ | |
| Qiskit IBM Quantum runtime client | production-ready | Qiskit Project | ∞ | |
| Noisy Quantum Gates | production-ready | Member | ∞ | |
| QuPrep | experimental | Early Project | ∞ | |
| Qiskit Omelyan | bugfixing only | Early Project | ∞ | |
| Qiskit Experiments | production-ready | Member | ∞ | |
| fast-pauli | production-ready | Under revision | ∞ | |
| Qiskit QKD Lab | experimental | Very Early Project | ∞ | |
| MQT ProblemSolver | experimental | Member | ∞ | |
| ffsim | production-ready | Member | ∞ | |
| symbolic-qiskit | production-ready | Under revision | ∞ | |
| qiskit-trev | experimental | Early Project | ∞ | |
| QuPort | production-ready | Early Project | ∞ | |
| Qiberis | experimental | Very Early Project | ∞ | |
| Qiskit StateViz | experimental | Very Early Project | ∞ | |
| Aer | bugfixing only | Qiskit Project | ∞ | discussion |
| qvoting | experimental | Early Project | ∞ | |
| QuPepFold | production-ready | Member | ∞ | |
| arvak-lite | experimental | Early Project | ∞ | |
| quPython | bugfixing only | Member | ∞ | |
| Samplomatic | experimental | Qiskit Project | ∞ | |
| BasisConstructor plugin for Qiskit transpiler | experimental | Qiskit Project | ∞ | |
| qiskit-quimb | production-ready | Member | ∞ | |
| Qamomile | production-ready | Member | ∞ | |
| Qiskit Algorithms | production-ready | Member | ∞ | discussion |
| PurpleCaffeine | production-ready | Member | ∞ | |
| MQT Predictor | experimental | Member | ∞ | |
| qiskit-superstaq | production-ready | Member | ∞ | |
| qBalance | experimental | Early Project | ∞ | |
| autoq-qec | experimental | Very Early Project | ∞ | |
| qiskit-gym | experimental | Member | ∞ | |
| MQT QMAP | production-ready | Member | ∞ | |
| quantum-learn | experimental | Member | ∞ | |
| MQT QECC | production-ready | Member | ∞ | |
| MQT DDSIM | production-ready | Member | ∞ | |
| M3 | experimental | Qiskit Project | ∞ | |
| MQT Core | production-ready | Member | ∞ | |
| qiskit-symb | production-ready | Member | ∞ | |
| Qiskit Graph Walks | experimental | Very Early Project | ∞ | |
| qiskit-qubit-reuse | production-ready | Member | ∞ | |
| Prefect Qiskit Plugin | experimental | Member | ∞ | |
| HLQuantum | production-ready | Member | ∞ |
2 Alumni projects also failed this check up
[P11] Production-ready projects should have, at least, one stable Python package
STRONG-RECOMMENDATION · OUT-OF-DATE · applies to Python packages · cure period: 90 days
If the project maturity level is production-ready then, at least one of the Python packages should have a Development Status classifier that is None, Production/Stable, or Mature.
Checked by test_pypi.py::test_P11.
No project is failing this check up
[P12] PyPI package without license
RECOMMENDATION · OSS · applies to Python packages · cure period: 180 days
The Python package does not have a license declared in PyPI.
Checked by test_pypi.py::test_P12.
There are 10 projects failing this check up
| Project | Maturity | Status | Days left in the cure period | Discussion |
|---|---|---|---|---|
| Qclib | production-ready | Member | 101 | |
| pytket-qiskit | production-ready | Member | 101 | |
| Qiskit Functions Catalog IBM Client | production-ready | Qiskit Project | 167 | |
| Qiskit Omelyan | bugfixing only | Early Project | 109 | |
| fast-pauli | production-ready | Under revision | 101 | discussion |
| Bosonic Qiskit | production-ready | Member | 101 | |
| Qamomile | production-ready | Member | 101 | |
| Fulqrum | experimental | Early Project | 174 | discussion |
| qiskit-gym | experimental | Member | 167 | |
| qiskit-pasqal-provider | experimental | Member | 144 | discussion |
1 Alumni project also failed this check up
1 project with an explanation for this check up
| Project | Maturity | Status | Explanation | Explanation expires in | Discussion |
|---|---|---|---|---|---|
| Dice eigensolver | experimental | Qiskit Project | PR with fix was merged, but not yet released to PyPI | 99 days | discussion |
[P13] The license declared in PyPI is (probably) not OSI-approved
IMPORTANT · OSS · applies to Python packages · cure period: 90 days
The license declared in PyPI by every Python package of the project should be an OSI-approved open-source license. The check up matches the declared license against the SPDX identifiers of the OSI-approved ones, so a license spelled in an unusual way can fail it without the project being any less open source. A package declaring no license at all is [P12] instead.
Checked by test_pypi.py::test_P13.
No project is failing this check up
[PQ1] Be installable with qiskit>=1.0
LEGACY · OUT-OF-DATE · applies to Python packages · cure period: no deadline
Python packages that depend on Qiskit SDK, there should exist a supported release that is compatible with the Qiskit SDK v1.0 or newer.
Checked by test_pypi.py::test_PQ1.
No project is failing this check up
[PQ2] Be installable with qiskit>=2.0
IMPORTANT · OUT-OF-DATE · applies to Python packages · cure period: 90 days
Python packages that depend on Qiskit SDK, there should exist a supported release that is compatible with the Qiskit SDK v2.0 or newer.
Checked by test_pypi.py::test_PQ2.
No current member is failing this check up
9 Alumni projects also failed this check up
[Q20] Be compatible with the Qiskit SDK v2 or newer
CRITICAL · GENERAL · applies to all · cure period: 0 days
If the software depends on Qiskit SDK in some way, there should exist a supported release that is compatible with the Qiskit SDK v2.0 or newer. This applies to Python packages and to other forms of dependencies.
Checked by test_general.py::test_Q20.
No current member is failing this check up