Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-29 17:58 UTC

quantumlib / Cirq

Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.

PythonApache-2.0★ 5,026 stars⑂ 1,252 forkssince Dec 2017View on GitHub ↗

quantumlib/Cirq holds a health index of 87 out of 100, placing it in the Excellent band. It scores highest on Vitality (90/100) and lowest on AI Readiness (58/100). It was last updated today. 6 contributors account for most of its recent work.

87
overall / 100
Excellent

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.

87
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

QuantumlibOrganization
1,401 followers17 public repossince Aug 2017

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

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
PyPIcirq1.7.0-2,72929 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-aqt1.7.0-2,36729 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-web1.7.0-2,33229 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-core1.7.0-2,44729 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-ionq1.7.0107,4712,35629 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-google1.7.0-2,45129 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation
PyPIcirq-pasqal1.7.0-2,33629 days agoalgorithmsapicirqgooglegoogle-quantumnisqpythonquantumquantum-algorithmsquantum-circuitquantum-circuit-simulatorquantum-computer-simulatorquantum-computingquantum-development-kitquantum-informationquantum-programmingquantum-programming-languagequantum-simulationsdksimulation

Metrics by category

Vitality

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

90Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
36/36Commit cadence — 52/52 weeks with commits
18/18Commit volume — 408 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year408
human_commit_share0.97
days_since_last_push0
active_weeks_last_year52
How it's scored
27/27Ships releases — 31 releases published
36/36Release recency — latest release 28 days ago
12.6/27Release cadence — a release every ~160.3 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count31
latest_release_tagv1.7.0
releases_from_tagsno
days_since_latest_release28
mean_days_between_releases160.3

Community & Adoption

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

90Excellent · 18% of overall
How it's scored
60/60Stars — 5,026 stars
25/25Forks — 1,252 forks
12.7/15Watchers — 191 watchers
Inputs used
forks1,252
stars5,026
watchers191
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
67.1/80Monthly downloads — 107,471 downloads/month across pypi
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagescirq, cirq-aqt, cirq-web, cirq-core, cirq-ionq, cirq-google, cirq-pasqal
dependents
ecosystemspypi
total_downloads
monthly_downloads107,471
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?

89Excellent · 24% of overall
How it's scored
48.6/54Bus factor — 6 contributor(s) cover half of all commits
19.8/22.5Commit distribution — top contributor authored 12% of commits
13.5/13.5Contributor breadth — 99 contributors
10/10OpenSSF Scorecard: Contributors — project has 17 contributing companies or organizations
Inputs used
bus_factor6
contributors_sampled99
top_contributor_share0.121
How it's scored
45/46.8Issue resolution — 96% of issues closed
32.3/38.3PR acceptance — 4,799/5,682 decided PRs merged
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs4,799
open_issues92
closed_issues2,395
issue_closed_ratio0.963
closed_unmerged_prs883
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
22.6/25Owner reach — 1,401 followers of quantumlib
21.1/25Track record — 17 public repos, account ~8 yr old
Inputs used
followers1,401
owner_typeOrganization
is_verified
owner_loginquantumlib
public_repos17
account_age_days3,262
How it's scored
25/25Published & resolvable — 7 package(s) on pypi
35/35Publish recency — latest publish 29 days ago
20/20Version history — 2,729 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagescirq, cirq-aqt, cirq-web, cirq-core, cirq-ionq, cirq-google, cirq-pasqal
ecosystemspypi
any_deprecatedno
min_days_since_publish29

Engineering Quality

Are baseline engineering and documentation practices in place?

84Good · 20% of overall
How it's scored
24/24CI workflows — 10 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configno
has_precommit_configno

Documentation

100Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://quantumai.google/cirq
10/10Repository description
10/10Topics — 20 topics
10/10Wiki
Inputs used
topicsnisq, quantum-algorithms, quantum-computing, cirq, algorithms, api, google-quantum, python, quantum, quantum-circuit, quantum-circuit-simulator, quantum-development-kit, quantum-information, quantum-programming, quantum-simulation, sdk, simulation, quantum-computer-simulator, quantum-programming-language, google
has_wikiyes
homepagehttps://quantumai.google/cirq
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

82Good · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — no data
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0.5/2.5CII-Best-Practices — badge detected: InProgress
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 17 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
0/7.5Vulnerabilities — 15 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate7.8
Excluded from scoring (no data or not applicable): branch_protection, packaging. 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_packages44
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:cirq@1.7.0 runtime dependency closure — what installing the published package pulls in — 44 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.

58Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 96 of 97 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.99
agent_instruction_files
agent_instruction_max_bytes
How it's scored
0/18One-command bootstrap
22/22Automated tests
0/11Lint / format config
11/11Static type checking — cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json
10/10Reproducible environment — lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 3 of the last 100 commits are automated dependency updates
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Inputs used
has_nixno
has_testsyes
lockfilespackage-lock.json
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configscirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0.03
How it's scored
27/45Type-checkable code — Python with type-check config (cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json)
54.4/55Manageable file sizes — 14/1,225 source files over 60KB
Inputs used
primary_languagePython
largest_source_bytes272,328
source_files_sampled1,225
oversized_source_files14
How it's scored
40/40API schema (OpenAPI/GraphQL/proto) — cirq-google/cirq_google/api/v1/operations.proto, cirq-google/cirq_google/api/v1/params.proto, cirq-google/cirq_google/api/v1/program.proto, cirq-google/cirq_google/api/v2/batch.proto, cirq-google/cirq_google/api/v2/calibration.proto, cirq-google/cirq_google/api/v2/device.proto, cirq-google/cirq_google/api/v2/metrics.proto, cirq-google/cirq_google/api/v2/ndarrays.proto, cirq-google/cirq_google/api/v2/program.proto, cirq-google/cirq_google/api/v2/result.proto, cirq-google/cirq_google/api/v2/run_context.proto
0/20MCP server
40/40Runnable examples — examples, notebooks
Inputs used
example_dirsexamples, notebooks
has_mcp_signalno
api_schema_filescirq-google/cirq_google/api/v1/operations.proto, cirq-google/cirq_google/api/v1/params.proto, cirq-google/cirq_google/api/v1/program.proto, cirq-google/cirq_google/api/v2/batch.proto, cirq-google/cirq_google/api/v2/calibration.proto, cirq-google/cirq_google/api/v2/device.proto, cirq-google/cirq_google/api/v2/metrics.proto, cirq-google/cirq_google/api/v2/ndarrays.proto, cirq-google/cirq_google/api/v2/program.proto, cirq-google/cirq_google/api/v2/result.proto, cirq-google/cirq_google/api/v2/run_context.proto

Key facts

5,026GitHub stars
99contributors
408commits, last 12 months
0days since last push
31releases
6bus factor
92open issues
PyPIpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

More detail

Star and fork history 0 ★ / 1,252 ⇿
0Stars
1,252Forks
26Releases

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.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

2004006008001,0001,2001,4001,252102019-082023-022026-07
Major 1Minor 17Patch 8

Each point covers 7 days.

OpenSSF Scorecard 7.8 / 10
7.8aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-29 17:58 UTC

10Binary-Artifactsno binaries found in the repo
n/aBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
2CII-Best-Practicesbadge detected: InProgress
10Code-Reviewall changesets reviewed
10Contributorsproject has 17 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
0Vulnerabilities15 existing vulnerabilities detected
All dependencies 574

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

