Add CITATION.cff and widen pyqasm version range - #92
Conversation
Argus reviewAuto-review is off for this repo. Tick the box below to run a review on this PR.
Estimated cost
Tip: you can also comment |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe pull request adds ChangesRelease maintenance
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: 🔵 Low · up to The PR adds citation metadata that will be reused in Zenodo and package citations; the author list, affiliations, and ORCID should be confirmed before merge to avoid publishing incorrect attribution. The change is otherwise mergeable with this explicit owner follow-up. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Changes
1. Add
CITATION.cffqbraid-algorithmswas the only one of the four qBraid OSE repos without one. Without aCITATION.cffthe repo cannot mint a Zenodo DOI, so this package is not citable. (Related:pyqasmandqbraid-qircitations still cannot be counted because neither has a DOI yet — onlyqBraidhas one,10.5281/zenodo.12627596. That is out of scope here but worth tracking.)Field order, author formatting, keyword style,
license, andrepository-artifactfollowqBraid/pyqasmandqBraid/qbraid-qirexactly. Nodoikey, since none has been minted.2. Wire
bin/update_citation.pyinto the release pathbin/update_citation.pyalready existed here but was never called: unlike the three sibling repos,bump-version.ymldid not invoke it and did not stageCITATION.cff(it already installedpyyaml, so the step looks like it was dropped). Added the two lines the siblings have.Verification that the tooling works against the new file:
yaml.dump(..., sort_keys=False), the same callupdate_citation.pywrites with, so a release rewrite is byte-stable — no reordering, no requoting.python3 bin/update_citation.py 0.1.2against the committed file produces a diff of exactly one line (date-released, set to today by design). Running it with0.2.0/0.1.3changes onlyversion,repository-artifact, anddate-released.VERSION=$(python3 bin/bump_version.py patch)→0.1.3, thenpython3 bin/update_citation.py 0.1.3→ correctv0.1.3artifact URL. Both files reverted afterwards.cffconvert --validate).3. Dependencies
pyqasm>=0.5.0,<1.1.0>=0.5.0,<1.2.0qbraid>=0.11.0Latest on PyPI:
pyqasm1.1.0,qbraid0.12.2. Constraint shape preserved; no floors raised; no switch to==.qbraid>=0.11.0is unbounded and already resolves to 0.12.2, so no edit was needed to build against the latest SDK.Caveat a reviewer should weigh: every
qbraidrelease through 0.12.2 pinspyqasm<1.1.0, so widening our ceiling does not actually pull in pyqasm 1.1.0 — pip still resolves 1.0.4 via the transitive cap. The change is forward-positioning: it stops our pin from being the blocker onceqBraid/qBraidrelaxes its own. Relaxing that pin upstream is the real unblock and is not done here.This supersedes dependabot #87 (
pyqasm >=1.0.3,<1.1.0), which cannot cross the major ceiling on its own.Testing
Ran, on Python 3.11 with an editable install of
.[cli,pulse]plusrequirements-test.txt:pytest testswith pyqasm 1.1.0 + qbraid 0.12.2 — 124 passed.pytest testswith pyqasm 1.0.4 (what pip actually resolves) + qbraid 0.12.2 — 124 passed.pip checkclean on the resolved set;import qbraid_algorithmsOK.cffconvert --validateonCITATION.cff— valid.bin/update_citation.pyandbin/bump_version.pyrun locally, as described above.Not run:
tox -e docs,tox -e format-check/linters(no.pyunderqbraid_algorithms/,tests/, orbin/was touched), and thebump-version.ymlworkflow itself in CI — only its two commands, locally.Uncertainty: author metadata
Authors mirror
pyqasmandqbraid-qir, which both credit Harshit Gupta and Ryan Hill; ORCID is copied from the sibling files, none invented. Order is flipped relative topyqasmbecauseryanhill1(54 commits) is the dominant contributor here vsTheGupta2012(4).Both are real contributors to this repo, but several others are not credited:
babcockt18(13),Hirmay(7),vinayswamik(6),rjain37(5),LukeAndreesen(3),sbopanna,Kenny-Heitritter,MTakahashi-KWH,robertjovanov. The sibling repos credit only qBraid Co. staff, so I followed that, but please confirm the author list before merge — this is the metadata that ends up in every citation of the package.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Maintenance