Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-28 14:52 UTC

Qiskit / qiskit-qasm3-import

Importer from OpenQASM 3 to Qiskit's QuantumCircuit

PythonApache-2.0★ 27 stars⑂ 10 forkssince Nov 2022View on GitHub ↗

Qiskit/qiskit-qasm3-import holds a health index of 64 out of 100, placing it in the Moderate band. It scores highest on Engineering Quality (89/100) and lowest on Security (46/100). It was last updated 7 days ago. A single contributor accounts for most of its recent work.

64
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

64
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

QiskitOrganization
4,002 followers56 public repossince Aug 2017

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
PyPIqiskit-qasm3-import0.6.0212,58010412 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

56Moderate · 22% of overall
How it's scored
36/36Push recency — last push 7 days ago
5.5/36Commit cadence — 8/52 weeks with commits
10.8/18Commit volume — 15 commits in the last year
0/10OpenSSF Scorecard: Maintained — no data
Inputs used
commits_last_year15
human_commit_share0.729
days_since_last_push7
active_weeks_last_year8
How it's scored
27/27Ships releases — 7 releases published
0/36Release recency — latest release 769 days ago
19.8/27Release cadence — a release every ~97.8 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count7
latest_release_tagv0.5.0
releases_from_tagsno
days_since_latest_release769
mean_days_between_releases97.8

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

66Moderate · 18% of overall
How it's scored
23/60Stars — 27 stars
8/25Forks — 10 forks
5.3/15Watchers — 10 watchers
Inputs used
forks10
stars27
watchers10
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Community health

85Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateno
How it's scored
71/80Monthly downloads — 212,580 downloads/month across pypi
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesqiskit-qasm3-import
dependents
ecosystemspypi
total_downloads
monthly_downloads212,580
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

60Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
3.7/22.5Commit distribution — top contributor authored 84% of commits
6.8/13.5Contributor breadth — 5 contributors
0/10OpenSSF Scorecard: Contributors — no data
Inputs used
bus_factor1
contributors_sampled5
top_contributor_share0.837
How it's scored
22/46.8Issue resolution — 47% of issues closed
38.2/38.3PR acceptance — 46/46 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — no data
Inputs used
merged_prs46
open_issues9
closed_issues8
issue_closed_ratio0.471
closed_unmerged_prs0
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
25/25Owner reach — 4,002 followers of Qiskit
24.8/25Track record — 56 public repos, account ~8 yr old
Inputs used
followers4,002
owner_typeOrganization
is_verified
owner_loginQiskit
public_repos56
account_age_days3,281
How it's scored
25/25Published & resolvable — 1 package(s) on pypi
14/35Publish recency — latest publish 412 days ago
20/20Version history — 10 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesqiskit-qasm3-import
ecosystemspypi
any_deprecatedno
min_days_since_publish412

Engineering Quality

Are baseline engineering and documentation practices in place?

89Excellent · 20% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
16/16Linter config — tox.ini
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configyes
has_precommit_configno

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://qiskit.github.io/qiskit-qasm3-import
10/10Repository description
10/10Topics — 3 topics
0/10Wiki
Inputs used
topicsopenqasm, qiskit, quantum-computing
has_wikino
homepagehttps://qiskit.github.io/qiskit-qasm3-import
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

46At risk · 16% of overall
How it's scored
0/30Security policy (SECURITY.md)
25/25Dependabot config
0/25Dependency lockfiles — published library — lockfiles are an application concern, not expected
0/20CodeQL workflow
Inputs used
sourcefile_signals
lockfiles
manifestspyproject.toml, requirements-dev.txt, setup.cfg
has_codeql_workflowno
has_security_policyno
has_dependabot_configyes
Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
25/25Indirect dependencies free of known advisories — no indirect dependency carries a known advisory
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories0
affected_packages0
assessed_packages9
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:qiskit-qasm3-import@0.6.0 runtime dependency closure — what installing the published package pulls in — 9 packages. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

65Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
39.7/40Legible commit history — 32 of 43 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.744
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — docs/Makefile
22/22Automated tests
11/11Lint / format config — tox.ini
11/11Static type checking — src/qiskit_qasm3_import/py.typed
0/10Reproducible environment
0/10Demonstrated agent practice — no agent-authored commits among the last 59
8/8Automated maintenance — 16 of the last 59 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — no data
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageno
bootstrap_filesdocs/Makefile
has_devcontainerno
has_linter_configyes
typecheck_configssrc/qiskit_qasm3_import/py.typed
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0.271
How it's scored
27/45Type-checkable code — Python with type-check config (src/qiskit_qasm3_import/py.typed)
55/55Manageable file sizes — 0/13 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes33,697
source_files_sampled13
oversized_source_files0

Key facts

27GitHub stars
5contributors
15commits, last 12 months
7days since last push
7releases
1bus factor
9open issues
PyPIpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • OpenSSF Scorecard timed out after 240s; skipping Scorecard checks

More detail

Star and fork history 0 ★ / 10 ⇿
0Stars
10Forks
6Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

02468101022022-112024-082026-05
Major 0Minor 4Patch 2

Each point covers 4 days.

Direct dependencies 2
RegistryPackageVersion constraintManifest
PyPIqiskit>=0.37.0setup.cfg
PyPIopenqasm3>=0.4,<2.0setup.cfg
All dependencies 7

Full resolved dependency set from the GitHub dependency graph: 0 direct and 7 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
PyPIblackindirect
PyPIpackagingindirect
PyPIpylintindirect
PyPIpytestindirect
PyPIqiskit-sphinx-themeindirect
PyPIrenoindirect
PyPIsphinxindirect
Dependency advisories 0

Installing pypi:qiskit-qasm3-import@0.6.0 pulls in 9 packages, direct and transitive: 0 carry known advisories, of which 0 are direct dependencies.