RegistryPackageVersionRelation
npm@asamuzakjp/css-color5.1.11indirect
npm@asamuzakjp/dom-selector7.1.1indirect
npm@asamuzakjp/generational-cache1.0.1indirect
npm@asamuzakjp/nwsapi2.3.9indirect
npm@babel/code-frame7.26.2indirect
npm@babel/helper-string-parser7.27.1indirect
npm@babel/helper-validator-identifier7.28.5indirect
npm@babel/parser7.29.2indirect
npm@babel/types7.29.0indirect
npm@bcoe/v8-coverage1.0.2indirect
npm@bramus/specificity2.4.2indirect
npm@csstools/color-helpers6.0.2indirect
npm@csstools/css-calc3.2.0indirect
npm@csstools/css-color-parser4.1.0indirect
npm@csstools/css-parser-algorithms4.0.0indirect
npm@csstools/css-syntax-patches-for-csstree1.1.3indirect
npm@csstools/css-tokenizer4.0.0indirect
npm@dimforge/rapier3d-compat0.12.0indirect
npm@emnapi/core1.11.1indirect
npm@emnapi/runtime1.11.1indirect
npm@emnapi/wasi-threads1.2.2indirect
npm@eslint-community/eslint-utils4.9.1indirect
npm@eslint-community/regexpp4.12.2indirect
npm@eslint/config-array0.21.1indirect
npm@eslint/config-helpers0.4.2indirect
npm@eslint/core0.17.0indirect
npm@eslint/eslintrc3.3.3indirect
npm@eslint/js9.39.2indirect
npm@eslint/object-schema2.1.7indirect
npm@eslint/plugin-kit0.4.1indirect
npm@exodus/bytes1.15.0indirect
npm@humanfs/core0.19.1indirect
npm@humanfs/node0.16.7indirect
npm@humanwhocodes/module-importer1.0.1indirect
npm@humanwhocodes/retry0.4.3indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@napi-rs/wasm-runtime1.1.6indirect
npm@oxc-project/types0.138.0indirect
npm@pkgr/core0.2.9indirect
npm@puppeteer/browsers2.13.0indirect
npm@rolldown/binding-android-arm641.1.4indirect
npm@rolldown/binding-darwin-arm641.1.4indirect
npm@rolldown/binding-darwin-x641.1.4indirect
npm@rolldown/binding-freebsd-x641.1.4indirect
npm@rolldown/binding-linux-arm-gnueabihf1.1.4indirect
npm@rolldown/binding-linux-arm64-gnu1.1.4indirect
npm@rolldown/binding-linux-arm64-musl1.1.4indirect
npm@rolldown/binding-linux-ppc64-gnu1.1.4indirect
npm@rolldown/binding-linux-s390x-gnu1.1.4indirect
npm@rolldown/binding-linux-x64-gnu1.1.4indirect
npm@rolldown/binding-linux-x64-musl1.1.4indirect
npm@rolldown/binding-openharmony-arm641.1.4indirect
npm@rolldown/binding-wasm32-wasi1.1.4indirect
npm@rolldown/binding-win32-arm64-msvc1.1.4indirect
npm@rolldown/binding-win32-x64-msvc1.1.4indirect
npm@rolldown/pluginutils1.0.1indirect
npm@sinonjs/commons3.0.1indirect
npm@sinonjs/fake-timers13.0.5indirect
npm@sinonjs/samsam8.0.2indirect
npm@sinonjs/text-encoding0.7.3indirect
npm@standard-schema/spec1.1.0indirect
npm@tootallnate/quickjs-emscripten0.23.0indirect
npm@tweenjs/tween.js23.1.3indirect
npm@tybys/wasm-util0.10.3indirect
npm@types/chai5.2.3indirect
npm@types/deep-eql4.0.2indirect
npm@types/estree1.0.8indirect
npm@types/jsdom28.0.3indirect
npm@types/json-schema7.0.15indirect
npm@types/looks-same4.1.0indirect
npm@types/minimist1.2.5indirect
npm@types/node25.9.1indirect
npm@types/normalize-package-data2.4.4indirect
npm@types/pngjs6.0.5indirect
npm@types/stats.js0.17.3indirect
npm@types/temp0.9.4indirect
npm@types/three0.184.1indirect
npm@types/tough-cookie4.0.5indirect
npm@types/webxr0.5.21indirect
npm@types/yauzl2.10.3indirect
npm@typescript-eslint/eslint-plugin8.60.1indirect
npm@typescript-eslint/parser8.60.1indirect
npm@typescript-eslint/project-service8.60.1indirect
npm@typescript-eslint/scope-manager8.60.1indirect
npm@typescript-eslint/tsconfig-utils8.60.1indirect
npm@typescript-eslint/type-utils8.60.1indirect
npm@typescript-eslint/types8.60.1indirect
npm@typescript-eslint/typescript-estree8.60.1indirect
npm@typescript-eslint/utils8.60.1indirect
npm@typescript-eslint/visitor-keys8.60.1indirect
npm@vitest/coverage-v84.1.9indirect
npm@vitest/expect4.1.9indirect
npm@vitest/mocker4.1.9indirect
npm@vitest/pretty-format4.1.9indirect
npm@vitest/runner4.1.9indirect
npm@vitest/snapshot4.1.9indirect
npm@vitest/spy4.1.9indirect
npm@vitest/utils4.1.9indirect
npmacorn8.15.0indirect
npmacorn-jsx5.3.2indirect
npmagent-base7.1.3indirect
npmajv6.12.6indirect
npmansi-escapes4.3.2indirect
npmansi-regex5.0.1indirect
npmansi-styles4.3.0indirect
npmargparse2.0.1indirect
npmarrify1.0.1indirect
npmassertion-error2.0.1indirect
npmast-types0.13.4indirect
npmast-v8-to-istanbul1.0.0indirect
npmb4a1.6.7indirect
npmbalanced-match1.0.2indirect
npmbalanced-match4.0.4indirect
npmbare-events2.5.4indirect
npmbare-fs4.5.5indirect
npmbare-os3.4.0indirect
npmbare-path3.0.0indirect
npmbare-stream2.6.4indirect
npmbare-url2.3.2indirect
npmbase64-js1.5.1indirect
npmbasic-ftp5.3.1indirect
npmbidi-js1.0.3indirect
npmbl4.1.0indirect
npmbrace-expansion1.1.11indirect
npmbrace-expansion5.0.4indirect
npmbrace-expansion5.0.6indirect
npmbuffer5.7.1indirect
npmbuffer-crc320.2.13indirect
npmcallsites3.1.0indirect
npmcamelcase5.3.1indirect
npmcamelcase-keys6.2.2indirect
npmcanvas3.2.3indirect
npmchai6.2.2indirect
npmchalk4.1.2indirect
npmchardet0.7.0indirect
npmchownr1.1.4indirect
npmchromium-bidi14.0.0indirect
npmcli-cursor3.1.0indirect
npmcli-width3.0.0indirect
npmcliui8.0.1indirect
npmcolor4.2.3indirect
npmcolor-convert0.5.3indirect
npmcolor-convert2.0.1indirect
npmcolor-diff1.4.0indirect
npmcolor-name1.1.4indirect
npmcolor-string1.9.1indirect
npmconcat-map0.0.1indirect
npmconvert-source-map2.0.0indirect
npmcosmiconfig9.0.0indirect
npmcross-spawn7.0.6indirect
npmcss-tree3.2.1indirect
npmdata-uri-to-buffer6.0.2indirect
npmdata-urls7.0.0indirect
npmdebug4.4.3indirect
npmdecamelize1.2.0indirect
npmdecamelize-keys1.1.1indirect
npmdecimal.js10.6.0indirect
npmdecompress-response6.0.0indirect
npmdeep-extend0.6.0indirect
npmdeep-is0.1.4indirect
npmdegenerator5.0.1indirect
npmdetect-libc2.0.3indirect
npmdevtools-protocol0.0.1595872indirect
npmdiff7.0.0indirect
npmemoji-regex8.0.0indirect
npmend-of-stream1.4.4indirect
npmenhanced-resolve5.18.4indirect
npmentities8.0.0indirect
npmenv-paths2.2.1indirect
npmerror-ex1.3.2indirect
npmes-module-lexer2.0.0indirect
npmescalade3.2.0indirect
npmescape-string-regexp1.0.5indirect
npmescape-string-regexp4.0.0indirect
npmescodegen2.1.0indirect
npmeslint9.39.2indirect
npmeslint-compat-utils0.5.1indirect
npmeslint-config-prettier10.1.8indirect
npmeslint-plugin-es-x7.8.0indirect
npmeslint-plugin-n17.23.1indirect
npmeslint-plugin-prettier5.5.4indirect
npmeslint-scope8.4.0indirect
npmeslint-visitor-keys3.4.3indirect
npmeslint-visitor-keys4.2.1indirect
npmeslint-visitor-keys5.0.1indirect
npmespree10.4.0indirect
npmesprima4.0.1indirect
npmesquery1.7.0indirect
npmesrecurse4.3.0indirect
npmestraverse5.3.0indirect
npmestree-walker3.0.3indirect
npmesutils2.0.3indirect
npmexeca5.1.1indirect
npmexpand-template2.0.3indirect
npmexpect-type1.3.0indirect
npmexternal-editor3.1.0indirect
npmextract-zip2.0.1indirect
npmfast-deep-equal3.1.3indirect
npmfast-diff1.3.0indirect
npmfast-fifo1.3.2indirect
npmfast-json-stable-stringify2.1.0indirect
npmfast-levenshtein2.0.6indirect
npmfd-slicer1.1.0indirect
npmfdir6.5.0indirect
npmfflate0.8.2indirect
npmfigures3.2.0indirect
npmfile-entry-cache8.0.0indirect
npmfind-up4.1.0indirect
npmfind-up5.0.0indirect
npmflat-cache4.0.1indirect
npmflatted3.4.2indirect
npmfs-constants1.0.0indirect
npmfs-extra8.1.0indirect
npmfs.realpath1.0.0indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmget-caller-file2.0.5indirect
npmget-stream5.2.0indirect
npmget-stream6.0.1indirect
npmget-tsconfig4.13.0indirect
npmget-uri6.0.5indirect
npmgithub-from-package0.0.0indirect
npmglob13.0.6indirect
npmglob7.2.3indirect
npmglob-parent6.0.2indirect
npmglobals14.0.0indirect
npmglobals15.15.0indirect
npmglobrex0.1.2indirect
npmgraceful-fs4.2.11indirect
npmgts7.0.0indirect
npmhard-rejection2.1.0indirect
npmhas-flag4.0.0indirect
npmhasown2.0.2indirect
npmhosted-git-info2.8.9indirect
npmhosted-git-info4.1.0indirect
npmhtml-encoding-sniffer6.0.0indirect
npmhtml-escaper2.0.2indirect
npmhttp-proxy-agent7.0.2indirect
npmhttps-proxy-agent7.0.6indirect
npmhuman-signals2.1.0indirect
npmiconv-lite0.4.24indirect
npmieee7541.2.1indirect
npmignore5.3.2indirect
npmignore7.0.5indirect
npmimport-fresh3.3.0indirect
npmimurmurhash0.1.4indirect
npmindent-string4.0.0indirect
npminflight1.0.6indirect
npminherits2.0.4indirect
npmini1.3.8indirect
npminquirer7.3.3indirect
npmip-address10.2.0indirect
npmis-arrayish0.2.1indirect
npmis-arrayish0.3.2indirect
npmis-core-module2.16.1indirect
npmis-extglob2.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-glob4.0.3indirect
npmis-plain-obj1.1.0indirect
npmis-potential-custom-element-name1.0.1indirect
npmis-stream2.0.1indirect
npmisexe2.0.0indirect
npmistanbul-lib-coverage3.2.2indirect
npmistanbul-lib-report3.0.1indirect
npmistanbul-reports3.2.0indirect
npmjs-graph-algorithms1.0.18indirect
npmjs-tokens10.0.0indirect
npmjs-tokens4.0.0indirect
npmjs-yaml4.3.0indirect
npmjsdom29.1.1indirect
npmjson-buffer3.0.1indirect
npmjson-parse-even-better-errors2.3.1indirect
npmjson-schema-traverse0.4.1indirect
npmjson-stable-stringify-without-jsonify1.0.1indirect
npmjson52.2.3indirect
npmjsonfile4.0.0indirect
npmjust-extend6.2.0indirect
npmkeyv4.5.4indirect
npmkind-of6.0.3indirect
npmlevn0.4.1indirect
npmlightningcss1.32.0indirect
npmlightningcss-android-arm641.32.0indirect
npmlightningcss-darwin-arm641.32.0indirect
npmlightningcss-darwin-x641.32.0indirect
npmlightningcss-freebsd-x641.32.0indirect
npmlightningcss-linux-arm-gnueabihf1.32.0indirect
npmlightningcss-linux-arm64-gnu1.32.0indirect
npmlightningcss-linux-arm64-musl1.32.0indirect
npmlightningcss-linux-x64-gnu1.32.0indirect
npmlightningcss-linux-x64-musl1.32.0indirect
npmlightningcss-win32-arm64-msvc1.32.0indirect
npmlightningcss-win32-x64-msvc1.32.0indirect
npmlines-and-columns1.2.4indirect
npmlocate-path5.0.0indirect
npmlocate-path6.0.0indirect
npmlodash4.18.1indirect
npmlodash.get4.4.2indirect
npmlodash.merge4.6.2indirect
npmlooks-same9.0.1indirect
npmlru-cache11.3.5indirect
npmlru-cache6.0.0indirect
npmlru-cache7.18.3indirect
npmmagic-string0.30.21indirect
npmmagicast0.5.2indirect
npmmake-dir4.0.0indirect
npmmap-obj1.0.1indirect
npmmap-obj4.3.0indirect
npmmdn-data2.27.1indirect
npmmeow9.0.0indirect
npmmerge-stream2.0.0indirect
npmmeshoptimizer1.1.1indirect
npmmimic-fn2.1.0indirect
npmmimic-response3.1.0indirect
npmmin-indent1.0.1indirect
npmminimatch10.2.4indirect
npmminimatch10.2.5indirect
npmminimatch3.1.5indirect
npmminimist1.2.8indirect
npmminimist-options4.1.0indirect
npmminipass7.1.3indirect
npmmitt3.0.1indirect
npmmkdirp0.5.6indirect
npmmkdirp-classic0.5.3indirect
npmms2.1.3indirect
npmmute-stream0.0.8indirect
npmnanoid3.3.15indirect
npmnapi-build-utils2.0.0indirect
npmnatural-compare1.4.0indirect
npmncp2.0.0indirect
npmnested-error-stacks2.1.1indirect
npmnetmask2.1.1indirect
npmnise6.1.1indirect
npmnode-abi3.73.0indirect
npmnode-addon-api6.1.0indirect
npmnode-addon-api7.1.1indirect
npmnormalize-package-data2.5.0indirect
npmnormalize-package-data3.0.3indirect
npmnpm-run-path4.0.1indirect
npmobug2.1.1indirect
npmonce1.4.0indirect
npmonetime5.1.2indirect
npmoptionator0.9.4indirect
npmos-tmpdir1.0.2indirect
npmp-limit2.3.0indirect
npmp-limit3.1.0indirect
npmp-locate4.1.0indirect
npmp-locate5.0.0indirect
npmp-try2.2.0indirect
npmpac-proxy-agent7.2.0indirect
npmpac-resolver7.0.1indirect
npmpackage-json-from-dist1.0.1indirect
npmparent-module1.0.1indirect
npmparse-color1.0.0indirect
npmparse-json5.2.0indirect
npmparse58.0.1indirect
npmpath-exists4.0.0indirect
npmpath-is-absolute1.0.1indirect
npmpath-key3.1.1indirect
npmpath-parse1.0.7indirect
npmpath-scurry2.0.2indirect
npmpath-to-regexp8.2.0indirect
npmpathe2.0.3indirect
npmpend1.2.0indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.4indirect
npmpixelmatch7.1.0indirect
npmpngjs7.0.0indirect
npmpostcss8.5.16indirect
npmprebuild-install7.1.3indirect
npmprelude-ls1.2.1indirect
npmprettier3.7.4indirect
npmprettier-linter-helpers1.0.1indirect
npmprogress2.0.3indirect
npmproxy-agent6.5.0indirect
npmproxy-from-env1.1.0indirect
npmpump3.0.2indirect
npmpunycode2.3.1indirect
npmpuppeteer24.42.0indirect
npmpuppeteer-core24.42.0indirect
npmquick-lru4.0.1indirect
npmrc1.2.8indirect
npmread-pkg5.2.0indirect
npmread-pkg-up7.0.1indirect
npmreadable-stream3.6.2indirect
npmredent3.0.0indirect
npmrequire-directory2.1.1indirect
npmrequire-from-string2.0.2indirect
npmresolve1.22.10indirect
npmresolve-from4.0.0indirect
npmresolve-pkg-maps1.0.0indirect
npmrestore-cursor3.1.0indirect
npmrimraf2.6.3indirect
npmrimraf6.1.3indirect
npmrolldown1.1.4indirect
npmrun-async2.4.1indirect
npmrxjs6.6.7indirect
npmsafe-buffer5.1.2indirect
npmsafer-buffer2.1.2indirect
npmsaxes6.0.0indirect
npmsemver5.7.2indirect
npmsemver7.7.4indirect
npmsharp0.32.6indirect
npmshebang-command2.0.0indirect
npmshebang-regex3.0.0indirect
npmsiginfo2.0.0indirect
npmsignal-exit3.0.7indirect
npmsignal-exit4.1.0indirect
npmsimple-concat1.0.1indirect
npmsimple-get4.0.1indirect
npmsimple-swizzle0.2.2indirect
npmsinon19.0.2indirect
npmsmart-buffer4.2.0indirect
npmsocks2.8.8indirect
npmsocks-proxy-agent8.0.5indirect
npmsource-map0.6.1indirect
npmsource-map-js1.2.1indirect
npmspdx-correct3.2.0indirect
npmspdx-exceptions2.5.0indirect
npmspdx-expression-parse3.0.1indirect
npmspdx-license-ids3.0.21indirect
npmstackback0.0.2indirect
npmstd-env4.0.0indirect
npmstreamx2.22.0indirect
npmstring-width4.2.3indirect
npmstring_decoder1.1.1indirect
npmstrip-ansi6.0.1indirect
npmstrip-final-newline2.0.0indirect
npmstrip-indent3.0.0indirect
npmstrip-json-comments2.0.1indirect
npmstrip-json-comments3.1.1indirect
npmsupports-color7.2.0indirect
npmsupports-preserve-symlinks-flag1.0.0indirect
npmsymbol-tree3.2.4indirect
npmsynckit0.11.11indirect
npmtapable2.3.0indirect
npmtar-fs2.1.4indirect
npmtar-fs3.1.1indirect
npmtar-fs3.1.2indirect
npmtar-stream2.2.0indirect
npmtar-stream3.1.7indirect
npmtar-stream3.2.0indirect
npmtemp0.9.4indirect
npmtext-decoder1.2.3indirect
npmthree0.185.1indirect
npmthrough2.3.8indirect
npmtinybench2.9.0indirect
npmtinyexec1.0.2indirect
npmtinyglobby0.2.17indirect
npmtinyrainbow3.1.0indirect
npmtldts7.0.29indirect
npmtldts-core7.0.29indirect
npmtmp0.0.33indirect
npmtough-cookie6.0.1indirect
npmtr466.0.0indirect
npmtrim-newlines3.0.1indirect
npmts-api-utils2.5.0indirect
npmts-declaration-location1.0.7indirect
npmts-mock-imports1.3.19indirect
npmtslib1.14.1indirect
npmtslib2.8.1indirect
npmtunnel-agent0.6.0indirect
npmtype-check0.4.0indirect
npmtype-detect4.0.8indirect
npmtype-detect4.1.0indirect
npmtype-fest0.18.1indirect
npmtype-fest0.21.3indirect
npmtype-fest0.6.0indirect
npmtype-fest0.8.1indirect
npmtyped-query-selector2.12.2indirect
npmtypescript6.0.3indirect
npmtypescript-eslint8.60.1indirect
npmundici7.28.0indirect
npmundici-types7.24.6indirect
npmuniversalify0.1.2indirect
npmuri-js4.4.1indirect
npmutil-deprecate1.0.2indirect
npmvalidate-npm-package-license3.0.4indirect
npmvite8.1.2indirect
npmvitest4.1.9indirect
npmw3c-xmlserializer5.0.0indirect
npmwebdriver-bidi-protocol0.4.1indirect
npmwebidl-conversions8.0.1indirect
npmwhatwg-mimetype5.0.0indirect
npmwhatwg-url16.0.1indirect
npmwhich2.0.2indirect
npmwhy-is-node-running2.3.0indirect
npmword-wrap1.2.5indirect
npmwrap-ansi7.0.0indirect
npmwrappy1.0.2indirect
npmwrite-file-atomic6.0.0indirect
npmws8.20.0indirect
npmxml-name-validator5.0.0indirect
npmxmlchars2.2.0indirect
npmy18n5.0.8indirect
npmyallist4.0.0indirect
npmyargs17.7.2indirect
npmyargs-parser20.2.9indirect
npmyargs-parser21.1.1indirect
npmyauzl2.10.0indirect
npmyocto-queue0.1.0indirect
npmzod3.25.76indirect
PyPI3to2indirect
PyPIa-dependency0.2.3indirect
PyPIabsl-pyindirect
PyPIattrsindirect
PyPIbindirect
PyPIblack26.5.1indirect
PyPIcindirect
PyPIcodeownersindirect
PyPIcoverageindirect
PyPIduetindirect
PyPIfilelockindirect
PyPIgoogle-api-coreindirect
PyPIgoogle-api-python-clientindirect
PyPIgrpcio-toolsindirect
PyPIipykernelindirect
PyPIipythonindirect
PyPIisortindirect
PyPIlatexmkindirect
PyPImatplotlibindirect
PyPImockindirect
PyPImypyindirect
PyPImypy2.1.0indirect
PyPImypy-protobufindirect
PyPInetworkxindirect
PyPInotebookindirect
PyPInumpyindirect
PyPIopt-einsumindirect
PyPIpandasindirect
PyPIpapermillindirect
PyPIplyindirect
PyPIproto-plusindirect
PyPIprotobufindirect
PyPIprotobuf-compilerindirect
PyPIpylatexindirect
PyPIpylintindirect
PyPIpytestindirect
PyPIpytest-asyncioindirect
PyPIpytest-benchmarkindirect
PyPIpytest-covindirect
PyPIpytest-randomlyindirect
PyPIpytest-xdistindirect
PyPIpython3-tkindirect
PyPIqiskit-aerindirect
PyPIquimbindirect
PyPIrecommonmarkindirect
PyPIreq1indirect
PyPIreq2indirect
PyPIrequestsindirect
PyPIruff0.15.15indirect
PyPIscipyindirect
PyPIseabornindirect
PyPIsetuptoolsindirect
PyPIsortedcontainersindirect
PyPIsphinxindirect
PyPIsphinx-rtd-themeindirect
PyPIstimcirqindirect
PyPIsympyindirect
PyPItensorflow-docs2025.2.19.33219indirect
PyPItexlive-latex-baseindirect
PyPItexlive-latex-extraindirect
PyPItqdmindirect
PyPItwineindirect
PyPItypedunitsindirect
PyPItypes-protobufindirect
PyPItypes-requestsindirect
PyPItypingindirect
PyPItyping-extensionsindirect
PyPIvirtualenvindirect
PyPIvirtualenv-cloneindirect
PyPIvirtualenvwrapperindirect
PyPIwheelindirect
Dependency advisories 0

Installing pypi:cirq@1.7.0 pulls in 44 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": [
        "nisq",
        "quantum-algorithms",
        "quantum-computing",
        "cirq",
        "algorithms",
        "api",
        "google-quantum",
        "python",
        "quantum",
        "quantum-circuit",
        "quantum-circuit-simulator",
        "quantum-development-kit",
        "quantum-information",
        "quantum-programming",
        "quantum-simulation",
        "sdk",
        "simulation",
        "quantum-computer-simulator",
        "quantum-programming-language",
        "google"
      ],
      "is_fork": false,
      "size_kb": 47056,
      "has_wiki": true,
      "homepage": "https://quantumai.google/cirq",
      "languages": {
        "CSS": 4783,
        "Shell": 66668,
        "Python": 10696888,
        "Scilab": 1447,
        "JavaScript": 423,
        "TypeScript": 95031,
        "Jupyter Notebook": 672269
      },
      "pushed_at": "2026-07-29T17:56:26Z",
      "created_at": "2017-12-14T23:41:49Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-29T17:55:53Z",
      "description": "Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.",
      "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": "quantumai.google",
      "name": "Quantumlib",
      "type": "Organization",
      "login": "quantumlib",
      "company": null,
      "location": null,
      "followers": 1401,
      "avatar_url": "https://avatars.githubusercontent.com/u/31279789?v=4",
      "created_at": "2017-08-23T12:50:38Z",
      "is_verified": null,
      "public_repos": 17,
      "account_age_days": 3262
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2026-06-30T18:44:40Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2025-08-14T03:26:44Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2025-07-23T04:43:29Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2025-04-10T18:51:34Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2024-06-27T00:46:34Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2024-05-30T04:28:27Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2023-12-01T22:10:24Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2023-07-18T17:50:48Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2022-12-20T23:28:52Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2022-07-18T22:34:18Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2022-06-29T18:07:42Z"
        },
        {
          "tag": "v0.14.1",
          "kind": "patch",
          "published_at": "2022-04-11T02:09:25Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2022-03-24T08:30:41Z"
        },
        {
          "tag": "v0.13.1",
          "kind": "patch",
          "published_at": "2021-10-26T18:07:36Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2021-10-15T19:21:43Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2021-08-11T22:05:18Z"
        },
        {
          "tag": "v0.11.1",
          "kind": "patch",
          "published_at": "2021-07-26T19:17:34Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2021-05-11T20:58:10Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2021-03-05T23:32:04Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2020-10-02T22:50:41Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2020-10-01T21:47:58Z"
        },
        {
          "tag": "v0.8.2",
          "kind": "patch",
          "published_at": "2020-07-14T17:54:32Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2020-06-03T21:28:21Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2020-05-04T18:27:50Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2020-01-18T00:50:43Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2019-10-30T21:48:36Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2019-04-24T03:23:46Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2018-11-30T01:47:36Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2018-07-18T22:42:06Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2018-07-18T06:43:32Z"
        },
        {
          "tag": "v0.1",
          "kind": "other",
          "published_at": "2018-04-17T16:38:18Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "9d2438f1858c7392d9f87893f5c714fb6dad7ff2",
          "body": "Add a Willow device to `known_devices`. This can then be used to update\nhttps://quantumai.google/cirq/google/best_practices.",
          "is_bot": false,
          "headline": "Add Willow to known_devices (#8232)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-29T17:45:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c95cfc79c9fc2785f3ac689b82205ffee0f55e5c",
          "body": "Part of #2737 \n\nIn this PR, we add a fast version of the `Result.histogram()` method\nusing matrix multiplies.\nThe old implementation is still used when a custom `fold_func` is\nprovided, or when the\nfixed precision of Numpy ints would result in an overflow.\n\n---------\n\nCo-authored-by: Michael Hucka <mhucka@google.com>",
          "is_bot": false,
          "headline": "Speed up Result.histogram() method (#8191)",
          "author_name": "Adam Rettig",
          "author_login": "arettig",
          "committed_at": "2026-07-29T16:29:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5652c01a33533358d0f9cdcc274f58deddc82831",
          "body": "Run standard pip-install without the `--quiet` option so that Colab\ncan detect an upgrade of pre-loaded modules (numpy) and suggest\nsession restart.\n\nPart 1 - change only the intro notebook to verify it renders correctly\nat https://quantumai.google/cirq/start/intro.\n\nRelated to b/538201381",
          "is_bot": false,
          "headline": "Run pip-install without output suppression in colab notebooks (#8230)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-28T22:55:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3266e0959cc6e6df95c2a8280c992f73c3a7c42b",
          "body": "… deduplication (#8229)\n\n### Background & Problem\nThe previous implementation:\n```python\n    return frozenset(q for m in self.moments for q in m.qubits)\n```\niterated over every single qubit element-by-element using a nested\nPython generator expression. This incurred high CPython bytecode\niterator ev\n[…]\nevious | Optimized | Speed-up |\n| ------------- | ------------- | ------------- | ------------- |\n| 1000 unique moments  | 0.354s | 0.232s | 1.5x |\n| 5000 identical moments  | 0.444s | 0.063s | 7.0x |",
          "is_bot": false,
          "headline": "Optimize `all_qubits()` performance using bulk set union and instance…",
          "author_name": "Andreas Bengtsson",
          "author_login": "andbe91",
          "committed_at": "2026-07-28T21:25:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9b75d874573ba55b3a7d81457b190c40a56e5a53",
          "body": "This is still pretty experimental, but this change creates a\nuser-friendly interface to Quantum Engine that takes the cirq circuit\nfrom the compile call (added in PR #8194) and calibrates it (optimizing\nit for the execute call). The backend work isn't totally done yet, so I\ncan't fully validate that\n[…]\nxecute flow) to set the\ncorresponding execute bit. That way, both calibrate and execute set\ntheir respective oneofs correctly, and we can move towards enforcing the\ninvariant that one is set later on.",
          "is_bot": false,
          "headline": "Add support for QEC calibration method. (#8207)",
          "author_name": "Chris Bunch",
          "author_login": "shatterednirvana",
          "committed_at": "2026-07-28T20:39:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1cf5e00954e814b695f096867101af28613ec755",
          "body": "Keep the `check/mypy` script around with a deprecation warning\nso that developers have time to adjust.\n\nAlso add deprecation deadline for an old option in `check/all`.\n\nRelated to #8182",
          "is_bot": false,
          "headline": "Replace `check/mypy` with `check/typecheck` (#8225)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-27T18:03:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8ce347fde9deb21ba6063fe257b8552404701c1",
          "body": "Make numpy requirement compatible with the numpy pre-installed\nand pre-loaded in Colab sessions.  This should preserve the\nexisting numpy installation after `pip install cirq` in a Colab\navoiding mismatch between in-memory and installed NumPy versions.\n\nAlso remove the `copy` argument from `np.reshape` calls which\nwas only introduced in numpy-2.1.\n\nFixes b/538201381",
          "is_bot": false,
          "headline": "Downgrade the minimum numpy version to numpy-2.0 (#8224)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-27T02:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "726eed6fff56620abcf6a9a886e4b2af5a0bce79",
          "body": "Remove some instances where run names like `current` are hard-coded.",
          "is_bot": false,
          "headline": "Remove hard-coded default run names (#8221)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-25T00:06:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85e384401d1e0e4370628ce5089bb61bee5eab5b",
          "body": "… (#8216)\n\nWhen creating large circuits we take care to make sure that every\nequivalent gate on a given qubit is the same object instance, so saving\nthese values have measurable impact on circuit translation speed.\n\nThis should be safe since `GateOperation` is immutable.",
          "is_bot": false,
          "headline": "Cache `_is_parameterized_` and `_parameter_names_` on `GateOperation`…",
          "author_name": "Andreas Bengtsson",
          "author_login": "andbe91",
          "committed_at": "2026-07-23T23:22:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "676417fc0ebe61dc8e9fee1932f780ec0d6b9f00",
          "body": "This saves 17ns (28%) on each cache hit. In some internal benchmarks we\nhave over 100M cache hits, so this adds up to a measurable amount of\ntime.",
          "is_bot": false,
          "headline": "Optimize `cached_method` for no args (#8219)",
          "author_name": "Andreas Bengtsson",
          "author_login": "andbe91",
          "committed_at": "2026-07-23T21:02:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc468e2457db1c0d8c8879c65394985534944987",
          "body": "…ter_names_}` (#8218)\n\nMoments cache these methods, so this makes sure we hit those caches\ninstead of iterating over all operations again.",
          "is_bot": false,
          "headline": "Iterate over moments in `AbstractCircuit.{_is_parameterized_, _parame…",
          "author_name": "Andreas Bengtsson",
          "author_login": "andbe91",
          "committed_at": "2026-07-23T18:46:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4111ca549c447d3c676b57ffe92a50b180a2a2da",
          "body": "The IO overhead on the Windows platform may take more time than\nthe tested delay interval.  In such case the second event is scheduled\nimmediately with a zero wait time.",
          "is_bot": false,
          "headline": "Fix flaky test_create_parallel_scheduler_with_100ms_interval (#8220)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-23T18:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0a55a9191b71eeed8b384b063f07c3587ece7ca",
          "body": "Previously, when using `program.run()`, the user had to specify a\n`device_config_name`. This changes it so that it defaults to the default\none.",
          "is_bot": false,
          "headline": "Add default settings for program.run() (#8208)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-23T18:32:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d35eed930b66fad28afc02d1a3b7a79bf7114f20",
          "body": "Enhance `check/misc` to flag whitespace errors such as trailing blanks,\nspace-before-tab and text files that do not end with a newline.\nIgnore this check for generated files, i.e., those with the\n`linguist-generated` git attribute.",
          "is_bot": false,
          "headline": "CI - add blocking check for whitespace errors (#8214)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-23T17:07:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cde9c969a8c96d6f7f92483668ddf08a92c0324",
          "body": "This updates the release number and date to match the 1.7.0 release.",
          "is_bot": false,
          "headline": "Update CITATION.cff for release 1.7.0 (#8215)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-07-23T03:47:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afcd535f23fb53ed1e80ab3d97658f9c81654aca",
          "body": "No change in the effective content.",
          "is_bot": false,
          "headline": "Fix trailing whitespace in markdown file (#8213)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-23T01:30:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6dbf383e5ab697619977107aed3054667b4b29cf",
          "body": "While reviewing another PR, I noticed that `_json_dict_()` methods were\nnot consistently type-annotated: some were, some weren't. This PR simply\nadds type annotations to `_json_dict_()` methods where they were\nmissing.\n\n---------\n\nCo-authored-by: Pavol Juhas <pavol.juhas@gmail.com>\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Add missing type annotations to some `_json_dict_` methods (#8198)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-07-22T20:51:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7e0f2746a39e4d024a8e6b8ba80a66b3f10bc4f",
          "body": "…8202)\n\n`Circuit3D.get_client_code` pastes the serialized circuit straight into\na `<script>` block, and the serialization was Python `repr`, so nothing\nin it is escaped for HTML.\n\n- wire symbols carry circuit data: a measurement key lands verbatim\ninside `M('...')`\n- a circuit from `cirq.read_json` \n[…]\n.svg.fixup_text` and `Circuit._repr_html_` already do the\nequivalent, this brings the 3D widget in line\n\nExisting client-code test updated for the JSON form, plus one regression\ntest for the breakout.",
          "is_bot": false,
          "headline": "Escape circuit data before inlining it in the Circuit3D script tag (#…",
          "author_name": "sajida anjum",
          "author_login": "sajida002",
          "committed_at": "2026-07-22T05:20:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4dd798b6ed293c01102a7d3e48cdc50a2c3c6923",
          "body": "Updates the documentation pages\n* https://quantumai.google/cirq/google/calibration\n* https://quantumai.google/cirq/google/engine\n\nto reflect how metrics are currently collected and retrieved.\n\n---------\n\nCo-authored-by: Michael Hucka <mhucka@google.com>\nCo-authored-by: Michael Hucka <mhucka@caltech.edu>",
          "is_bot": false,
          "headline": "Update documentation about calibration metrics (#8201)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-22T03:48:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a66e618c09de70313bd968c2f8e60604ccfeae2",
          "body": "Many files across the project had trivial typos here and there. This PR\nfixes them.\n\n(I used a suitably-configured `codespell` to detect them. There may be\nother typos still uncaught; nevertheless, this is healthy batch and\nseems worth doing in any case.)\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Fix various typos in many files (#8200)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-07-21T23:12:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e06fb8c315a8765df5268ee8b0bd6e2c8e4d5d3",
          "body": "Updates the docstring of `engine.create_program()` to reflect the\nnewly-supported multi-circuit programs.",
          "is_bot": false,
          "headline": "Update engine.create_program() docstring (#8204)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-21T21:07:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "806dc602b4f25f41152d9c0fc2155c995aeda72a",
          "body": "Closes #5571, building off a previous PR #7373. \n\nThis adds support for a confusion matrix to `PauliMeasurementGate`.\nIt also updates `measure_single_paulistring()` to accept a confusion\nmatrix.\n\n---------\n\nCo-authored-by: Akshita07 <aksingh0728@gmail.com>",
          "is_bot": false,
          "headline": "Add support for confusion map to PauliMeasurementGate (#8181)",
          "author_name": "Adam Rettig",
          "author_login": "arettig",
          "committed_at": "2026-07-21T20:53:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a30a43fb07eb4ccbe50d9f172dc760ea659c586f",
          "body": "Follow-up to #8203",
          "is_bot": false,
          "headline": "Ignore white space corrections in git blame (#8205)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-21T20:16:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "032720579c4663ef5942f9c093f13607e455272a",
          "body": "No change in the effective code and content.\n\nAdd newline to the end of text files and also\ncorrect white space errors detected by\n\n  git diff --check 4b825dc642cb6eb9a060e54bf8d69288fbee4904 -- \\\n    ':(attr:!linguist-generated)'\n\nwhere `4b825dc642cb6eb9a060e54bf8d69288fbee4904` is an empty git tree\nand ':(attr:!linguist-generated)' excludes generated files.",
          "is_bot": false,
          "headline": "Fix white space errors found by `git diff --check` (#8203)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-21T18:47:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d3f1587b1e48063b29c924581eb2b72b590ea60",
          "body": "Tweaks the metrics plotting functions in cirq_google so that the output\nis more legible and adds comparisons against the data in the [spec\nsheet](https://quantumai.google/static/site-assets/downloads/willow-spec-sheet.pdf).",
          "is_bot": false,
          "headline": "Tweak calibration metrics plotting and add reference values (#8196)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-07-20T15:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33252ffcaa9e0bd4b8d9d3cb83321de39c34977e",
          "body": "Allow users to see the specific configuration, that an EngineJob ran on",
          "is_bot": false,
          "headline": "Add a `get_config()` method to `EngineJob` (#8186)",
          "author_name": "Matt Wenner",
          "author_login": "mattwenner",
          "committed_at": "2026-07-16T22:37:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52191fc574be729f77578cb5136b5e404a0db828",
          "body": "This is still pretty experimental, but this change creates a\nuser-friendly interface to Quantum Engine that takes a Stim circuit and\napplies some QEC algorithms to it, returning the cirq circuit\nequivalent. We need the calibrate call to fully test this out, so we\nmight need some tweaks along the way (in follow-up PRs).\n\n---------\n\nCo-authored-by: William <2899523@gmail.com>",
          "is_bot": false,
          "headline": "Adding support for QEC compilation method. (#8194)",
          "author_name": "Chris Bunch",
          "author_login": "shatterednirvana",
          "committed_at": "2026-07-16T20:08:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "021770508b983ab26d69f3dab9192677a0d87748",
          "body": "- This changes the serialization of LZS and MLR reset operations to use\nthe resetgate oneof rather than internalgate.\n- This allows us to match serialization of internal versions of these\ngates and is a more accurate representation of what these gates do.\n- This keep deserialization of internalgate for temporary backwards\ncompatibility.",
          "is_bot": false,
          "headline": "Change serialization of MLS and LZS reset to be resetgate (#8193)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-07-16T18:46:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16101bb819d229d92d4d39253a62c28cf6ea681d",
          "body": "…cuit.insert` (#8190)\n\nthis PR makes the following changes:\n* adds some documentation to `circuits/circuit.py` about the mechanics\nof `append` and `insert` on\nmeasurements and controlled operations.\n* adds a couple tests to `circuits/circuit_test.py` and\n`circuits/moment_test.py` to outline the new \n[…]\nnd\ncontrolled operations into circuits. one test I think is missing is\nensuring moments created with similar-keyed operations stay as a single\nmoment.\n\nthis should address 2/3 of the asks from #8132 .",
          "is_bot": false,
          "headline": "add some documentation and tests on changes to `Circuit.append`, `Cir…",
          "author_name": "William",
          "author_login": "Acciaccatura",
          "committed_at": "2026-07-14T22:58:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "daf1fa685996deb3874d7fb54c760ff01b0ba57f",
          "body": "Contains changes for the following Quantum Engine RPCs and their\nassociated request/response protos:\n\n- ListQuantumProcessorAutomationRunHistory (new)\n- CompileQecProgram (new)\n- ListQuantumJobs (modified)\n\nAlso contains changes corresponding to new fields in the QuantumJob\nproto.",
          "is_bot": false,
          "headline": "Regenerate quantum engine client (#8183)",
          "author_name": "Michael",
          "author_login": "hoisinberg",
          "committed_at": "2026-07-07T19:55:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f09760879103e15b521dafde8d9803b28fbedc67",
          "body": "As of #8029 cirq-google requires protobuf-6.\nThe workaround to use old argument with protobuf-5\nis not needed anymore.",
          "is_bot": false,
          "headline": "Clean up workaround for supporting protobuf-5 (#8180)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-01T21:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13f6065b189b6d9ce7ee6601899ccbbeaa206f20",
          "body": "* Bump the non-security group with 4 updates\n\n  - Updates `@vitest/coverage-v8` from 4.1.8 to 4.1.9\n  - Updates `three` from 0.184.0 to 0.185.1\n  - Updates `vite` from 8.0.16 to 8.1.2\n  - Updates `vitest` from 4.1.8 to 4.1.9\n\n* Bump `undici` from 7.25.0 to 7.28.0\n\n* Bump `js-yaml` from 4.1.1 to 4.3.0\n\n* Rebuild Cirq-web bundle files\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Combine cirq-web dependabot updates (#8178)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-07-01T19:03:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb5fa6b92fddbef31c7d1d4655f87636148792a8",
          "body": "- Updates `actions/checkout` from 6.0.3 to 7.0.0\n- Updates `actions/setup-python` from 6.2.0 to 6.3.0\n- Updates `codecov/codecov-action` from 6.0.1 to 7.0.0\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 the actions-version-updates group with 3 updates (#8176)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T18:40:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "255ff7df10455004eb99984edb0605482379f6df",
          "body": "Development features were released with cirq-1.7.0.\nNotebooks that need them can use stable Cirq.\n\nRef:\nhttps://github.com/quantumlib/Cirq/blob/main/docs/dev/notebooks.md#lifecycle",
          "is_bot": false,
          "headline": "Use stable Cirq in demo notebooks after cirq release (#8174)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-30T23:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7f55d39b696ad85685314e8cf3a14fb22e4a3ca",
          "body": null,
          "is_bot": false,
          "headline": "Bump cirq version to 1.8.0 (#8169)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-29T21:08:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf0ed0c6ae86d270c0a5f9e108110c18797aa681",
          "body": "Changes in this PR:\n\n- Fix a broken section cross-reference link\n- Update contributor number to \"over 250\"\n- Use shorter alternatives for links to Google Groups",
          "is_bot": false,
          "headline": "Fix small bugs in top-level README.md file (#8166)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-06-28T22:15:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae6959fdaf0d9c8f2898afd4359364e2d82f414c",
          "body": "Remove deprecated objects with the `v1.7` deadline.\n\nRef:\nhttps://github.com/quantumlib/Cirq/blob/main/release.md#before-you-release-flush-the-deprecation-backlog",
          "is_bot": false,
          "headline": "Flush deprecations for the 1.7.0 release (#8165)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-27T03:12:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fa26d0284a7dc0ba17be4b98bd64efe996bde34",
          "body": "The histogram function uses base-2 by default, which gives incorrect\nresults for qudits.\nFor example, three qutrits, each measuring 2, give 7 instead of 26.\nI added an optional fold_base parameter to specify the qudit dimension.\nRaises ValueError if both fold_func and fold_base are passed.\n\nFixes #5926\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Fix histogram() for qudits by adding fold_base parameter (#8138)",
          "author_name": "Supash Ramesha",
          "author_login": "Su760",
          "committed_at": "2026-06-27T01:55:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cedfc6d9de2da3bb0abe1186bbd8460145ecfe45",
          "body": "…n reverse (#8164)\n\nMake sure `cirq.stratified_circuit` has an exactly reversed operation\norder\nwhen checking the stratification in reverse. This avoids incorrect\nordering\nof classically-controlled and measurement operations.\n\nAlso add a transformers helper function `reverse_circuit` to\n`transformer_primitives` and reuse it in the `cirq.align_right`\ntransformer which needs a reversed circuit too.\n\nRelated to #6899\nFixes #7474",
          "is_bot": false,
          "headline": "Fix circuit reversal when searching for shortest stratified_circuit i…",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-26T23:07:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bd08de54b21e329f5f8aea2fe27ff7dd25ebe74",
          "body": "…8155)\n\nThis will allow us to have more room to add custom qubit corresponding\ninformation to the external users in the future. This change should be\nbackward and forward compatible\n\n---------\n\nCo-authored-by: Pavol Juhas <pavol.juhas@gmail.com>\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Add qubit_attributes to GridDeviceMetadata and corresponding proto (#…",
          "author_name": "Bicheng Ying",
          "author_login": "BichengYing",
          "committed_at": "2026-06-26T18:15:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0e4c730711776997bb8871b44b57e9700b809e9",
          "body": "For each PauliString term, row/col indices and phases are computed\ndirectly via bitwise ops on basis states to avoid Kron product.\n\nFor PauliSum, uses COO triplet accumulation instead of repeated CSR\naddition to avoid merging multiple sparse matrices.\n\nFixes #3057",
          "is_bot": false,
          "headline": "Add sparse_matrix() to PauliString and PauliSum (#8127)",
          "author_name": "Shih-Cheng Tu",
          "author_login": "ToastCheng",
          "committed_at": "2026-06-25T19:01:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "498d35e20ff74ddc6ad06da4cc85213408fd4bd8",
          "body": "This PR introduces the initial building blocks and helper functions\nrequired to support T-REX error mitigation in\npauli expectation calculation.\n\nThe change includes:\nImplement `_get_trex_twirled_basis_gate` to fetch the appropriate\nrotation gates (Rx, Ry, X, I) based on the target Pauli basis and f\n[…]\no generate randomized 2D\nboolean arrays for twirling operations.\nImplement `_build_trex_twirled_pauli_circuits` to append the appropriate\nbasis twirling gates and joint measurements to a base circuit.",
          "is_bot": false,
          "headline": "Add some utilities for T-rex error mitigation (#8095)",
          "author_name": "ddddddanni",
          "author_login": "ddddddanni",
          "committed_at": "2026-06-25T17:10:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d97892b990f59479874e6a5f72b6ef69a3f1d17d",
          "body": "…rings (#8163)\n\nResolves #6630",
          "is_bot": false,
          "headline": "Add note that PauliSum does not preserve gate order of summed PauliSt…",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-25T00:28:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f28d2eaee55ef94488c2f3692daabc4270e676a",
          "body": "Address mutation check in cl/935515593",
          "is_bot": false,
          "headline": "Add test for text fontsize in SVG circuit diagrams (#8161)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-24T02:47:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc296ed4867a18b83b362ed760f2b6b709c73c74",
          "body": "…ams/jobs if they are not found (#8151)\n\nhttp://b/510016374 surfaced issues where the existing recovery logic\nfrom stream failures cannot handle cases where programs/jobs were not\nsuccessfully created before the stream was terminated. This change\naddresses those cases by attempting to recreate programs/jobs during the\nrecovery process.",
          "is_bot": false,
          "headline": "When recovering from a failed stream, attempt to create missing progr…",
          "author_name": "Michael",
          "author_login": "hoisinberg",
          "committed_at": "2026-06-23T22:47:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f98e5bdcc20255062561619d57fcd9fa38762ade",
          "body": "* Add `setuptools` dependency to pytest.txt as it is imported\n  in `dev_tools.modules` and associated tests\n\n* Cleanup dependencies in packaging.txt\n  - `virtualenv` is not needed for packaging test\n  - `wheel` is not needed for tests nor to run `pip wheel`\n\n* Use `bash` in ci-daily Pytest Windows so we have\n  uniform command syntax on all platform\n\n* Also drop unnecessary sourcing of `dev_tools/pypath`\n\nFixes #8156",
          "is_bot": false,
          "headline": "Fix the ci-daily job (#8160)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-23T16:57:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "592c001bdd1014e1a901c9a3bd633f5236037bdf",
          "body": "Setting the shape on a NumPy array has been deprecated in NumPy 2.5.\nHere we replace such instances with `np.reshape()`.\n\nThis fixes failure of the CI job \"Pytest Windows (3.13)\" due to\nunexpected deprecation warnings.",
          "is_bot": false,
          "headline": "Replace inplace assignment of NumPy array shape (#8159)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-23T00:10:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cb539e2fd7df2b2ce5934a13c64ecfbab347953",
          "body": null,
          "is_bot": false,
          "headline": "CI - use all runner CPUs in ci-daily and ci-weekly (#8149)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-18T03:44:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cf89efb52118ce722b56bd1ea7dd7260b352baf",
          "body": "This satisfies stimcirq requirement on cirq-core without duplicate\ninstallation of cirq-core.  In addition, the python virtual environment\ngets to find all modules without having to source `dev_tools/pypath`.\n\nAlso remove contrib requirements from `deps/notebook.txt` so that\nthey do not get transitively included in `no-contrib.env.txt`.\nInstead, install `cirq-core[contrib]` explicitly in the CI job\nto satisfy notebooks that need the contrib packages.\n    \nResolves #7891\nFollow-up to #6444",
          "is_bot": false,
          "headline": "For development install cirq-packages in an editable mode (#8148)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-18T03:26:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b2b46bc2f55d71a26f90ca1c673bd1b6a9dfbd4",
          "body": "In particular escape such characters when rendering NamedQubit.",
          "is_bot": false,
          "headline": "Escape xml characters in all svg text instructions (#8144)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-17T22:02:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6baa941c3fe04548559b10ff5b66fb2184bb8ddf",
          "body": "Update spin echoes tutorial after MergeInteractionsToSqrtIswap removal\n\n- Replace `MergeInteractionsToSqrtIswap().optimize_circuit` in the\ntutorial code with `optimize_for_target_gateset`\n- Update the **Preparing circuits to run on QCS** section and replace\nthe saved optimized-circuit output with the new run result.\n\nFixes #6807",
          "is_bot": false,
          "headline": "Update spin echoes tutorial transformer usage (#8137)",
          "author_name": "kataro92",
          "author_login": "kataro92",
          "committed_at": "2026-06-17T04:14:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4e92af86642beeb62edab492db78d7dea1381c1",
          "body": "Replace deprecated non-collection iterables in\n`@pytest.mark.parametrize`.\nAddress deprecation warning `PytestRemovedIn10Warning`.\n\nRef:\nhttps://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators",
          "is_bot": false,
          "headline": "pytest - parametrize tests using collection containers only (#8142)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-17T02:23:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "835ca4bc9e4e0ec0fd79e639eff365a21d354e95",
          "body": "Fixes: b/489787868\n\nWe want to make sure that passing a raw string for\n`device_config_revision`\ninstead of wrapping it in `Snapshot` or `Run` raises a clear error.\n\nPreviously:\n- `EngineProcessor.get_sampler` silently ignored string revisions and\nfell\n  back to default behavior.\n- `EngineClient` con\n[…]\n`engine_client_test.py` to verify valid cases pass and invalid cases\n  raise `TypeError`.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>\nCo-authored-by: Pavol Juhas <pavol.juhas@gmail.com>",
          "is_bot": false,
          "headline": "Validate device_config_revision type in cirq-google (#8135)",
          "author_name": "Patryk Kowalewski",
          "author_login": "sirKaskadir",
          "committed_at": "2026-06-16T00:53:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "780fe1fda856bad2253f5d201d96780e833bb6b9",
          "body": "Avoid error in `add_dynamical_decoupling` when `PhasedXZGate` differs\nfrom a Clifford gate by small numerical round-off.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Make DD more stable (#8130)",
          "author_name": "Noureldin",
          "author_login": "NoureldinYosri",
          "committed_at": "2026-06-13T15:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c80eb1dc763b24298b1dd1e32ee1f17db5e48013",
          "body": "Update Scientific Python dependencies per NEP-29 and SPEC-0\n\n* drop numpy-2.0 per NEP-29 and SPEC-0\n* drop scipy-1.14 per SPEC-0\n* allow pandas-3.0 per SPEC-0 and adjust `pandas.crosstab`\n  calls to work with both pandas-2 and pandas-3\n* drop ipython-8.25 per SPEC-0\n\nKeep Python 3.11 to preserve its\n[…]\n-3.9 to have compatibility with 2 minor releases.\n\nRefs:\n\n* https://numpy.org/neps/nep-0029-deprecation_policy.html\n* https://scientific-python.org/specs/spec-0000\n\nResolves #8059\nResolves b/500500986",
          "is_bot": false,
          "headline": "Update Scientific Python dependencies per NEP-29 and SPEC-0 (#8133)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-12T23:53:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aec7393570bed88d942a0e7ef0337605ce057de4",
          "body": "The type-ignore markup is not needed for recently\nreleased matplotlib-3.11 used at the CI runs.",
          "is_bot": false,
          "headline": "Fix typecheck - remove unnecessary type-ignore comment (#8136)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-12T22:58:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6922063c70b2ef6d1a13bc39a0921185cebfffeb",
          "body": "…#8110)\n\nProblem: `BooleanHamiltonianGate._decompose_` parses boolean strings\nwith `sympy.parsing.sympy_parser.parse_expr` which uses Python `eval`\nand is thus vulnerable to RCE exploits in an untrusted input.\nBecause the gate is JSON-serializable a malicious input can be\nintroduced\nin a JSON serial\n[…]\nThis is sufficient, because the parsed expression is further passed to\n`PauliSum.from_boolean_expression` which allows only these constructs.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Fix RCE in BooleanHamiltonianGate decomposition (CWE-502 -> CWE-94) (…",
          "author_name": "Quantova-Inc",
          "author_login": "quantova-inc",
          "committed_at": "2026-06-08T23:33:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "57ace8b2275511f64d1ed7e5228cae3b8a06e1d6",
          "body": "- Bump typescript from 5.9.2 to 6.0.3\n- \n  Remove deprecated option `downlevelIteration` from tsconfig.json.\n  Also drop dependency on `webgpu/types` which are now provided\n  with typescript 6.\n\n- Bump the non-security group with 7 updates\n- \n  Updates `@types/jsdom` from 28.0.0 to 28.0.3\n  Updates \n[…]\n.10 to 8.0.16\n  Updates `vitest` from 4.1.5 to 4.1.8\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Combine cirq-web dependabot updates (#8128)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-08T20:15:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ba1b5789478dfe36c78524885691643403854965",
          "body": null,
          "is_bot": false,
          "headline": "Allow top-level cirq_google.Snapshot and cirq_google.Run (#8126)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-06-05T18:15:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3db82dd72554582f521a4384c8e6d4ef92722c9d",
          "body": "Comment and test-only edits per Khronos guidance and @mhucka review.\nAlso renames dummy_resource to mock_resource in aqt_sampler_test and\napplies black to _parser_test.py.",
          "is_bot": false,
          "headline": "Replace noninclusive dummy and sanity language (#8103) (#8120)",
          "author_name": "ツンデレ",
          "author_login": "rosspeili",
          "committed_at": "2026-06-04T22:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07f1195c279d2ead786f1b177e936bb421ed3973",
          "body": "- Updates `actions/checkout` from 6.0.2 to 6.0.3\n- Updates `codecov/codecov-action` from 6.0.0 to 6.0.1\n- Updates `actions/stale` from 10.2.0 to 10.3.0\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 the actions-version-updates group with 3 updates (#8117)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-04T17:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b29b6d4ee2c4c89d74dc2b9c5b2903d795357858",
          "body": "- Update types-protobuf to allow the latest version 7\n\n- Update mypy-protobuf requirement to allow minor version 5.1\n- Rebuild Python protobuf code to sync with mypy-protobuf\n\n- Bump mypy from 1.20.0 to 2.1.0\n- Fix incorrect return value flagged by mypy-2.1.0\n\n- Bump black from 26.3.1 to 26.5.1\n\n- B\n[…]\n15.15\n- Fix ruff - UP018: Unnecessary `complex` call\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Combine dependabot updates of Python packages (#8122)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-06-04T02:20:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a596e1cb7c6e6aa7187c4cb1f7fe426f78c9128b",
          "body": "This updates our Triage Party configuration in various ways. On the web\npage itself:\n\n* Update the title of the Triage Party page\n* Change the overall look and feel, particularly the color scheme\n* Remove some sections we rarely use and do other navigation cleanup\n* Remove the \"reactions\" column fro\n[…]\ncon icon (using the Cirq logo)\n* Expand the README.md file to match the current scheme and add much\nmore info to help future maintainers\n\n---------\n\nCo-authored-by: Pavol Juhas <pavol.juhas@gmail.com>",
          "is_bot": false,
          "headline": "Update triage party configuration (#8080)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-06-03T18:14:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4738170485d1f9681917e1d1b14bb5f98f68c2b7",
          "body": "This will be returned by the QuantumEngineService once calibration is\ncomplete. Full details here:\n[go/quantum-engine-qec-impl](http://go/quantum-engine-qec-impl)",
          "is_bot": false,
          "headline": "Proto used to hold the output of QEC circuit calibration (#8100)",
          "author_name": "Michael",
          "author_login": "hoisinberg",
          "committed_at": "2026-06-01T22:32:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7edca25fb664ec89fe7b4873fcb38c424a39a909",
          "body": "Comments from @pavoljuhas in\nhttps://github.com/quantumlib/Cirq/pull/8107",
          "is_bot": false,
          "headline": "Tweaks to lightcone filter test function (#8109)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-06-01T18:53:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74abd87e7e108654c805079b111d3f5dd511e54d",
          "body": "Co-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Add lightcone filter transformer (#8107)",
          "author_name": "eliottrosenberg",
          "author_login": "eliottrosenberg",
          "committed_at": "2026-05-30T04:01:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9a16b6bf6d3bbd1ec7deb7a784353deab5c819b",
          "body": "Fixes #8106",
          "is_bot": false,
          "headline": "Add docstring to the QubitManager abstract base class (#8108)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-30T00:08:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "defc9a0258b72b153d031701f31c35984d889249",
          "body": "- This adds the LeakageISWAP gate to cirq_google.\n- This gate attempts to remove leakage by swapping |2>|0> and |1>|1>.\n- This gate is used by QEC experiments.\n- Has one parameter to specify whether this gate should be phase-matched\nor not.",
          "is_bot": false,
          "headline": "Add LeakageISWAP gate to cirq_google (#8099)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-29T22:29:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "650016fe8e8bbecabe3b9e0b3c43255c325a6b44",
          "body": "- This gate is needed for QEC experiment and allows resets with circuits\nwith many rounds of measure\nand reset.",
          "is_bot": false,
          "headline": "Add LZSResetViaResonator Gate to Cirq-google (#8093)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-27T20:43:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6527aabbf64c231e919514ea28a443129b6edad9",
          "body": "- This adds a new function analogous to results() that returns results\naccording to the batch.\n- Normal results() call returns all results in a flat list\n- For batches, this is confusing, and the order is not clear.\n- This function organizes the results into a list of lists organized by\nthe execution of the (batched) circuits.",
          "is_bot": false,
          "headline": "Add quantum engine batched_results() (#8092)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-27T16:11:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe135f6ba37f7c6c4d78e34fa5c1ae4cd500a8fa",
          "body": "Problem: In a parallel pytest session several papermill jobs may start\njupyter kernels simultaneously resulting in a race condition when\nlooking\nfor free local ports.  This shows as test failure with\n\"Kernel died before replying to kernel_info\" error.\n\nSolution: Introduce 1 second delay between cons\n[…]\ndelay is still needed.\n\nVerification: The following run has a flaky failure before this fix\n\n```\nfor i in {1..8}; do\n    check/pytest -n8 -m slow dev_tools/notebooks/notebook_test.py || break\ndone\n```",
          "is_bot": false,
          "headline": "Deflake notebook_test when run in parallel (#8090)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-27T02:18:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "503a24622d6803a1b94cfe7579b069a3660c9ff2",
          "body": "- This gate will perform a reset by using the resonator.\n- This gate will be used for QEC experiments where there are multiple\nrounds of measure and reset.",
          "is_bot": false,
          "headline": "Adds MultilevelResetViaResonator gate to cirq_google (#8089)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-26T19:52:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4c35b02090bfce960e8fd880037b61dcf7f5d8f",
          "body": "This CL adds support for running batch jobs with different repetitions\nfor\n  different circuits in the batch. This is supported across the v2\nserialization API, the Engine client, and the local simulated processor.\n\n  This updates function signatures to accept Sequence[int] where\nnecessary, and retrieves the proper repetitions if multiple repetitions\nare provided. Updated _deserialize_run_context to extract and return a\nlist of repetitions (one per parameter sweep) instead of a single\ninteger.",
          "is_bot": false,
          "headline": "Support non-uniform repetitions in batch jobs (#8088)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-21T23:55:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f5c5ae88004a7ef5829b3037e1505949efd8383",
          "body": "Problem: On internal testing framework factoring of 4-qubit\nsub-state fails due to round-off errors exceeding `atol`.\n\nSolution: Increase `atol` for the affected `sub_state_vector` calls.\n\nRelated to cl/916680210",
          "is_bot": false,
          "headline": "Fix internal sub_state_vector test failure due to tight atol (#8085)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-21T23:13:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1cab3559fdb181633b8bacf8b964ee43dc54c79",
          "body": "Prevent `cirq_google.engine` tests from connecting to the actual\nservices with local user credentials.  Tell gcloud to use empty\nconfiguration directory instead of user configuration and also\nunset `GOOGLE_APPLICATION_CREDENTIALS` from the environment.\n\nRef:\nhttps://google-auth.readthedocs.io/en/latest/reference/google.auth.html\n\nMay resolve b/511678310",
          "is_bot": false,
          "headline": "Disable local Google Cloud credentials in cirq-google tests (#8083)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-21T16:36:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15e1e5daf6425079c0e19335afecdcf3e4e43f45",
          "body": "Problem: The suggested `mock.patch.dict(os.environ,\nclear='CIRQ_TESTING')`\nempties the environment, because `clear` is a boolean flag.\n\nSolution: Require `os.environ[\"CIRQ_TESTING\"] == \"true\"` to mark up\nactive\ntest session. This allows `mock.patch.dict` to change CIRQ_TESTING value\nto \"false\" instead of having to remove it from the environment.",
          "is_bot": false,
          "headline": "Fix patching of `CIRQ_TESTING` environment variable (#8084)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-21T15:52:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bde5ffa66e50a5210593e80580ffb5434d1e478c",
          "body": "- Fix Program.get_circuit to give more descriptive error messages.\n- Fix batch_size() to work with multiple circuits.\n- Fix get_repetitions_and_sweeps to work with multi-circuits.\n- Add get_circuits() to get all the circuits.",
          "is_bot": false,
          "headline": "Fix issues with multi-circuit size in Engine (#8076)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-20T20:39:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bc60a870f7b3e6c23355701abbe2a16e2de600d",
          "body": "This commit implements the postselection symmetry functionality in\n`CircuitToPauliStringsParameters`. Circuits provided with\n`postselection_symmetries` will now successfully filter measurement\nresults based on the expected eigenvalues rather than defaulting to the\nconfusion matrix method.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "(2/2) Combine Pauli measurements and postselection (#7970)",
          "author_name": "ddddddanni",
          "author_login": "ddddddanni",
          "committed_at": "2026-05-19T01:31:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be76e86b3442f7e36f1a5a6fb9cc87fa1091a65a",
          "body": "Change `_group_into_moment_compatible` to take into account measurement\nand control keys. Otherwise two incompatible operations can be put in\nthe same moment.\nI also changed `_can_add_op_at` to look at measurement and control keys.\nI added unit tests that show the issue.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Fix bug in circuit.insert (#7823)",
          "author_name": "codrut3",
          "author_login": "codrut3",
          "committed_at": "2026-05-18T19:58:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ccf35e6d09cd42b088ec7b52e26d8acd7e70aacb",
          "body": "Problem: The `atol` used in a test of `sub_state_vector` cannot simulate\nlow precision when the largest eigenvalue equals 1.\n\nSolution: Test with `imperfect_state` with a small artificial errors.",
          "is_bot": false,
          "headline": "Fix ci-daily run on windows-2022 (#8082)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-18T19:45:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7228447cc657467fa52f6d8c2a6b99c3d10fbfee",
          "body": "- Verify the maximum eigenvalue is indeed close to 1.\n\n- Enable arbitrary order of `keep_indices` as before.\n\n- Use the same tolerance check as before #8077 with rtol=0.\n  This allows to restore previous tests instead of having\n  to do them with larger state vector deviation.\n\n- Put back RaiseValueErrorIfNotProvided as a default for\n`sub_state_vector`.\n  This allows using `None` for the fallback return value.\n    \n- Add check for negative values in `keep_indices`.\n\nFollow-up to #8077",
          "is_bot": false,
          "headline": "Clean up recent changes in sub_state_vector (#8081)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-15T22:42:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02e927f2a4d848692c2787cca185f948d65e86cc",
          "body": "The current implementation appears to be exponential in space and time.\nThe present change, due originally to jamieas@google.com, replaces\npython loops with numpy functions motivated by standard methods for\ncomputing partial traces. The change is runnable in Colab, including\ntests and a performance benchmark, at\n\n\nhttps://colab.sandbox.google.com/drive/1qWJTnlT6hPXI8cQsTwyqQveEtn7fGhNc?resourcekey=0-67OmbvgwTlf9fnKp3ppbrw\n\n---------\n\nCo-authored-by: Anton Kast <akast@google.com>",
          "is_bot": false,
          "headline": "Sub state vector (#8077)",
          "author_name": "Anton Kast",
          "author_login": "AntonKast",
          "committed_at": "2026-05-15T19:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf16378d26f60cc9278c2af9494bc703c67215b7",
          "body": "Problem: In `check/all --fix` the `ruff check` may flag long lines\nbefore they get wrapped by format-incremental.  The process\nthen returns error status for code that was all fixed up.\n\nSolution: Fix code formatting before running `ruff check`.",
          "is_bot": false,
          "headline": "Improve fixup order in `check/all --fix` (#8079)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-15T19:01:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76910aae8696c2afaeedc914d86c8437d12aaf92",
          "body": "Does what it says on the title.\n\nFixes #8073",
          "is_bot": false,
          "headline": "Fix broken IonQ links (#8075)",
          "author_name": "nate stemen",
          "author_login": "natestemen",
          "committed_at": "2026-05-11T21:38:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7e91ced61075c80951a88cd6aff9bd89adbfc18",
          "body": "- Bump the non-security group with 6 updates\n\n  Updates `@types/node` from 25.5.0 to 25.6.0\n  Updates `@vitest/coverage-v8` from 4.1.2 to 4.1.5\n  Updates `puppeteer` from 24.40.0 to 24.42.0\n  Updates `three` from 0.183.2 to 0.184.0\n  Updates `@types/three` from 0.183.1 to 0.184.0\n  Updates `vitest` \n[…]\nm 4.17.23 to 4.18.1\n\n- Bump vite from 7.3.1 to 7.3.2\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Combine cirq-web dependabot updates (#8070)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-05T06:41:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "77533197a98d6fa971a4fbfeae984ca3b20e967b",
          "body": "…s (#8045)\n\nThis amounts to a simple bit of micro-optimization. With the help of\nGemini, I looked for cases where a specific type of matrix assignment\nwas implemented in a `for` loop that could be rewritten to use a Boolean\nmask and vectorized assignment. There were a few cases, and that's what\nthis PR is about.\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Replace specific loops with Boolean masking and vectorized assignment…",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-05-05T03:31:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b448a280cf1c3bce6f2085038bc4be3c12d51bf0",
          "body": "Bumps the actions-version-updates group with 2 updates\n\n- Updates `actions/upload-artifact` from 7.0.0 to 7.0.1\n- Updates `actions/setup-node` from 6.3.0 to 6.4.0\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 the actions-version-updates group with 2 updates (#8062)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T22:45:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "852f92e5153d534075ffc7846d6cdca78058e38f",
          "body": "- Change to a local reference speeds Moment creation by about 5%.\n- Not much, but it is a common operation.",
          "is_bot": false,
          "headline": "Micro optimization to Moment initialization. (#8069)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-05-04T13:52:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "316494302937281770fed6d4839a5892cdcc7fde",
          "body": "Conversion to the draft state requires `contents-write`.\nThe `issues-write` permission was redundant.\n\nFollow-up to #8066",
          "is_bot": false,
          "headline": "CI - adjust permission for the label-dependabot-pr job (#8068)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-02T00:25:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0696268add6e7f18a069b56eb96b350a5249743b",
          "body": "Write permissions are required for modifying dependabot PRs.",
          "is_bot": false,
          "headline": "CI - add missing permissions to the label-dependabot-pr job (#8066)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-05-01T20:21:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af4e48d683c9e9234bc4c8a4aad0bf8eda7875e3",
          "body": "The `circuit_left` argument of `move_pauli_strings_into_circuit`\nshould contain only a PauliStringPhasor-type operations.\nRaise exception if that is not the case.\n\nFixes #7934\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Add argument check to `move_pauli_strings_into_circuit` (#7985)",
          "author_name": "William",
          "author_login": "Acciaccatura",
          "committed_at": "2026-04-29T17:36:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de662628454e9900b8433efa9b382921bf568177",
          "body": "- ProcessorSampler incorrectly reconstructs the results from Quantum\nEngine. It incorrectly assumes that the engine returns results\ninterleaved by sweep point (e.g., S1_P1, S1_P2, S2_P1, S2_P2), when the\nengine actually returns them grouped by program (e.g., P1_S1, P1_S2,\nP2_S1, P2_S2).\n- This causes the results to be returned incorrectly if\njobs_per_batch>1.",
          "is_bot": false,
          "headline": "Fix ordering in Engine.run_batch (#8060)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-04-29T15:33:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f55763cb1a5a0743701572795c8fa1626a50b923",
          "body": "- Updates AbstractJob and AbstractProgram to allow an optional circuit\nindex. For multi-circuit, this will index into the keyed_circuit proto.\n- Updates EngineJob and EngineProgram to support the implementation.\n- AbstractLocalJob to allow a fake/mock to support local simulator and\ntests.",
          "is_bot": false,
          "headline": "Add multi-circuit capability to EngineJob.get_circuit (#8057)",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-04-28T19:52:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c73d890d21d3316a733568a4578b5a66f2f55e96",
          "body": "This fix addresses the flaky tests in engine_processor_test.py as\nexplained in #7851.\nThe tests are fixed by mocking the `datetime.datetime` class with a\nsubclass\n`_FrozenDateTime` to make `datetime.datetime.now()` return a constant.\n\nI reproduced the issue by adding `import time; time.sleep(1)` to \n[…]\nst_reservations_time_filter_behavior` and confirmed that the fix\nworks for both cases (though I removed the sleeps for this pr).\n\nFixes #7851\n\n---------\n\nCo-authored-by: Pavol Juhas <juhas@google.com>",
          "is_bot": false,
          "headline": "Fix flaky EngineProcessor time filter tests (#8058)",
          "author_name": "Sena Gul Hazir",
          "author_login": "senahazir",
          "committed_at": "2026-04-27T21:24:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f5300e02fc2dadd32c13b12603ed74f58b8cecac",
          "body": "… axis (#8053)\n\nThis changes the way we canonicalize `PhasedXZGate` exponents for\npi-pulses (x_exponent=1) so that we preserve the axis of rotation of pi\npulses as much as possible, and don't treat different pi pulses as\n\"equal\" to each other. Pi pulses are important for things like dynamical\ndecoup\n[…]\ne these distinctions.\n\nNote that there was some discussion of the canonicalization in the\noriginal implementation of the phased xz gate:\nhttps://github.com/quantumlib/Cirq/pull/2566/changes#r348222277",
          "is_bot": false,
          "headline": "Change canonicalization of PhasedXZGate to preserve pi-pulse rotation…",
          "author_name": "Matthew Neeley",
          "author_login": "maffoo",
          "committed_at": "2026-04-27T19:37:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2821085f804e9446a1a399f6c612b2e4275e12f1",
          "body": "This PR replaces closed PR#7514. It fixes issue #7031 by updating\n`.github/CODEOWNERS`. Summary of main changes:\n\n- Prefer the use of teams instead of individual user names for most\ncases. This will allow us to adjust permissions via GitHub team\ncontrols; in addition, it will let us use GitHub team \n[…]\nrts to each one.\n\n(Note to reviewers: the new teams were created today, and not all\nmembers have accepted invitations yet. Beware that the team listings\nwill look incomplete due to this.)\n\nFixes #7031",
          "is_bot": false,
          "headline": "Update `.github/CODEOWNERS` file (#8055)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-04-27T03:40:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aff3efc722879147dfcc0c997b8c137c390595ba",
          "body": "Replaced string concatenation using `+=` with list-based accumulation\nand a `\"\".join()` in `CliffordTableau.__str__()` and\n`_row_to_dense_pauli()`. This should improve performance from O(n^2) to\nO(n) for the string building operations in that function.",
          "is_bot": false,
          "headline": "Improve inefficient string concatenation in clifford_tableu.py (#8044)",
          "author_name": "Michael Hucka",
          "author_login": "mhucka",
          "committed_at": "2026-04-22T20:02:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c40e01dac2a8261b65fabe3b15317d523a20aa84",
          "body": "…m.run_sweep() (#8048)\n\nInternal request by @eliottrosenberg to have program.run() return an\nEngineJob, rather than having the function wait for the EngineJob to\ncomplete before returning.\n\nThis interface makes it consistent with existing program.run_sweep()\n\nFixes b/495930398",
          "is_bot": false,
          "headline": "Make program.run() return an EngineJob so it's consistent with progra…",
          "author_name": "Matt Wenner",
          "author_login": "mattwenner",
          "committed_at": "2026-04-22T18:44:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdf7e5093076ed11e088c2862062b9fd346574d5",
          "body": "…e. (#8036)\n\n- Allow the client to accept a jobs_per_batch which batches multiple\ncircuits within the same request.\n- Adjusts the signature of the functions accordingly to match that this\ncould include a mapping or sequence of circuits.\n\nSee internal bug: b/500927996",
          "is_bot": false,
          "headline": "All multi-circuit programs to be batched in the same request in Engin…",
          "author_name": "Doug Strain",
          "author_login": "dstrain115",
          "committed_at": "2026-04-22T17:39:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89993a988cdc7a1442fade0d11f5d196358ece0c",
          "body": "- Delete asv benchmarks and configuration files as they were\n  were already converted to `*_perf.py` files.\n- Update benchmarks/README to with pytest-benchmark instructions.\n\nResolves #7796",
          "is_bot": false,
          "headline": "Finalize conversion from asv to pytest-benchmark (#8051)",
          "author_name": "Pavol Juhas",
          "author_login": "pavoljuhas",
          "committed_at": "2026-04-21T01:37:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 31,
      "commits_last_year": 408,
      "latest_release_at": "2026-06-30T18:44:40Z",
      "latest_release_tag": "v1.7.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 28,
      "mean_days_between_releases": 160.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 100,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "cirq",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2729,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2018-07-18T22:41:40.471226Z",
          "latest_published_at": "2026-06-29T22:27:00.820868Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-aqt",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-aqt/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2367,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2021-06-12T19:59:23.495587Z",
          "latest_published_at": "2026-06-29T22:26:52.784509Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-web",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-web/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2332,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2021-07-02T23:17:16.157459Z",
          "latest_published_at": "2026-06-29T22:26:59.303605Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-core",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-core/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2447,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2021-04-19T22:44:45.893052Z",
          "latest_published_at": "2026-06-29T22:26:51.045510Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-ionq",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-ionq/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2356,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 107471,
          "first_published_at": "2021-06-21T20:38:54.288308Z",
          "latest_published_at": "2026-06-29T22:26:54.722378Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-google",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-google/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2451,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2021-04-19T22:44:44.182933Z",
          "latest_published_at": "2026-06-29T22:26:57.314224Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "cirq-pasqal",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "algorithms",
            "api",
            "cirq",
            "google",
            "google quantum",
            "nisq",
            "python",
            "quantum",
            "quantum algorithms",
            "quantum circuit",
            "quantum circuit simulator",
            "quantum computer simulator",
            "quantum computing",
            "quantum development kit",
            "quantum information",
            "quantum programming",
            "quantum programming language",
            "quantum simulation",
            "sdk",
            "simulation",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Topic :: Scientific/Engineering :: Quantum Computing",
            "Topic :: Software Development :: Libraries :: Python Modules",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/cirq-pasqal/",
          "is_deprecated": false,
          "latest_version": "1.7.0",
          "repository_url": "http://github.com/quantumlib/cirq",
          "versions_count": 2336,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2021-06-30T00:58:18.563564Z",
          "latest_published_at": "2026-06-29T22:26:55.909810Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        }
      ]
    },
    "popularity": {
      "forks": 1252,
      "stars": 5026,
      "watchers": 191,
      "fork_history": {
        "days": [
          {
            "date": "2019-08-14",
            "count": 1
          },
          {
            "date": "2019-08-15",
            "count": 1
          },
          {
            "date": "2019-08-20",
            "count": 1
          },
          {
            "date": "2019-08-23",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-08-29",
            "count": 1
          },
          {
            "date": "2019-08-30",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2019-09-11",
            "count": 1
          },
          {
            "date": "2019-09-13",
            "count": 1
          },
          {
            "date": "2019-09-15",
            "count": 2
          },
          {
            "date": "2019-09-16",
            "count": 1
          },
          {
            "date": "2019-09-18",
            "count": 2
          },
          {
            "date": "2019-09-19",
            "count": 2
          },
          {
            "date": "2019-09-20",
            "count": 2
          },
          {
            "date": "2019-09-21",
            "count": 1
          },
          {
            "date": "2019-09-23",
            "count": 2
          },
          {
            "date": "2019-09-25",
            "count": 1
          },
          {
            "date": "2019-09-27",
            "count": 2
          },
          {
            "date": "2019-09-30",
            "count": 2
          },
          {
            "date": "2019-10-04",
            "count": 1
          },
          {
            "date": "2019-10-10",
            "count": 1
          },
          {
            "date": "2019-10-14",
            "count": 1
          },
          {
            "date": "2019-10-17",
            "count": 1
          },
          {
            "date": "2019-10-19",
            "count": 1
          },
          {
            "date": "2019-10-20",
            "count": 1
          },
          {
            "date": "2019-10-21",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 1
          },
          {
            "date": "2019-10-24",
            "count": 5
          },
          {
            "date": "2019-10-25",
            "count": 1
          },
          {
            "date": "2019-10-26",
            "count": 1
          },
          {
            "date": "2019-10-28",
            "count": 2
          },
          {
            "date": "2019-10-30",
            "count": 1
          },
          {
            "date": "2019-10-31",
            "count": 1
          },
          {
            "date": "2019-11-02",
            "count": 1
          },
          {
            "date": "2019-11-04",
            "count": 1
          },
          {
            "date": "2019-11-06",
            "count": 1
          },
          {
            "date": "2019-11-08",
            "count": 2
          },
          {
            "date": "2019-11-09",
            "count": 1
          },
          {
            "date": "2019-11-12",
            "count": 1
          },
          {
            "date": "2019-11-15",
            "count": 1
          },
          {
            "date": "2019-11-17",
            "count": 1
          },
          {
            "date": "2019-11-19",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-22",
            "count": 1
          },
          {
            "date": "2019-11-24",
            "count": 1
          },
          {
            "date": "2019-11-26",
            "count": 2
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-12-01",
            "count": 1
          },
          {
            "date": "2019-12-04",
            "count": 2
          },
          {
            "date": "2019-12-06",
            "count": 1
          },
          {
            "date": "2019-12-07",
            "count": 1
          },
          {
            "date": "2019-12-10",
            "count": 1
          },
          {
            "date": "2019-12-13",
            "count": 1
          },
          {
            "date": "2019-12-17",
            "count": 1
          },
          {
            "date": "2019-12-18",
            "count": 1
          },
          {
            "date": "2019-12-27",
            "count": 2
          },
          {
            "date": "2019-12-29",
            "count": 1
          },
          {
            "date": "2020-01-03",
            "count": 1
          },
          {
            "date": "2020-01-14",
            "count": 1
          },
          {
            "date": "2020-01-16",
            "count": 1
          },
          {
            "date": "2020-01-17",
            "count": 1
          },
          {
            "date": "2020-01-19",
            "count": 1
          },
          {
            "date": "2020-01-20",
            "count": 1
          },
          {
            "date": "2020-01-21",
            "count": 1
          },
          {
            "date": "2020-01-24",
            "count": 1
          },
          {
            "date": "2020-01-27",
            "count": 1
          },
          {
            "date": "2020-01-30",
            "count": 1
          },
          {
            "date": "2020-02-03",
            "count": 1
          },
          {
            "date": "2020-02-04",
            "count": 2
          },
          {
            "date": "2020-02-06",
            "count": 1
          },
          {
            "date": "2020-02-10",
            "count": 1
          },
          {
            "date": "2020-02-12",
            "count": 1
          },
          {
            "date": "2020-02-13",
            "count": 1
          },
          {
            "date": "2020-02-15",
            "count": 1
          },
          {
            "date": "2020-02-16",
            "count": 1
          },
          {
            "date": "2020-02-19",
            "count": 1
          },
          {
            "date": "2020-02-20",
            "count": 1
          },
          {
            "date": "2020-02-23",
            "count": 1
          },
          {
            "date": "2020-02-24",
            "count": 2
          },
          {
            "date": "2020-02-28",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-09",
            "count": 3
          },
          {
            "date": "2020-03-10",
            "count": 3
          },
          {
            "date": "2020-03-11",
            "count": 2
          },
          {
            "date": "2020-03-12",
            "count": 1
          },
          {
            "date": "2020-03-14",
            "count": 1
          },
          {
            "date": "2020-03-16",
            "count": 1
          },
          {
            "date": "2020-03-18",
            "count": 1
          },
          {
            "date": "2020-03-19",
            "count": 1
          },
          {
            "date": "2020-03-23",
            "count": 1
          },
          {
            "date": "2020-03-27",
            "count": 2
          },
          {
            "date": "2020-03-31",
            "count": 2
          },
          {
            "date": "2020-04-01",
            "count": 1
          },
          {
            "date": "2020-04-03",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 1
          },
          {
            "date": "2020-04-06",
            "count": 2
          },
          {
            "date": "2020-04-11",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-21",
            "count": 1
          },
          {
            "date": "2020-04-22",
            "count": 2
          },
          {
            "date": "2020-04-28",
            "count": 2
          },
          {
            "date": "2020-05-01",
            "count": 1
          },
          {
            "date": "2020-05-03",
            "count": 2
          },
          {
            "date": "2020-05-04",
            "count": 1
          },
          {
            "date": "2020-05-05",
            "count": 1
          },
          {
            "date": "2020-05-06",
            "count": 1
          },
          {
            "date": "2020-05-10",
            "count": 1
          },
          {
            "date": "2020-05-14",
            "count": 1
          },
          {
            "date": "2020-05-15",
            "count": 1
          },
          {
            "date": "2020-05-16",
            "count": 1
          },
          {
            "date": "2020-05-20",
            "count": 1
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-23",
            "count": 1
          },
          {
            "date": "2020-05-30",
            "count": 3
          },
          {
            "date": "2020-05-31",
            "count": 1
          },
          {
            "date": "2020-06-01",
            "count": 1
          },
          {
            "date": "2020-06-03",
            "count": 2
          },
          {
            "date": "2020-06-05",
            "count": 1
          },
          {
            "date": "2020-06-06",
            "count": 1
          },
          {
            "date": "2020-06-10",
            "count": 2
          },
          {
            "date": "2020-06-12",
            "count": 1
          },
          {
            "date": "2020-06-13",
            "count": 1
          },
          {
            "date": "2020-06-15",
            "count": 1
          },
          {
            "date": "2020-06-18",
            "count": 1
          },
          {
            "date": "2020-06-19",
            "count": 1
          },
          {
            "date": "2020-06-21",
            "count": 1
          },
          {
            "date": "2020-06-25",
            "count": 1
          },
          {
            "date": "2020-06-28",
            "count": 1
          },
          {
            "date": "2020-07-12",
            "count": 2
          },
          {
            "date": "2020-07-21",
            "count": 1
          },
          {
            "date": "2020-07-22",
            "count": 2
          },
          {
            "date": "2020-07-23",
            "count": 2
          },
          {
            "date": "2020-07-24",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 1
          },
          {
            "date": "2020-07-29",
            "count": 1
          },
          {
            "date": "2020-08-03",
            "count": 1
          },
          {
            "date": "2020-08-05",
            "count": 1
          },
          {
            "date": "2020-08-11",
            "count": 1
          },
          {
            "date": "2020-08-14",
            "count": 1
          },
          {
            "date": "2020-08-22",
            "count": 1
          },
          {
            "date": "2020-08-27",
            "count": 1
          },
          {
            "date": "2020-09-02",
            "count": 1
          },
          {
            "date": "2020-09-09",
            "count": 2
          },
          {
            "date": "2020-09-11",
            "count": 1
          },
          {
            "date": "2020-09-12",
            "count": 1
          },
          {
            "date": "2020-09-13",
            "count": 1
          },
          {
            "date": "2020-09-15",
            "count": 1
          },
          {
            "date": "2020-09-22",
            "count": 1
          },
          {
            "date": "2020-09-24",
            "count": 1
          },
          {
            "date": "2020-09-29",
            "count": 1
          },
          {
            "date": "2020-10-02",
            "count": 1
          },
          {
            "date": "2020-10-05",
            "count": 1
          },
          {
            "date": "2020-10-06",
            "count": 2
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-10",
            "count": 1
          },
          {
            "date": "2020-10-14",
            "count": 1
          },
          {
            "date": "2020-10-19",
            "count": 1
          },
          {
            "date": "2020-10-21",
            "count": 2
          },
          {
            "date": "2020-10-23",
            "count": 1
          },
          {
            "date": "2020-10-25",
            "count": 1
          },
          {
            "date": "2020-10-28",
            "count": 1
          },
          {
            "date": "2020-10-29",
            "count": 2
          },
          {
            "date": "2020-10-30",
            "count": 2
          },
          {
            "date": "2020-11-05",
            "count": 2
          },
          {
            "date": "2020-11-06",
            "count": 1
          },
          {
            "date": "2020-11-07",
            "count": 1
          },
          {
            "date": "2020-11-09",
            "count": 1
          },
          {
            "date": "2020-11-12",
            "count": 1
          },
          {
            "date": "2020-11-13",
            "count": 2
          },
          {
            "date": "2020-11-19",
            "count": 2
          },
          {
            "date": "2020-11-23",
            "count": 1
          },
          {
            "date": "2020-11-25",
            "count": 1
          },
          {
            "date": "2020-11-30",
            "count": 1
          },
          {
            "date": "2020-12-01",
            "count": 1
          },
          {
            "date": "2020-12-02",
            "count": 2
          },
          {
            "date": "2020-12-07",
            "count": 2
          },
          {
            "date": "2020-12-09",
            "count": 1
          },
          {
            "date": "2020-12-11",
            "count": 1
          },
          {
            "date": "2020-12-19",
            "count": 1
          },
          {
            "date": "2020-12-20",
            "count": 1
          },
          {
            "date": "2020-12-22",
            "count": 1
          },
          {
            "date": "2020-12-26",
            "count": 2
          },
          {
            "date": "2021-01-03",
            "count": 3
          },
          {
            "date": "2021-01-05",
            "count": 2
          },
          {
            "date": "2021-01-06",
            "count": 1
          },
          {
            "date": "2021-01-11",
            "count": 1
          },
          {
            "date": "2021-01-14",
            "count": 1
          },
          {
            "date": "2021-01-16",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-19",
            "count": 1
          },
          {
            "date": "2021-01-22",
            "count": 1
          },
          {
            "date": "2021-01-27",
            "count": 1
          },
          {
            "date": "2021-01-29",
            "count": 1
          },
          {
            "date": "2021-01-30",
            "count": 1
          },
          {
            "date": "2021-02-02",
            "count": 2
          },
          {
            "date": "2021-02-03",
            "count": 1
          },
          {
            "date": "2021-02-04",
            "count": 2
          },
          {
            "date": "2021-02-05",
            "count": 1
          },
          {
            "date": "2021-02-08",
            "count": 1
          },
          {
            "date": "2021-02-12",
            "count": 1
          },
          {
            "date": "2021-02-15",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-02-28",
            "count": 1
          },
          {
            "date": "2021-03-03",
            "count": 1
          },
          {
            "date": "2021-03-06",
            "count": 1
          },
          {
            "date": "2021-03-11",
            "count": 1
          },
          {
            "date": "2021-03-14",
            "count": 1
          },
          {
            "date": "2021-03-15",
            "count": 1
          },
          {
            "date": "2021-03-16",
            "count": 1
          },
          {
            "date": "2021-03-17",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-03-19",
            "count": 2
          },
          {
            "date": "2021-03-20",
            "count": 1
          },
          {
            "date": "2021-03-25",
            "count": 1
          },
          {
            "date": "2021-03-27",
            "count": 1
          },
          {
            "date": "2021-03-29",
            "count": 1
          },
          {
            "date": "2021-04-05",
            "count": 1
          },
          {
            "date": "2021-04-06",
            "count": 2
          },
          {
            "date": "2021-04-07",
            "count": 2
          },
          {
            "date": "2021-04-08",
            "count": 1
          },
          {
            "date": "2021-04-09",
            "count": 1
          },
          {
            "date": "2021-04-11",
            "count": 2
          },
          {
            "date": "2021-04-14",
            "count": 1
          },
          {
            "date": "2021-04-18",
            "count": 1
          },
          {
            "date": "2021-04-25",
            "count": 1
          },
          {
            "date": "2021-04-26",
            "count": 2
          },
          {
            "date": "2021-04-28",
            "count": 1
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-05-06",
            "count": 1
          },
          {
            "date": "2021-05-07",
            "count": 3
          },
          {
            "date": "2021-05-08",
            "count": 1
          },
          {
            "date": "2021-05-09",
            "count": 1
          },
          {
            "date": "2021-05-10",
            "count": 1
          },
          {
            "date": "2021-05-11",
            "count": 1
          },
          {
            "date": "2021-05-12",
            "count": 1
          },
          {
            "date": "2021-05-17",
            "count": 1
          },
          {
            "date": "2021-05-19",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-24",
            "count": 2
          },
          {
            "date": "2021-05-31",
            "count": 1
          },
          {
            "date": "2021-06-04",
            "count": 1
          },
          {
            "date": "2021-06-06",
            "count": 1
          },
          {
            "date": "2021-06-10",
            "count": 1
          },
          {
            "date": "2021-06-14",
            "count": 2
          },
          {
            "date": "2021-06-16",
            "count": 1
          },
          {
            "date": "2021-06-29",
            "count": 1
          },
          {
            "date": "2021-07-01",
            "count": 1
          },
          {
            "date": "2021-07-04",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 1
          },
          {
            "date": "2021-07-07",
            "count": 1
          },
          {
            "date": "2021-07-09",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 1
          },
          {
            "date": "2021-07-12",
            "count": 1
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 1
          },
          {
            "date": "2021-07-21",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-07-24",
            "count": 2
          },
          {
            "date": "2021-07-27",
            "count": 1
          },
          {
            "date": "2021-07-29",
            "count": 1
          },
          {
            "date": "2021-07-31",
            "count": 1
          },
          {
            "date": "2021-08-02",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 2
          },
          {
            "date": "2021-08-07",
            "count": 1
          },
          {
            "date": "2021-08-09",
            "count": 1
          },
          {
            "date": "2021-08-14",
            "count": 1
          },
          {
            "date": "2021-08-16",
            "count": 1
          },
          {
            "date": "2021-08-21",
            "count": 3
          },
          {
            "date": "2021-08-24",
            "count": 1
          },
          {
            "date": "2021-08-25",
            "count": 2
          },
          {
            "date": "2021-08-27",
            "count": 1
          },
          {
            "date": "2021-08-28",
            "count": 1
          },
          {
            "date": "2021-09-04",
            "count": 3
          },
          {
            "date": "2021-09-05",
            "count": 1
          },
          {
            "date": "2021-09-09",
            "count": 1
          },
          {
            "date": "2021-09-10",
            "count": 1
          },
          {
            "date": "2021-09-14",
            "count": 2
          },
          {
            "date": "2021-09-16",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-09-23",
            "count": 1
          },
          {
            "date": "2021-09-24",
            "count": 1
          },
          {
            "date": "2021-09-26",
            "count": 2
          },
          {
            "date": "2021-09-28",
            "count": 2
          },
          {
            "date": "2021-09-29",
            "count": 3
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-02",
            "count": 1
          },
          {
            "date": "2021-10-04",
            "count": 1
          },
          {
            "date": "2021-10-05",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 2
          },
          {
            "date": "2021-10-16",
            "count": 1
          },
          {
            "date": "2021-10-17",
            "count": 1
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-21",
            "count": 1
          },
          {
            "date": "2021-10-24",
            "count": 1
          },
          {
            "date": "2021-10-29",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 2
          },
          {
            "date": "2021-11-12",
            "count": 4
          },
          {
            "date": "2021-11-13",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 1
          },
          {
            "date": "2021-11-28",
            "count": 2
          },
          {
            "date": "2021-12-03",
            "count": 1
          },
          {
            "date": "2021-12-07",
            "count": 1
          },
          {
            "date": "2021-12-08",
            "count": 1
          },
          {
            "date": "2021-12-12",
            "count": 2
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2021-12-29",
            "count": 1
          },
          {
            "date": "2022-01-02",
            "count": 1
          },
          {
            "date": "2022-01-05",
            "count": 2
          },
          {
            "date": "2022-01-12",
            "count": 1
          },
          {
            "date": "2022-01-20",
            "count": 1
          },
          {
            "date": "2022-01-23",
            "count": 2
          },
          {
            "date": "2022-01-25",
            "count": 2
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 1
          },
          {
            "date": "2022-02-17",
            "count": 1
          },
          {
            "date": "2022-02-23",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 1
          },
          {
            "date": "2022-03-15",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-23",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 2
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-07",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-04-16",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 1
          },
          {
            "date": "2022-04-25",
            "count": 1
          },
          {
            "date": "2022-04-26",
            "count": 2
          },
          {
            "date": "2022-05-01",
            "count": 1
          },
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-11",
            "count": 1
          },
          {
            "date": "2022-05-12",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-05-24",
            "count": 1
          },
          {
            "date": "2022-06-02",
            "count": 1
          },
          {
            "date": "2022-06-03",
            "count": 1
          },
          {
            "date": "2022-06-07",
            "count": 1
          },
          {
            "date": "2022-06-13",
            "count": 1
          },
          {
            "date": "2022-06-18",
            "count": 1
          },
          {
            "date": "2022-06-20",
            "count": 2
          },
          {
            "date": "2022-06-23",
            "count": 1
          },
          {
            "date": "2022-06-25",
            "count": 1
          },
          {
            "date": "2022-06-27",
            "count": 1
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-07-03",
            "count": 1
          },
          {
            "date": "2022-07-13",
            "count": 1
          },
          {
            "date": "2022-07-14",
            "count": 1
          },
          {
            "date": "2022-07-19",
            "count": 3
          },
          {
            "date": "2022-07-20",
            "count": 3
          },
          {
            "date": "2022-07-21",
            "count": 4
          },
          {
            "date": "2022-07-22",
            "count": 1
          },
          {
            "date": "2022-07-24",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-27",
            "count": 2
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-07-29",
            "count": 1
          },
          {
            "date": "2022-08-01",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-15",
            "count": 1
          },
          {
            "date": "2022-08-18",
            "count": 1
          },
          {
            "date": "2022-08-22",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 2
          },
          {
            "date": "2022-08-25",
            "count": 1
          },
          {
            "date": "2022-08-26",
            "count": 1
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-09-03",
            "count": 1
          },
          {
            "date": "2022-09-07",
            "count": 1
          },
          {
            "date": "2022-09-14",
            "count": 2
          },
          {
            "date": "2022-09-16",
            "count": 1
          },
          {
            "date": "2022-09-23",
            "count": 1
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 2
          },
          {
            "date": "2022-09-28",
            "count": 1
          },
          {
            "date": "2022-10-01",
            "count": 1
          },
          {
            "date": "2022-10-07",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 2
          },
          {
            "date": "2022-10-14",
            "count": 1
          },
          {
            "date": "2022-10-22",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 2
          },
          {
            "date": "2022-11-02",
            "count": 2
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 2
          },
          {
            "date": "2022-11-09",
            "count": 2
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 1
          },
          {
            "date": "2022-12-24",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 2
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-06",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-18",
            "count": 1
          },
          {
            "date": "2023-01-23",
            "count": 1
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-01-28",
            "count": 1
          },
          {
            "date": "2023-02-05",
            "count": 1
          },
          {
            "date": "2023-02-06",
            "count": 1
          },
          {
            "date": "2023-02-07",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 2
          },
          {
            "date": "2023-02-23",
            "count": 1
          },
          {
            "date": "2023-02-24",
            "count": 2
          },
          {
            "date": "2023-03-04",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-07",
            "count": 1
          },
          {
            "date": "2023-03-11",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 2
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-07",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 2
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-04-28",
            "count": 2
          },
          {
            "date": "2023-04-29",
            "count": 1
          },
          {
            "date": "2023-05-01",
            "count": 1
          },
          {
            "date": "2023-05-03",
            "count": 1
          },
          {
            "date": "2023-05-12",
            "count": 1
          },
          {
            "date": "2023-05-13",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 2
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-04",
            "count": 1
          },
          {
            "date": "2023-06-05",
            "count": 2
          },
          {
            "date": "2023-06-08",
            "count": 1
          },
          {
            "date": "2023-06-11",
            "count": 1
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-18",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 2
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-06-28",
            "count": 1
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-07-01",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-16",
            "count": 1
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-27",
            "count": 1
          },
          {
            "date": "2023-07-30",
            "count": 1
          },
          {
            "date": "2023-08-03",
            "count": 1
          },
          {
            "date": "2023-08-06",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 2
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 2
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-08-23",
            "count": 1
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-08-28",
            "count": 2
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-09-06",
            "count": 1
          },
          {
            "date": "2023-09-13",
            "count": 2
          },
          {
            "date": "2023-09-18",
            "count": 1
          },
          {
            "date": "2023-09-26",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 1
          },
          {
            "date": "2023-09-29",
            "count": 1
          },
          {
            "date": "2023-10-01",
            "count": 1
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 2
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2023-11-28",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 1
          },
          {
            "date": "2023-12-02",
            "count": 1
          },
          {
            "date": "2023-12-04",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-08",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-12",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 2
          },
          {
            "date": "2023-12-16",
            "count": 2
          },
          {
            "date": "2023-12-17",
            "count": 1
          },
          {
            "date": "2023-12-21",
            "count": 1
          },
          {
            "date": "2023-12-24",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 2
          },
          {
            "date": "2024-01-06",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 1
          },
          {
            "date": "2024-01-11",
            "count": 1
          },
          {
            "date": "2024-01-13",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 2
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-05",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-07",
            "count": 1
          },
          {
            "date": "2024-02-09",
            "count": 1
          },
          {
            "date": "2024-02-10",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 2
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-24",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 2
          },
          {
            "date": "2024-03-01",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-08",
            "count": 1
          },
          {
            "date": "2024-03-19",
            "count": 2
          },
          {
            "date": "2024-03-20",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-28",
            "count": 1
          },
          {
            "date": "2024-03-30",
            "count": 1
          },
          {
            "date": "2024-04-02",
            "count": 2
          },
          {
            "date": "2024-04-06",
            "count": 1
          },
          {
            "date": "2024-04-13",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2024-05-21",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 4
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 2
          },
          {
            "date": "2024-06-03",
            "count": 2
          },
          {
            "date": "2024-06-05",
            "count": 2
          },
          {
            "date": "2024-06-10",
            "count": 1
          },
          {
            "date": "2024-06-11",
            "count": 2
          },
          {
            "date": "2024-06-14",
            "count": 2
          },
          {
            "date": "2024-06-17",
            "count": 1
          },
          {
            "date": "2024-06-22",
            "count": 1
          },
          {
            "date": "2024-06-26",
            "count": 1
          },
          {
            "date": "2024-06-30",
            "count": 2
          },
          {
            "date": "2024-07-08",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-16",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-24",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 3
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-11",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-18",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-22",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-02",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-08",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 2
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 1
          },
          {
            "date": "2024-12-06",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 3
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 2
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 3
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2024-12-31",
            "count": 3
          },
          {
            "date": "2025-01-02",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 1
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 2
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 2
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 2
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 3
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-03-08",
            "count": 1
          },
          {
            "date": "2025-03-10",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-28",
            "count": 2
          },
          {
            "date": "2025-03-29",
            "count": 1
          },
          {
            "date": "2025-03-31",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 2
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-05-11",
            "count": 2
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-05-27",
            "count": 1
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-05-31",
            "count": 1
          },
          {
            "date": "2025-06-01",
            "count": 1
          },
          {
            "date": "2025-06-05",
            "count": 2
          },
          {
            "date": "2025-06-06",
            "count": 3
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 2
          },
          {
            "date": "2025-06-13",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-20",
            "count": 2
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 2
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-14",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-07-30",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 1
          },
          {
            "date": "2025-08-17",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 1
          },
          {
            "date": "2025-08-21",
            "count": 1
          },
          {
            "date": "2025-08-23",
            "count": 1
          },
          {
            "date": "2025-08-27",
            "count": 2
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 2
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-25",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-11-07",
            "count": 2
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 1
          },
          {
            "date": "2025-11-26",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 4
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-19",
            "count": 1
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2026-01-01",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 2
          },
          {
            "date": "2026-01-17",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 2
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-11",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 2
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-25",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 2
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-18",
            "count": 2
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 2
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 2
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-11",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 1
          },
          {
            "date": "2026-04-23",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 2
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 2
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-03",
            "count": 1
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 2
          },
          {
            "date": "2026-06-12",
            "count": 3
          },
          {
            "date": "2026-06-15",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-23",
            "count": 3
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 2
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 3
          },
          {
            "date": "2026-07-13",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-22",
            "count": 3
          },
          {
            "date": "2026-07-25",
            "count": 3
          },
          {
            "date": "2026-07-28",
            "count": 2
          },
          {
            "date": "2026-07-29",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 1252
      },
      "star_history": null,
      "open_issues_and_prs": 130
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples",
        "notebooks"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [
        "cirq-google/cirq_google/api/v1/operations.proto",
        "cirq-google/cirq_google/api/v1/params.proto",
        "cirq-google/cirq_google/api/v1/program.proto",
        "cirq-google/cirq_google/api/v2/batch.proto",
        "cirq-google/cirq_google/api/v2/calibration.proto",
        "cirq-google/cirq_google/api/v2/device.proto",
        "cirq-google/cirq_google/api/v2/metrics.proto",
        "cirq-google/cirq_google/api/v2/ndarrays.proto",
        "cirq-google/cirq_google/api/v2/program.proto",
        "cirq-google/cirq_google/api/v2/result.proto",
        "cirq-google/cirq_google/api/v2/run_context.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "cirq-core/cirq/py.typed",
        "cirq-google/cirq_google/cloud/quantum/py.typed",
        "cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed",
        "cirq-google/cirq_google/py.typed",
        "cirq-web/cirq_web/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 272328,
      "source_files_sampled": 1225,
      "oversized_source_files": 14,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "cirq-aqt/pyproject.toml",
        "cirq-aqt/requirements.txt",
        "cirq-aqt/setup.py",
        "cirq-core/pyproject.toml",
        "cirq-core/requirements.txt",
        "cirq-core/setup.py",
        "cirq-google/pyproject.toml",
        "cirq-google/requirements.txt",
        "cirq-google/setup.py",
        "cirq-ionq/pyproject.toml",
        "cirq-ionq/requirements.txt",
        "cirq-ionq/setup.py",
        "cirq-pasqal/pyproject.toml",
        "cirq-pasqal/requirements.txt",
        "cirq-pasqal/setup.py",
        "cirq-web/pyproject.toml",
        "cirq-web/requirements.txt",
        "cirq-web/setup.py",
        "pyproject.toml",
        "setup.py"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 44,
        "malicious_count": 0,
        "assessed_package": "pypi:cirq@1.7.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.26.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@dimforge/rapier3d-compat",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.7",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.138.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@puppeteer/browsers",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/commons",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "13.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/samsam",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/text-encoding",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/quickjs-emscripten",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tweenjs/tween.js",
            "direct": false,
            "version": "23.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "28.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/looks-same",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimist",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/normalize-package-data",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/pngjs",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/stats.js",
            "direct": false,
            "version": "0.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/temp",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/three",
            "direct": false,
            "version": "0.184.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/webxr",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yauzl",
            "direct": false,
            "version": "2.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "arrify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "b4a",
            "direct": false,
            "version": "1.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "bare-events",
            "direct": false,
            "version": "2.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "bare-fs",
            "direct": false,
            "version": "4.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "bare-os",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-stream",
            "direct": false,
            "version": "2.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "bare-url",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "basic-ftp",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase-keys",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "canvas",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "chromium-bidi",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-diff",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "color-string",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-uri-to-buffer",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "degenerator",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "devtools-protocol",
            "direct": false,
            "version": "0.0.1595872",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-compat-utils",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "10.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-es-x",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-n",
            "direct": false,
            "version": "17.23.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "expand-template",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "external-editor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-fifo",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-constants",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-uri",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "github-from-package",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "15.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "globrex",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "gts",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hard-rejection",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer",
            "direct": false,
            "version": "7.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-graph-algorithms",
            "direct": false,
            "version": "1.0.18",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "just-extend",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.get",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "looks-same",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "map-obj",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "map-obj",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "meshoptimizer",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "min-indent",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimist-options",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.15",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ncp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nested-error-stacks",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "netmask",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "nise",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.73.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "os-tmpdir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-proxy-agent",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-resolver",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-color",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pixelmatch",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pngjs",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-agent",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "puppeteer",
            "direct": false,
            "version": "24.42.0",
            "ecosystem": "npm"
          },
          {
            "name": "puppeteer-core",
            "direct": false,
            "version": "24.42.0",
            "ecosystem": "npm"
          },
          {
            "name": "quick-lru",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg-up",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.10",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "2.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "run-async",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "6.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": false,
            "version": "0.32.6",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-swizzle",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "sinon",
            "direct": false,
            "version": "19.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": false,
            "version": "2.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "streamx",
            "direct": false,
            "version": "2.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.11",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "temp",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "text-decoder",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "three",
            "direct": false,
            "version": "0.185.1",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "trim-newlines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-declaration-location",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "ts-mock-imports",
            "direct": false,
            "version": "1.3.19",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typed-query-selector",
            "direct": false,
            "version": "2.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webdriver-bidi-protocol",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "3to2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "a-dependency",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "absl-py",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "b",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "black",
            "direct": false,
            "version": "26.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "c",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "codeowners",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "duet",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-core",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-api-python-client",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-tools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "isort",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "latexmk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mock",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-protobuf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "notebook",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "opt-einsum",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "papermill",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ply",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "proto-plus",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf-compiler",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylatex",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-benchmark",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-randomly",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-xdist",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python3-tk",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "qiskit-aer",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "quimb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "recommonmark",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "req1",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "req2",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.15.15",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "seaborn",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "stimcirq",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tensorflow-docs",
            "direct": false,
            "version": "2025.2.19.33219",
            "ecosystem": "pypi"
          },
          {
            "name": "texlive-latex-base",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "texlive-latex-extra",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "twine",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typedunits",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "types-protobuf",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "types-requests",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typing",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv-clone",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenvwrapper",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wheel",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 574,
        "direct_count": 0,
        "indirect_count": 574
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 38,
        "merged_prs": 4799,
        "open_issues": 92,
        "closed_ratio": 0.963,
        "closed_issues": 2395,
        "closed_unmerged_prs": 883
      },
      "bus_factor": 6,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "Strilanc",
          "commits": 534,
          "avatar_url": "https://avatars.githubusercontent.com/u/79941?v=4"
        },
        {
          "type": "User",
          "login": "pavoljuhas",
          "commits": 488,
          "avatar_url": "https://avatars.githubusercontent.com/u/1915760?v=4"
        },
        {
          "type": "User",
          "login": "dstrain115",
          "commits": 395,
          "avatar_url": "https://avatars.githubusercontent.com/u/22484728?v=4"
        },
        {
          "type": "User",
          "login": "dabacon",
          "commits": 349,
          "avatar_url": "https://avatars.githubusercontent.com/u/87974?v=4"
        },
        {
          "type": "User",
          "login": "tanujkhattar",
          "commits": 232,
          "avatar_url": "https://avatars.githubusercontent.com/u/7863287?v=4"
        },
        {
          "type": "User",
          "login": "maffoo",
          "commits": 216,
          "avatar_url": "https://avatars.githubusercontent.com/u/129268?v=4"
        },
        {
          "type": "User",
          "login": "balopat",
          "commits": 197,
          "avatar_url": "https://avatars.githubusercontent.com/u/635073?v=4"
        },
        {
          "type": "User",
          "login": "daxfohl",
          "commits": 171,
          "avatar_url": "https://avatars.githubusercontent.com/u/905073?v=4"
        },
        {
          "type": "User",
          "login": "mhucka",
          "commits": 127,
          "avatar_url": "https://avatars.githubusercontent.com/u/1450019?v=4"
        },
        {
          "type": "User",
          "login": "viathor",
          "commits": 112,
          "avatar_url": "https://avatars.githubusercontent.com/u/40255865?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.121
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci-daily.yml",
        "ci-monitoring.yml",
        "ci-weekly.yml",
        "ci.yml",
        "cifuzz.yml",
        "issue-labeler.yaml",
        "pr-labeler.yaml",
        "release-main.yml",
        "scorecard-scanner.yaml",
        "stale.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 2,
            "reason": "badge detected: InProgress",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 17 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "15 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "9d2438f1858c7392d9f87893f5c714fb6dad7ff2",
        "ran_at": "2026-07-29T17:58:07Z",
        "aggregate_score": 7.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-29T17:55:33Z",
      "oldest_open_prs": [
        {
          "number": 6944,
          "created_at": "2025-01-11T19:38:42Z",
          "last_comment_at": "2026-07-15T00:42:25Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 7373,
          "created_at": "2025-05-26T10:45:05Z",
          "last_comment_at": "2026-06-03T01:23:22Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 7541,
          "created_at": "2025-07-29T08:26:51Z",
          "last_comment_at": "2026-04-15T03:56:54Z",
          "last_comment_author": "mhucka"
        },
        {
          "number": 7738,
          "created_at": "2025-11-05T17:29:13Z",
          "last_comment_at": "2026-07-21T06:43:43Z",
          "last_comment_author": "radumarg"
        },
        {
          "number": 7751,
          "created_at": "2025-11-12T20:05:54Z",
          "last_comment_at": "2026-05-20T23:18:02Z",
          "last_comment_author": "eliottrosenberg"
        },
        {
          "number": 7752,
          "created_at": "2025-11-13T11:02:21Z",
          "last_comment_at": "2026-03-13T00:47:45Z",
          "last_comment_author": "wjhuggins"
        },
        {
          "number": 7827,
          "created_at": "2026-01-06T18:00:14Z",
          "last_comment_at": "2026-01-08T18:21:16Z",
          "last_comment_author": "codecov"
        },
        {
          "number": 7942,
          "created_at": "2026-03-09T06:32:38Z",
          "last_comment_at": "2026-04-15T17:52:27Z",
          "last_comment_author": "pavoljuhas"
        },
        {
          "number": 7978,
          "created_at": "2026-03-27T02:03:22Z",
          "last_comment_at": "2026-07-09T00:54:28Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 8026,
          "created_at": "2026-04-10T08:05:48Z",
          "last_comment_at": "2026-06-01T10:49:04Z",
          "last_comment_author": "dlyongemallo"
        },
        {
          "number": 8054,
          "created_at": "2026-04-21T18:22:50Z",
          "last_comment_at": "2026-06-24T16:42:13Z",
          "last_comment_author": "pavoljuhas"
        },
        {
          "number": 8091,
          "created_at": "2026-05-22T21:27:27Z",
          "last_comment_at": "2026-06-26T01:54:07Z",
          "last_comment_author": "pavoljuhas"
        },
        {
          "number": 8098,
          "created_at": "2026-05-28T18:50:06Z",
          "last_comment_at": "2026-06-26T01:52:23Z",
          "last_comment_author": "pavoljuhas"
        },
        {
          "number": 8125,
          "created_at": "2026-06-04T23:41:52Z",
          "last_comment_at": "2026-06-05T00:02:40Z",
          "last_comment_author": "codecov"
        },
        {
          "number": 8139,
          "created_at": "2026-06-14T23:12:49Z",
          "last_comment_at": "2026-06-15T00:19:49Z",
          "last_comment_author": "codecov"
        },
        {
          "number": 8141,
          "created_at": "2026-06-16T16:53:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 8145,
          "created_at": "2026-06-17T21:19:40Z",
          "last_comment_at": "2026-06-17T21:26:57Z",
          "last_comment_author": "codecov"
        },
        {
          "number": 8170,
          "created_at": "2026-06-30T07:09:42Z",
          "last_comment_at": "2026-07-20T04:46:51Z",
          "last_comment_author": "mhucka"
        },
        {
          "number": 8171,
          "created_at": "2026-06-30T07:09:46Z",
          "last_comment_at": "2026-07-10T19:32:57Z",
          "last_comment_author": "anshjaiswal12"
        },
        {
          "number": 8172,
          "created_at": "2026-06-30T07:53:24Z",
          "last_comment_at": "2026-07-01T19:17:28Z",
          "last_comment_author": "anshjaiswal12"
        }
      ],
      "last_merged_pr_at": "2026-07-29T17:55:27Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 461,
          "created_at": "2018-06-13T23:43:29Z",
          "last_comment_at": "2022-03-28T21:02:56Z",
          "last_comment_author": "95-martin-orion"
        },
        {
          "number": 1189,
          "created_at": "2018-11-22T02:10:08Z",
          "last_comment_at": "2026-05-14T13:55:09Z",
          "last_comment_author": "matti-sarjala"
        },
        {
          "number": 1544,
          "created_at": "2019-04-17T21:19:54Z",
          "last_comment_at": "2020-08-31T21:11:19Z",
          "last_comment_author": "balopat"
        },
        {
          "number": 1731,
          "created_at": "2019-06-19T18:41:23Z",
          "last_comment_at": "2025-05-14T00:33:16Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1740,
          "created_at": "2019-06-21T22:12:14Z",
          "last_comment_at": "2026-05-14T12:44:56Z",
          "last_comment_author": "matti-sarjala"
        },
        {
          "number": 2183,
          "created_at": "2019-09-25T20:36:27Z",
          "last_comment_at": "2026-07-17T02:26:53Z",
          "last_comment_author": "minorllama"
        },
        {
          "number": 2217,
          "created_at": "2019-09-27T03:49:20Z",
          "last_comment_at": "2025-01-29T05:32:47Z",
          "last_comment_author": "justinpan0"
        },
        {
          "number": 2313,
          "created_at": "2019-10-10T23:54:45Z",
          "last_comment_at": "2023-07-13T00:07:15Z",
          "last_comment_author": "westurner"
        },
        {
          "number": 2382,
          "created_at": "2019-10-19T18:44:35Z",
          "last_comment_at": "2021-10-15T19:06:12Z",
          "last_comment_author": "viathor"
        },
        {
          "number": 2581,
          "created_at": "2019-11-20T21:43:04Z",
          "last_comment_at": "2020-09-21T16:40:32Z",
          "last_comment_author": "balopat"
        },
        {
          "number": 2737,
          "created_at": "2020-02-05T01:36:40Z",
          "last_comment_at": "2026-07-11T01:57:35Z",
          "last_comment_author": "arettig"
        },
        {
          "number": 2763,
          "created_at": "2020-02-12T20:39:04Z",
          "last_comment_at": "2025-12-10T18:58:53Z",
          "last_comment_author": "pavoljuhas"
        },
        {
          "number": 3248,
          "created_at": "2020-08-19T19:00:23Z",
          "last_comment_at": "2021-04-29T01:00:47Z",
          "last_comment_author": "mpharrigan"
        },
        {
          "number": 3342,
          "created_at": "2020-09-18T22:55:01Z",
          "last_comment_at": "2026-07-22T06:44:27Z",
          "last_comment_author": "sankalpsthakur"
        },
        {
          "number": 3612,
          "created_at": "2020-12-16T02:03:20Z",
          "last_comment_at": "2021-12-13T18:24:12Z",
          "last_comment_author": "95-martin-orion"
        },
        {
          "number": 3614,
          "created_at": "2020-12-16T21:31:53Z",
          "last_comment_at": "2022-03-28T22:50:38Z",
          "last_comment_author": "95-martin-orion"
        },
        {
          "number": 3808,
          "created_at": "2021-02-15T14:10:10Z",
          "last_comment_at": "2021-02-24T19:34:23Z",
          "last_comment_author": "balopat"
        },
        {
          "number": 3913,
          "created_at": "2021-03-13T19:06:32Z",
          "last_comment_at": "2023-01-24T21:09:03Z",
          "last_comment_author": "cduck"
        },
        {
          "number": 4059,
          "created_at": "2021-04-28T00:58:26Z",
          "last_comment_at": "2022-05-31T18:04:52Z",
          "last_comment_author": "tanujkhattar"
        },
        {
          "number": 4321,
          "created_at": "2021-07-14T16:57:48Z",
          "last_comment_at": "2025-06-25T17:48:20Z",
          "last_comment_author": "pavoljuhas"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/quantumlib/Cirq",
    "host": "github.com",
    "name": "Cirq",
    "owner": "quantumlib"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 87,
      "inputs": {
        "security": 82,
        "vitality": 90,
        "community": 90,
        "governance": 89,
        "engineering": 84
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 90,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 408,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "408 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 408
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "releases_count": 31,
              "latest_release_tag": "v1.7.0",
              "releases_from_tags": false,
              "days_since_latest_release": 28,
              "mean_days_between_releases": 160.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "31 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 31
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 28 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~160.3 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 160.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 90,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "forks": 1252,
              "stars": 5026,
              "watchers": 191,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "5,026 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 5026
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1,252 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1252
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "191 watchers",
                "points": 12.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 191
                    }
                  }
                ],
                "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": "good",
            "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": 84,
            "inputs": {
              "packages": [
                "cirq",
                "cirq-aqt",
                "cirq-web",
                "cirq-core",
                "cirq-ionq",
                "cirq-google",
                "cirq-pasqal"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 107471
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "107,471 downloads/month across pypi",
                "points": 67.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 107471,
                      "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": "excellent",
        "name": "Sustainability & Governance",
        "value": 89,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "bus_factor": 6,
              "contributors_sampled": 99,
              "top_contributor_share": 0.121
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "6 contributor(s) cover half of all commits",
                "points": 48.6,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 12% of commits",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 12
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 17 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "merged_prs": 4799,
              "open_issues": 92,
              "closed_issues": 2395,
              "issue_closed_ratio": 0.963,
              "closed_unmerged_prs": 883
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "96% of issues closed",
                "points": 45,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 96
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "4799/5682 decided PRs merged",
                "points": 32.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 4799,
                      "decided": 5682
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "followers": 1401,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "quantumlib",
              "public_repos": 17,
              "account_age_days": 3262
            },
            "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": "1,401 followers of quantumlib",
                "points": 22.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1401,
                      "login": "quantumlib"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "17 public repos, account ~8 yr old",
                "points": 21.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 17
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "cirq",
                "cirq-aqt",
                "cirq-web",
                "cirq-core",
                "cirq-ionq",
                "cirq-google",
                "cirq-pasqal"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 29
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "7 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 7,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 29 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 29
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "2729 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 2729
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 84,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "10 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "nisq",
                "quantum-algorithms",
                "quantum-computing",
                "cirq",
                "algorithms",
                "api",
                "google-quantum",
                "python",
                "quantum",
                "quantum-circuit",
                "quantum-circuit-simulator",
                "quantum-development-kit",
                "quantum-information",
                "quantum-programming",
                "quantum-simulation",
                "sdk",
                "simulation",
                "quantum-computer-simulator",
                "quantum-programming-language",
                "google"
              ],
              "has_wiki": true,
              "homepage": "https://quantumai.google/cirq",
              "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://quantumai.google/cirq",
                "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": "20 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 82,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 78,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 7.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "badge detected: InProgress",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 17 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "15 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "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:cirq@1.7.0 runtime dependency closure — what installing the published package pulls in — 44 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:cirq@1.7.0",
                  "assessed": 44
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 44,
              "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": 44,
              "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": 9
            },
            "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": 58,
        "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.99,
              "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": "96 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 96,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "cirq-core/cirq/py.typed",
                "cirq-google/cirq_google/cloud/quantum/py.typed",
                "cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed",
                "cirq-google/cirq_google/py.typed",
                "cirq-web/cirq_web/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "3 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 3,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 272328,
              "source_files_sampled": 1225,
              "oversized_source_files": 14
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "cirq-core/cirq/py.typed, cirq-google/cirq_google/cloud/quantum/py.typed, cirq-google/cirq_google/cloud/quantum_v1alpha1/py.typed, cirq-google/cirq_google/py.typed, cirq-web/cirq_web/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "14/1225 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1225,
                      "oversized": 14
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "examples",
                "notebooks"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "cirq-google/cirq_google/api/v1/operations.proto",
                "cirq-google/cirq_google/api/v1/params.proto",
                "cirq-google/cirq_google/api/v1/program.proto",
                "cirq-google/cirq_google/api/v2/batch.proto",
                "cirq-google/cirq_google/api/v2/calibration.proto",
                "cirq-google/cirq_google/api/v2/device.proto",
                "cirq-google/cirq_google/api/v2/metrics.proto",
                "cirq-google/cirq_google/api/v2/ndarrays.proto",
                "cirq-google/cirq_google/api/v2/program.proto",
                "cirq-google/cirq_google/api/v2/result.proto",
                "cirq-google/cirq_google/api/v2/run_context.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "cirq-google/cirq_google/api/v1/operations.proto, cirq-google/cirq_google/api/v1/params.proto, cirq-google/cirq_google/api/v1/program.proto, cirq-google/cirq_google/api/v2/batch.proto, cirq-google/cirq_google/api/v2/calibration.proto, cirq-google/cirq_google/api/v2/device.proto, cirq-google/cirq_google/api/v2/metrics.proto, cirq-google/cirq_google/api/v2/ndarrays.proto, cirq-google/cirq_google/api/v2/program.proto, cirq-google/cirq_google/api/v2/result.proto, cirq-google/cirq_google/api/v2/run_context.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cirq-google/cirq_google/api/v1/operations.proto, cirq-google/cirq_google/api/v1/params.proto, cirq-google/cirq_google/api/v1/program.proto, cirq-google/cirq_google/api/v2/batch.proto, cirq-google/cirq_google/api/v2/calibration.proto, cirq-google/cirq_google/api/v2/device.proto, cirq-google/cirq_google/api/v2/metrics.proto, cirq-google/cirq_google/api/v2/ndarrays.proto, cirq-google/cirq_google/api/v2/program.proto, cirq-google/cirq_google/api/v2/result.proto, cirq-google/cirq_google/api/v2/run_context.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples, notebooks",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples, notebooks"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-29T17:58:46.206847Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/q/quantumlib/Cirq.svg",
  "full_name": "quantumlib/Cirq",
  "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.