No known advisories affect the assessed dependencies.

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "openqasm",
        "qiskit",
        "quantum-computing"
      ],
      "is_fork": false,
      "size_kb": 157,
      "has_wiki": false,
      "homepage": "https://qiskit.github.io/qiskit-qasm3-import",
      "languages": {
        "Python": 131399
      },
      "pushed_at": "2026-07-21T07:15:42Z",
      "created_at": "2022-11-09T20:33:03Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T07:17:07Z",
      "description": "Importer from OpenQASM 3 to Qiskit's QuantumCircuit",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": "https://www.ibm.com/quantum/qiskit",
      "name": "Qiskit",
      "type": "Organization",
      "login": "Qiskit",
      "company": null,
      "location": null,
      "followers": 4002,
      "avatar_url": "https://avatars.githubusercontent.com/u/30696987?v=4",
      "created_at": "2017-08-03T14:41:01Z",
      "is_verified": null,
      "public_repos": 56,
      "account_age_days": 3281
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": null,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2024-06-18T17:29:04Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2024-03-14T17:20:31Z"
        },
        {
          "tag": "v0.4.1",
          "kind": "patch",
          "published_at": "2023-11-16T11:43:50Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2023-11-16T11:43:37Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2023-10-20T09:19:03Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2023-10-20T09:18:51Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2022-11-10T01:55:11Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "5c11e762f70fa19391045f273799d7b0abcdc488",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 6 to 7 (#66)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T07:07:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b00f99e6fd46b9f3936a70b5507d5a38ac66a05f",
          "body": "Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-python from 6 to 7 (#67)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T06:49:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6cb8c3ee31d45213ca4a3ad455ecd9e26b02d621",
          "body": "Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 4 to 5.\n- [Release notes](https://github.com/actions/upload-pages-artifact/releases)\n- [Commits](https://github.com/actions/upload-pages-artifact/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-pages-artifact from 4 to 5 (#65)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-17T17:24:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1e21be8a009731dc527bf9b4343d0d138ab27b8d",
          "body": "Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5.\n- [Release notes](https://github.com/actions/deploy-pages/releases)\n- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/deploy-pages\n  dependency-\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/deploy-pages from 4 to 5 (#64)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-17T17:13:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8203a7e4eb293fff105f23a955595c565e17669b",
          "body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifac\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-artifact from 6 to 7 (#62)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-17T17:13:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "89c177e88cbdd55c6e77278e8705600ca9a9720c",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)\n\n---\nupdated-dependencies:\n- dependency-name: actions/downlo\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/download-artifact from 7 to 8 (#63)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-17T17:12:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0ffc235d160d5d7d6f7a98c382b307d983b70d6",
          "body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifac\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-artifact from 5 to 6 (#61)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-06T15:52:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "23197d337f39a092e0e2ecc2e012b420f063e259",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/downlo\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/download-artifact from 6 to 7 (#60)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-06T15:52:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "da5442f7d64e4c60c340d275e9e4b18c1552fd4b",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v5...v6)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 5 to 6 (#59)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-25T08:05:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f97d7374a92ad9b1cbaa5bd424473ca95f49cef2",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/downlo\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/download-artifact from 5 to 6 (#56)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-28T07:54:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "22d569eb323334e9f7a0e01d8d966928abf01e0a",
          "body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifac\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-artifact from 4 to 5 (#57)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-28T07:53:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6cb848fdf8755962540ba320808ce1ed6ea11a58",
          "body": "Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-python from 5 to 6 (#55)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-09T06:49:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "81075d8884630a7528dad9265afa99d243bb1b52",
          "body": "Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 4.\n- [Release notes](https://github.com/actions/upload-pages-artifact/releases)\n- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-pages-artifact from 3 to 4 (#54)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-26T14:41:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "816a07d2b215900d2e8612b5569df132a78eb1ed",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/downlo\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/download-artifact from 4 to 5 (#53)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-12T11:22:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d32bc1fb23ee08acaf607aa8b247462fb1792984",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v5)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 4 to 5 (#52)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-12T09:15:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a63dd60c9c0ac39467eb2833250c1aae71684805",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.6.0 release (#51)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-06-09T13:54:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7e98bb6c1640d27d194502fe8ad1d01f8ce207f",
          "body": "This uses the custom OpenQASM 3 serialisers defined in Qiskit 2.1 (along\nwith the entire annotation frameworkd, defined in that release) to\nhandle annotated boxes and pass them along to Qiskit.",
          "is_bot": false,
          "headline": "Add support for annotated boxes in Qiskit 2.1 (#50)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-06-05T15:16:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f7a5cc9e17ee571bd41ef43db89210a288780b9",
          "body": "* Add version-parts tuple\n\nSince the API will be expanding a little in new versions, this makes it\neasier for Qiskit to do some simple capability negotiation in the\nversioning.\n\n* Use dynamic logic for VERSION_PARTS",
          "is_bot": false,
          "headline": "Add version-parts tuple (#49)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-06-04T12:46:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15710b4e41711e3e15d5f6769df622396940951e",
          "body": "* Add support for `box` with suitable Qiskit versions\n\n`box` is a simple control-flow operation, so there's very little\ncomplexity here.\n\n* Fix lint",
          "is_bot": false,
          "headline": "Add support for `box` with suitable Qiskit versions (#47)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-06-04T12:37:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e2fa2c2fca55e27c14fb9af6de381b9d92c4c41",
          "body": null,
          "is_bot": false,
          "headline": "Update intersphinx mapping and others URLs pointing to IQP Classic (#48)",
          "author_name": "Arnau Casau",
          "author_login": "arnaucasau",
          "committed_at": "2025-06-03T21:29:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea271e1c6127e65b3f386737c0f1ff6a25a97ebd",
          "body": "Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 1 to 3.\n- [Release notes](https://github.com/actions/upload-pages-artifact/releases)\n- [Commits](https://github.com/actions/upload-pages-artifact/compare/v1...v3)\n\n---\nupdated-dependencies:\n- dependency-name\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-pages-artifact from 1 to 3 (#46)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-02-18T23:58:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d4c7b6997554d43a711efff7c316828285f263b",
          "body": null,
          "is_bot": false,
          "headline": "Switch to PyPI trusted-publisher setup for deployment (#44)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-02-18T20:43:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ef1ce3726b0719eae5cea113f9dfbfe7f217e1f",
          "body": null,
          "is_bot": false,
          "headline": "Configure CI to run in merge queue (#45)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-02-18T20:44:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c0fd5fb0881aaaa5c748fa6b9b081702791c175",
          "body": null,
          "is_bot": false,
          "headline": "Add basic dependabot configuration (#43)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-02-18T20:17:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b214d6b16aa573d8d7427708b6c6c02d7e9ad84f",
          "body": "* Run tests against Qiskit `main`\n\nThis is mostly temporary to have a version of the test suite that runs\nagainst the upcoming Qiskit 2.  This will enable testing of some new\nfeatures that will only be supported from that version onwards.\n\n* Update test for new Qiskit delay comparison",
          "is_bot": false,
          "headline": "Run tests against Qiskit `main` (#41)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-02-18T20:17:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a94257baf4c0e26b99a4f24af985b5e7ac35022",
          "body": null,
          "is_bot": false,
          "headline": "Update versions of GitHub-published actions used (#42)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2025-02-18T18:46:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da0b82ab6a0d500eb391379f970c8b647e64feaf",
          "body": "The only user-facing change is that the requirements on the `openqasm3`\r\npackage are now much wider, since it is semver stable.  Little\r\nmeaningful changed between its version 0.4 and its 1.0 release, for us\r\nat least.",
          "is_bot": false,
          "headline": "Prepare 0.5.1 release (#39)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-11-15T14:29:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67de4334fefcc03242c12b1f2db6583721b161c5",
          "body": "* Bump openqasm3[parser] dependency to >=0.4,<1.1.0\r\n\r\n* Update setup.cfg",
          "is_bot": false,
          "headline": "Bump openqasm3[parser] dependency to >=0.4,<2.0 (#38)",
          "author_name": "Ryan Hill",
          "author_login": "ryanhill1",
          "committed_at": "2024-10-29T23:48:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3992850e4bacc146cc03719965a68589fdf1f35",
          "body": "The release notes were always written, just not hooked into the actual\r\nSphinx structure.",
          "is_bot": false,
          "headline": "Add release notes to docs build (#37)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-06-19T08:45:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fb0091a38b9e12023eaad436b4fbccec4a2c3a9",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.5.0 release (#36)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-06-13T09:11:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "286176e56ea90341df63cff225c92b8000da17e6",
          "body": "* Allow float/angle interaction in gate-parameter contexts\r\n\r\nThis allows technically invalid OpenQASM 3, but is in practice what\r\nQiskit's OpenQASM 3 exporter outputs due to problems in how it\r\nrepresents symbolic expressions.  It's probably better for users to\r\nallow the technically invalid OpenQA\n[…]\nas the multiplication/division part. While it's much\r\nless likely for these to appear from the Qiskit export, it makes sense\r\nto allow them in non-strict mode for symmetry.\r\n\r\n* Comment on strict mode",
          "is_bot": false,
          "headline": "Allow float/angle interaction in gate-parameter contexts (#35)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-06-13T09:07:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8aafe7cf51fd7634e83a80769514dc4371359b10",
          "body": "Using private methods of `QuantumCircuit` to force tracking of unused\r\n`Parameter` instances resulting in the cleanest circuit output, but was\r\nfragile against Qiskit changing the private data structure internals.\r\nThis has been a real problem as Qiskit moves more of the internal data\r\ntracking down\n[…]\nusers.  The only place where this should appear to users is\r\nif there is an `input float` that is unused.  In these cases, a dummy\r\nreference will be inserted into the global phase that has no effect.",
          "is_bot": false,
          "headline": "Avoid private methods when adding unused `Parameter`s (#34)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-06-05T07:42:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6e5b88a38eaced15b07756a748edb38598cbcaf2",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.4.2 release (#31)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-03-14T17:18:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3afada35f1a70a73f29ec4de7821f53fe5ff78ee",
          "body": "This matches other Qiskit projects.  They originally weren't in these\r\nfiles because the project wasn't originally going to be managed by the\r\nQiskit organisation, but was just a proof of concept.",
          "is_bot": false,
          "headline": "Add licence headers (#29)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-03-14T16:47:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a56e97055d5ee7836351b791c086e9482996a224",
          "body": "This fixes the output of programs that involve hardware qubits to the\r\nform more standard to how Qiskit represents physical circuits.  Now, the\r\noutput circuit will have as many qubits as the maximum hardware qubit\r\nexplicitly used, even if the lower qubits are not used.  The\r\n`TranspileLayout` will\n[…]\nandable to other tools, and the model of the \"physical\"\r\ncircuit not directly having its bit indices correspond to the hardware\r\nqubit index was at odds with Qiskit's usual model of physical circuits.",
          "is_bot": false,
          "headline": "Fix layout output with hardware qubits (#30)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2024-03-14T16:45:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1f8108898249b79e5f7397f65b3c3adcdcf65c95",
          "body": null,
          "is_bot": false,
          "headline": "Update Intersphinx for Qiskit (#26)",
          "author_name": "Eric Arellano",
          "author_login": "Eric-Arellano",
          "committed_at": "2024-02-12T19:58:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4993813da904f75c67f4b6e156097c5395c8aaf3",
          "body": "The pin to `qiskit<1.0` prevents this from being used on Qiskit's main\nbranch during its tests.  Since this package actually does support\nQiskit 1.0 already, it is safe to relax the pin.",
          "is_bot": false,
          "headline": "Prepare 0.4.1 release",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-11-16T11:37:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c818f6a9f0c4869bcb16b4c3019ecd835e4e642",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.4.0 release (#23)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-11-16T09:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c21310f19f373d9849144b87bab383cf3511d3bf",
          "body": "The preferred install path for Qiskit is now the `qiskit` Python\r\npackage, and the \"component\" `qiskit-terra` is no longer preferred and\r\nexpected to be removed with Qiskit 1.0.  This updates the dependencies\r\nto refer to the minimum supported version of the `qiskit` package\r\ninstead; the lowest version of that will now install more than is\r\ncompletely required, but all latest versions are correct, and will be\r\ncorrect moving forwards.",
          "is_bot": false,
          "headline": "Update dependencies to reflect new Qiskit structure (#21)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-11-15T10:19:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c26ca0281f13b819eb631708605e128eef04773f",
          "body": "Qiskit adding the concept of immutable instructions means that we no\r\nlonger hard require all gates to be separate Python objects to be safe\r\nagainst mutation.",
          "is_bot": false,
          "headline": "Fix test of operation immutability (#22)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-11-15T10:12:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08ff2a8f8a15caae7e044a7e211074ebe0724bb8",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.3.0 release (#19)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-10-19T20:00:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3bbc9c6028df6ec587d02ccb569ace147bdb9d4",
          "body": "* Update Sphinx theme\r\n\r\n* contents directive removed",
          "is_bot": false,
          "headline": "Update Sphinx theme (#18)",
          "author_name": "Arnau Casau",
          "author_login": "arnaucasau",
          "committed_at": "2023-10-19T19:56:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d29d02be078cc3f30df7aab98664a23b191e766",
          "body": null,
          "is_bot": false,
          "headline": "Add support for `!` on scalar `bit` types (#17)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-09-15T20:16:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5512ee72aa1344c6af51a36377c825d7b002e77",
          "body": null,
          "is_bot": false,
          "headline": "Update openqasm3[parser] requirement (#16)",
          "author_name": "Ryan Hill",
          "author_login": "ryanhill1",
          "committed_at": "2023-09-11T09:01:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c24bdd72e9784d7d8cc883c9fbf049fa7cc43c3",
          "body": null,
          "is_bot": false,
          "headline": "Prepare 0.2.0 release",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-04-28T15:15:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89a5c51a693128c059e8e822680362e4e8961eab",
          "body": "* Fix implicit integer to float promotions in binary operators\r\n\r\nThis permits expressions such as `3 * pi / 4`; the OpenQASM 3\r\nspecification defers to the C promotion rules, which allow this.\r\nPreviously they were incorrectly forbidden by this converter.\r\n\r\n* Fix lint",
          "is_bot": false,
          "headline": "Fix implicit integer to float promotions in binary operators (#7)",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-04-28T14:59:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7f4d7be788eaf6cba274c0e974e2846bda17efa",
          "body": "* Add support for physical qubits\r\n\r\n* Remove unneeded check for param equal to None in ValueResolver.visit\r\n\r\n* Split tests into separate functions\r\n\r\n* Remove exploratory method\r\n\r\n* Remove commented out cruft in OQ code\r\n\r\n* Move AddressingMode\r\n\r\n* Add HardwareQubit\r\n\r\n* Simplify generating layo\n[…]\nases performance by a factor of 1.5 or 2.\r\nSetting when already set takes about 65ns vs 120ns.\r\nProbably not a bottleneck at the moment.\r\n\r\n---------\r\n\r\nCo-authored-by: Jake Lishman <jake@binhbar.com>",
          "is_bot": false,
          "headline": "Add support for physical qubits (#2)",
          "author_name": "John Lapeyre",
          "author_login": "jlapeyre",
          "committed_at": "2023-04-28T14:34:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "246e999573c0d7a2162b779d9525b8b5b79c3cf0",
          "body": "There seem to be some unfortunate bugs around implicit `__init__`\nmethods and the `abc` module when using pylint 2.14 with Python 3.11.\nThese are fixed in the 2.15 series.",
          "is_bot": false,
          "headline": "Update pylint to 2.15 series",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-01-25T22:31:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6ed23e267d5948e182cf6edee027eca5710622e",
          "body": null,
          "is_bot": false,
          "headline": "Add overlooked edits to file copied from elsewhere (#3)",
          "author_name": "John Lapeyre",
          "author_login": "jlapeyre",
          "committed_at": "2023-01-25T16:41:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7efa3943ae20af8e676f2e8afd17373fc26e0160",
          "body": null,
          "is_bot": false,
          "headline": "Update links and actions for new repo owner",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2023-01-19T13:41:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a923f0b0e6061ded989cb7f735090a578856213",
          "body": null,
          "is_bot": false,
          "headline": "Correct typos in public files",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T16:01:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da9d87d73dfc63591d668b7eb9ef825352143c75",
          "body": null,
          "is_bot": false,
          "headline": "Add documentation links",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:53:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b22b28ef0e5eb0c14e2b81d7ed5872f1bf7378f2",
          "body": null,
          "is_bot": false,
          "headline": "Remove Sphinx detritus from upload",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:47:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b63087ba842d8e52c0707e372029e6ac98e548d",
          "body": null,
          "is_bot": false,
          "headline": "Add deployment pipeline",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:38:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b333697432085117504e331b4ad4b4ac7383fb7f",
          "body": null,
          "is_bot": false,
          "headline": "Fix typing on Python 3.8",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcd7f638483dc9603c82c9dd2bf788f48d285d96",
          "body": null,
          "is_bot": false,
          "headline": "Fill out remaining documentation",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba521d08f86262090b174ede38bbb54c6bb357cb",
          "body": null,
          "is_bot": false,
          "headline": "Add CI pipeline",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-10T01:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1803659388a0495235df94a9ba4e470c258191f",
          "body": null,
          "is_bot": false,
          "headline": "Correct mistakes in README",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-09T23:34:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "609c0307f68aa804d90d9ce9094dc244132db697",
          "body": null,
          "is_bot": false,
          "headline": "Initial commit of OQ3 to Qiskit importer",
          "author_name": "Jake Lishman",
          "author_login": "jakelishman",
          "committed_at": "2022-11-09T20:32:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 7,
      "commits_last_year": 15,
      "latest_release_at": "2024-06-18T17:29:04Z",
      "latest_release_tag": "v0.5.0",
      "releases_from_tags": false,
      "days_since_last_push": 7,
      "active_weeks_last_year": 8,
      "days_since_latest_release": 769,
      "mean_days_between_releases": 97.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "qiskit-qasm3-import",
          "exists": true,
          "license": "Apache 2.0 License",
          "keywords": [],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/qiskit-qasm3-import/",
          "is_deprecated": false,
          "latest_version": "0.6.0",
          "repository_url": "https://github.com/Qiskit/qiskit-qasm3-import",
          "versions_count": 10,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 212580,
          "first_published_at": "2022-11-10T01:35:24.021974Z",
          "latest_published_at": "2025-06-10T16:34:11.287628Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 412
        }
      ]
    },
    "popularity": {
      "forks": 10,
      "stars": 27,
      "watchers": 10,
      "fork_history": {
        "days": [
          {
            "date": "2022-11-28",
            "count": 1
          },
          {
            "date": "2023-01-24",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-09-09",
            "count": 1
          },
          {
            "date": "2023-09-11",
            "count": 1
          },
          {
            "date": "2023-09-25",
            "count": 1
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2026-05-16",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 10,
        "total_forks": 10
      },
      "star_history": null,
      "open_issues_and_prs": 9
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "docs/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "src/qiskit_qasm3_import/py.typed"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 33697,
      "source_files_sampled": 13,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pyproject.toml",
        "requirements-dev.txt",
        "setup.cfg"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 9,
        "malicious_count": 0,
        "assessed_package": "pypi:qiskit-qasm3-import@0.6.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "qiskit",
          "manifest": "setup.cfg",
          "ecosystem": "pypi",
          "version_constraint": ">=0.37.0"
        },
        {
          "name": "openqasm3",
          "manifest": "setup.cfg",
          "ecosystem": "pypi",
          "version_constraint": ">=0.4,<2.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "black",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "qiskit-sphinx-theme",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "reno",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 7,
        "direct_count": 0,
        "indirect_count": 7
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 46,
        "open_issues": 9,
        "closed_ratio": 0.471,
        "closed_issues": 8,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "jakelishman",
          "commits": 36,
          "avatar_url": "https://avatars.githubusercontent.com/u/5968590?v=4"
        },
        {
          "type": "User",
          "login": "arnaucasau",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/47946624?v=4"
        },
        {
          "type": "User",
          "login": "jlapeyre",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/1969884?v=4"
        },
        {
          "type": "User",
          "login": "ryanhill1",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/46977852?v=4"
        },
        {
          "type": "User",
          "login": "Eric-Arellano",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/14852634?v=4"
        }
      ],
      "contributors_sampled": 5,
      "top_contributor_share": 0.837
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "deploy.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "tox.ini"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": null,
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-27T23:23:38Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-21T07:15:34Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 5,
          "created_at": "2023-02-16T14:47:47Z",
          "last_comment_at": "2023-02-16T20:23:40Z",
          "last_comment_author": "jakelishman"
        },
        {
          "number": 8,
          "created_at": "2023-02-19T13:52:21Z",
          "last_comment_at": "2023-02-20T16:33:38Z",
          "last_comment_author": "jakelishman"
        },
        {
          "number": 10,
          "created_at": "2023-03-17T23:54:41Z",
          "last_comment_at": "2023-03-18T02:38:10Z",
          "last_comment_author": "jwoehr"
        },
        {
          "number": 11,
          "created_at": "2023-05-30T07:23:06Z",
          "last_comment_at": "2023-10-20T16:39:04Z",
          "last_comment_author": "eginez"
        },
        {
          "number": 12,
          "created_at": "2023-05-31T17:47:07Z",
          "last_comment_at": "2023-06-01T09:55:15Z",
          "last_comment_author": "jakelishman"
        },
        {
          "number": 13,
          "created_at": "2023-06-12T17:51:36Z",
          "last_comment_at": "2025-03-31T11:50:38Z",
          "last_comment_author": "jakelishman"
        },
        {
          "number": 15,
          "created_at": "2023-08-24T12:30:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 24,
          "created_at": "2023-11-16T16:32:33Z",
          "last_comment_at": "2023-11-17T22:34:24Z",
          "last_comment_author": "jakelishman"
        },
        {
          "number": 58,
          "created_at": "2025-11-08T18:37:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Qiskit/qiskit-qasm3-import",
    "host": "github.com",
    "name": "qiskit-qasm3-import",
    "owner": "Qiskit"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 64,
      "inputs": {
        "security": 46,
        "vitality": 56,
        "community": 66,
        "governance": 60,
        "engineering": 89
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 56,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "commits_last_year": 15,
              "human_commit_share": 0.729,
              "days_since_last_push": 7,
              "active_weeks_last_year": 8
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 7 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "8/52 weeks with commits",
                "points": 5.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 8
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "15 commits in the last year",
                "points": 10.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "releases_count": 7,
              "latest_release_tag": "v0.5.0",
              "releases_from_tags": false,
              "days_since_latest_release": 769,
              "mean_days_between_releases": 97.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "7 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 769 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 769
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~97.8 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 97.8
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "dormant",
              "guards": [
                "dependencies_clean"
              ],
              "signals": [
                "release_stall"
              ],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 0,
              "unanswered_open_issues": 3,
              "days_since_last_merged_pr": 7,
              "days_since_last_human_commit": 414,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 414 days, with nothing left unanswered; held at dormant by no affected dependency",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_quiet",
                    "params": {
                      "days": 414
                    }
                  },
                  {
                    "code": "abandonment_guarded",
                    "params": {
                      "guards": "no affected dependency"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 66,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 36,
            "inputs": {
              "forks": 10,
              "stars": 27,
              "watchers": 10,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "27 stars",
                "points": 23,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "10 forks",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "10 watchers",
                "points": 5.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 89,
            "inputs": {
              "packages": [
                "qiskit-qasm3-import"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 212580
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "212,580 downloads/month across pypi",
                "points": 71,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 212580,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 60,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 5,
              "top_contributor_share": 0.837
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 84% of commits",
                "points": 3.7,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 84
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "5 contributors",
                "points": 6.8,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "merged_prs": 46,
              "open_issues": 9,
              "closed_issues": 8,
              "issue_closed_ratio": 0.471,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "47% of issues closed",
                "points": 22,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 47
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "46/46 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 46,
                      "decided": 46
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 4002,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Qiskit",
              "public_repos": 56,
              "account_age_days": 3281
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "4,002 followers of Qiskit",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4002,
                      "login": "Qiskit"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "56 public repos, account ~8 yr old",
                "points": 24.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 56
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "packages": [
                "qiskit-qasm3-import"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 412
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 412 days ago",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 412
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "10 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 89,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "tox.ini",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tox.ini"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "openqasm",
                "qiskit",
                "quantum-computing"
              ],
              "has_wiki": false,
              "homepage": "https://qiskit.github.io/qiskit-qasm3-import",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://qiskit.github.io/qiskit-qasm3-import",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "3 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dependency_lockfiles"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 33,
            "inputs": {
              "source": "file_signals",
              "lockfiles": [],
              "manifests": [
                "pyproject.toml",
                "requirements-dev.txt",
                "setup.cfg"
              ],
              "has_codeql_workflow": false,
              "has_security_policy": false,
              "has_dependabot_config": true
            },
            "components": [
              {
                "key": "security_policy_security_md",
                "name": "Security policy (SECURITY.md)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "dependabot_config",
                "name": "Dependabot config",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "dependency_lockfiles",
                "name": "Dependency lockfiles",
                "detail": "published library — lockfiles are an application concern, not expected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "lockfiles_not_expected",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "codeql_workflow",
                "name": "CodeQL workflow",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:qiskit-qasm3-import@0.6.0 runtime dependency closure — what installing the published package pulls in — 9 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:qiskit-qasm3-import@0.6.0",
                  "assessed": 9
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 9,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 9,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 7
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 65,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.744,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "32 of 43 human commits state their intent (structured subject or explanatory body)",
                "points": 39.7,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 32,
                      "sampled": 43
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [
                "docs/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "src/qiskit_qasm3_import/py.typed"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.271
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "docs/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "docs/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "tox.ini",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tox.ini"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "src/qiskit_qasm3_import/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "src/qiskit_qasm3_import/py.typed"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 59",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 59
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "16 of the last 59 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 16,
                      "sampled": 59
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 33697,
              "source_files_sampled": 13,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (src/qiskit_qasm3_import/py.typed)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "src/qiskit_qasm3_import/py.typed",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/13 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 13,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "OpenSSF Scorecard timed out after 240s; skipping Scorecard checks"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-28T14:52:26.935502Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/q/Qiskit/qiskit-qasm3-import.svg",
  "full_name": "Qiskit/qiskit-qasm3-import",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsPyPI.