Recent Releases of qbraid-qir
qbraid-qir - qBraid-QIR 0.4.0
Release 0.4.0 (June 17, 2025)
Summary
➕ New Features
- Added Adaptive Profile Support as defined by the QIR Specification for QASM conversions (#225)
- Edited Custom Profile to Base Profile as defined by the QIR Specification for QASM conversions (#228)
🌟 Improvements
- Improved coverage for
qbraid_qirwith additional tests for the gate maps for QASM 3 conversions. ( #227 )
⬇️ Dependency Updates
- Bump codecov/codecov-action from 5.4.2 to 5.4.3. (#223)
- Bump
pyqasmversion from>=0.3.2, <0.4.0to>=0.4.0, <0.5.0. (#231) - Update cirq-core requirement from
<1.5.0,>=1.3.0to>=1.3.0,<1.6.0(#229)
New Contributors
- @Gmin2 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/227
- @feelerx made their first contribution in https://github.com/qBraid/qbraid-qir/pull/225
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.3.2...v0.4.0
- Python
Published by TheGupta2012 12 months ago
qbraid-qir - qBraid-QIR 0.3.2
Release 0.3.2 (April 25, 2025)
Summary
📜 Documentation
- Add deploy to github pages and version bump workflows (including automation to update citation file) (#208)
⬇️ Dependency Updates
- Update pyqasm version to
>=0.3.2, <0.4.0(#220)
PRs Merged
- Update license badge link [no ci] by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/206
- Update license in pyproject.toml [no ci] by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/207
- Update sphinx-autodoc-typehints requirement from <3.1,>=1.24 to >=1.24,<3.2 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/205
- gh pages + bump version workflows by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/208
- update docker scripts to apache-2.0 by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/209
- Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/211
- Bump codecov/codecov-action from 4.4.1 to 5.4.0 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/210
- Update gh-pages.yml [no ci] by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/212
- Update README.md [no ci] by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/213
- Update pyqasm requirement from <0.3.0,>=0.2.1 to >=0.2.1,<0.4.0 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/216
- Update pyqasm version to
>=0.3.2, < 0.4.0by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/220 - Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/218
- Bump project version to 0.3.2 by @github-actions in https://github.com/qBraid/qbraid-qir/pull/221
New Contributors
- @github-actions made their first contribution in https://github.com/qBraid/qbraid-qir/pull/221
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.3.1...v0.3.2
- Python
Published by ryanhill1 about 1 year ago
qbraid-qir - qBraid-QIR 0.3.1
Release 0.3.1 (March 3, 2025)
Summary
➕ New Features
ctrlandnegctrlmodifier support added with pyqasm>=0.2.1 (#204)
🌟 Improvements
📜 Documentation
- Changed project from GPL to Apache 2.0 license (#198)
🐛 Bug Fixes
- Fix type error for integer in external gate call argument (#202)
⬇️ Dependency Updates
- Update sphinx-autodoc-typehints requirement from <2.6,>=1.24 to >=1.24,<3.1 (#193)
- Update pyqasm dependency from
"pyqasm>=0.1.0,<0.2.0"to"pyqasm>=0.2.1,<0.3.0"(#204)
👋 Deprecations
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.3.0...v0.3.1
- Python
Published by TheGupta2012 about 1 year ago
qbraid-qir - qBraid-QIR 0.3.0
Release 0.3.0 (Dec 31, 2024)
Summary
➕ New Features
- Add support for externally linked gates in QASM3 (#182). Users can now supply a list of external gates to the unroll method and the unroller will leave these gates as is. Usage - ```python In [14]: from qbraidqir.qasm3 import qasm3to_qir
In [15]: qasm = """OPENQASM 3.0; ...: include "stdgates.inc"; ...: gate mygate(p0) gateq0, _gateq1 { ...: h _gateq1; ...: cx _gateq0, _gateq1; ...: rz(p0) _gateq1; ...: cx _gateq0, _gateq1; ...: h _gateq_1; ...: } ...: bit[2] c; ...: qubit[2] q; ...: ry(pi/2) q[0]; ...: mygate(pi/2) q[0], q[1];"""
In [16]: result = qasm3toqir(qasm, external_gates=["mygate"])
In [17]: str(result).splitlines() Out[17]: ["; ModuleID = 'program-295790fc-c761-11ef-9fef-cae339f58536'", 'sourcefilename = "program-295790fc-c761-11ef-9fef-cae339f58536"', '', '%Qubit = type opaque', '%Result = type opaque', '', 'define void @program-295790fc-c761-11ef-9fef-cae339f58536() #0 {', 'entry:', ' call void @quantumrtinitialize(i8* null)', ' call void @quantumqisrybody(double 0x3FF921FB54442D18, %Qubit* null)', ' call void @quantumqismygatebody(double 0x3FF921FB54442D18, %Qubit* null, %Qubit* inttoptr (i64 1 to %Qubit*))', ' call void @quantumrtresultrecordoutput(%Result* null, i8* null)', ' call void @quantumrtresultrecordoutput(%Result* inttoptr (i64 1 to %Result), i8 null)', ' ret void', '}', '', 'declare void @quantumrtinitialize(i8*)', '', 'declare void @quantumqisrybody(double, %Qubit*)', '', 'declare void @quantumqismygatebody(double, %Qubit, %Qubit)', '', 'declare void @quantumrtresultrecordoutput(%Result, i8)', '', 'attributes #0 = { "entrypoint" "outputlabelingschema" "qirprofiles"="custom" "requirednumqubits"="2" "requirednumresults"="2" }', '', '!llvm.module.flags = !{!0, !1, !2, !3}', '', '!0 = !{i32 1, !"qirmajorversion", i32 1}', '!1 = !{i32 7, !"qirminorversion", i32 0}', '!2 = !{i32 1, !"dynamicqubitmanagement", i1 false}', '!3 = !{i32 1, !"dynamicresult_management", i1 false}'] ```
🌟 Improvements
- Update QIR-Runner docker container to
ubuntu:24.04as base image (#173) - Update lazy imports in QIR, and add linalg tests (#176)
- Changed examples notebook to sub-module linked to qbraid-lab-demo repo. (#178)
- Improved typing in
qbraid_qir.qasm3.linalg(#178) - Updated project metadata and README in anticipation of release v0.3 (#178)
📜 Documentation
- Updated sphinx docs pages with PyQASM API reference links (#174)
- Updated custom CSS so that stable/latest drop-down is visible for navigation. Before blended in white with background (#185)
- Updated examples sub-module links, and added note in
CONTRIBUTING.mdabout how to so (#185) - Updated
CONTRIBUTING.mdwith latest linters commands instructions (#185)
🐛 Bug Fixes
- Fix broken links for notebook examples (#180)
⬇️ Dependency Updates
- Added
pyqasmas project dependency (#173) - Updated
pyqasmandqbraiddependencies (#181 #183) - Bump
pyqasmversion to0.1.0(#189) - Update qbraid requirement from <0.9.0,>=0.8.3 to >=0.8.3,<0.10.0 (#191)
👋 Deprecations
- Removed
qbraid_qir.qasm3.linagmodule in favor ofpyqasm.linalg(#190)
New Contributors
- @Sola85 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/182
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.2.3...v0.3.0
- Python
Published by TheGupta2012 over 1 year ago
qbraid-qir - qBraid-QIR 0.2.3
Release 0.2.3 (Sep 27, 2024)
Summary
➕ New Features
- Add support for pauli measurement operators in
cirqconverter (#144) - Add support for
sizeofoperator inopenqasmconverter (#146) - Add complete support for
arraytype in subroutines (#151)
🌟 Improvements
- Re-factor the
BasicQasmVisitorand improve modularity (#142) - Add static type checking with
mypy(#150 ) - Improve measurement statement parsing logic and add support for range definition and discrete set (#150)
- Expanded support for parameters used in gate body expressions. Initially, if a statement inside a gate body used its parameters in arbitrary expressions, the expression was not evaluated correctly as the identifiers were not replaced. (#157). Example -
```c++
// previous
gate my_gate(a, b) q {
rx(a) q;
ry(b) q;
// this was not supported
rz(5 * a) q;
}
// current gate my_gate(a, b) q { rz(a) q;
// expressions supported now
rx(a * 3.2) q;
ry(a / b + pi) q;
} ```
📜 Documentation
- Housekeeping updates for release (#135)
- Update
CHANGELOG.mdto add new template (#137) - Update
CONTRIBUTING.mdto mention changelog updates (#140)
🐛 Bug Fixes
- Fix function block issues where qubit references were not getting populated correctly. Users can now use
for,switchand other constructs inside functions. (#141)
⬇️ Dependency Updates
- Update sphinx-autodoc-typehints requirement from <2.3,>=1.24 to >=1.24,<2.4 (#152)
- Update sphinx-autodoc-typehints requirement from <2.4,>=1.24 to >=1.24,<2.5 (#153)
PRs Merged
- housekeeping updates by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/135
- Update CHANGELOG.md by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/137
- Update CHANGELOG.md by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/139
- Update
CONTRIBUTING.mdby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/140 - Fix
forwith subroutines by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/141 - Add measurement basis change support for
cirq_qirby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/144 - Refactoring the
Qasm3Visitorby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/142 - Add implementation for
sizeofin openqasm by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/146 - Add
mypystatic types toqbraid-qirby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/150 arraysupport for QASM3 subroutines by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/151- Update sphinx-autodoc-typehints requirement from <2.3,>=1.24 to >=1.24,<2.4 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/152
- Update README.md by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/154
- Update sphinx-autodoc-typehints requirement from <2.4,>=1.24 to >=1.24,<2.5 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/153
- Add support for param update in gate param expr by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/157
- Update
CHANGELOG.mdby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/158 - Add semantic checker for qasm3 by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/155
- update checker and bump version by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/161
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.2.2...v0.2.3
- Python
Published by TheGupta2012 over 1 year ago
qbraid-qir - qBraid-QIR 0.2.2
Release 0.2.2 (Aug 9, 2024)
Summary
Documentation has been refreshed, including updates to the README.md and supported qasm3 constructs, ensuring clarity and accuracy. Dependencies have been upgraded, with the
qbraidrequirement now supporting versions between 0.7.0 and 0.8.0, theopenqasm3[parser]requirement updated to support versions between 1.0.0 and 1.1.0, and Sphinx requirements adjusted to support versions up to 8.1.0.Significant feature enhancements include the addition of support for Autoqasm to QIR conversion, qasm3 subroutines, and implementation for switch constructs. The handling of declarations and assignments has been improved, and a check for variable scope in alias declarations has been added. These updates contribute to better performance and functionality.
Several bugs and optimizations have been addressed, such as fixing the classical declaration bug for checking qubits during variable declaration, removing the use of the
typingmodule for type hints, and streamlining the codebase.
➕ New Features
- Support for Autoqasm -> QIR conversion was added by @rjain37. Validation of autoqasm programs which can be converted to openqasm and thus to qir is added. ( #119 )
switchstatements are now supported for qasm3-qir converter. Users can now useswitchin defining qasm programs and the converter dynamically evaluates which case to take. ( #126 )- Added support for qasm3
subroutines. Users can now leverage more powerful constructions of qasm programs with the user ofsubroutines. Array and Loop support coming soon! ( #128 )
🌟 Improvements
- Remove
typingmodule for type hints. Since the native types of python can be used as type hints, we remove dependency fortyping.List,typing.Tuple,typing.Dictandtyping.Set( #124 ) - Declarations and Assignments were improved with support for the array declarations, internal array indexing was changed to mimic pythonic arrays, constant assignments expressions were changed to only consider constant values in their instantiation and introduced implicit type casting for variables. ( #122 )
📜 Documentation
- Restructured docs for qbraid qir and updated README ( #115 )
- Update _version.py ( #120 )
- Update authors in citation ( #127 )
- Update supported qasm3 constructs in qasm3 README ( #130 )
🐛 Bug Fixes
- Add check for variable scope in alias declaration. Aliases can not contain the same name as an existing variable in scope. ( #121 )
- Classical declarations were updated to check for naming clash with quantum registers and vice versa. ( #134 )
⬇️ Dependency Updates
- Update qbraid requirement from <0.7.0,>=0.6.1 to >=0.7.0,<0.8.0 ( #117 )
- Update openqasm3[parser] requirement from <0.6.0,>=0.4.0 to >=1.0.0,<1.1.0 ( #116 )
- Update sphinx requirement from ~=7.3.7 to >=7.3.7,<7.5.0 by ( #118 )
- Update sphinx requirement from <7.5.0,>=7.3.7 to >=7.3.7,<8.1.0 ( #129 )
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.2.1...v0.2.2
- Python
Published by ryanhill1 almost 2 years ago
qbraid-qir - qBraid-QIR 0.2.1
Release 0.2.1 (Jun 25, 2024)
Summary
- bump cirq depedency
- add support for qasm3 loop statements
- add support for qasm3 alias statements
What's Changed
- post-release housekeep by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/92
- Update README.md for supported instrs by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/94
- update discord icon + add codecov by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/95
- Update cirq-core requirement from <1.4.0,>=1.3.0 to >=1.3.0,<1.5.0 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/96
- For loop implementation by @ejthomas in https://github.com/qBraid/qbraid-qir/pull/110
- Update README.md by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/111
- Support aliases for
qbraid_qir.qasm3.qasm3_to_qirby @king-p3nguin in https://github.com/qBraid/qbraid-qir/pull/102 - Update sphinx-autodoc-typehints requirement from <2.2,>=1.24 to >=1.24,<2.3 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/113
- bump version by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/114
New Contributors
- @ejthomas made their first contribution in https://github.com/qBraid/qbraid-qir/pull/110
- @king-p3nguin made their first contribution in https://github.com/qBraid/qbraid-qir/pull/102
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.2.0...v0.2.1
- Python
Published by ryanhill1 almost 2 years ago
qbraid-qir - qBraid-QIR 0.2.0
Release 0.2.0 (May 9, 2024)
Summary
- Add support for OpenQASM 3 conversions
What's Changed
- Qasm3Module Draft by @olgOk in https://github.com/qBraid/qbraid-qir/pull/46
- Update _version.py by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/63
- qasm3 review by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/68
- Developing the
openqasm3toQIRvisitor by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/54 - remove reqs files update workflows by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/69
- qir-runner simulator + housekeep by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/71
- results class for qir-runner simulator by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/72
- improve runner tests by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/73
- Improve coverage for
qasm3converter by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/74 - alias test + notimplemented by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/77
- Update README.md by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/82
- bump qbraid dependency by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/83
- Add support for modifiers by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/79
- Update docutils requirement from <0.21 to <0.22 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/84
- Update README.md with qasm3 supported OPs by @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/86
- Update sphinx-autodoc-typehints requirement from <2.1,>=1.24 to >=1.24,<2.2 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/87
- Update sphinx requirement from ~=7.2.6 to ~=7.3.7 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/88
- progress table template by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/89
- Add classical variable support to
qasm3_qir_converterby @TheGupta2012 in https://github.com/qBraid/qbraid-qir/pull/85 - prepare release by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/91
New Contributors
- @olgOk made their first contribution in https://github.com/qBraid/qbraid-qir/pull/46
- @TheGupta2012 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/54
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.1.1...v0.2.0
- Python
Published by ryanhill1 about 2 years ago
qbraid-qir - qBraid-QIR 0.1.1
Release 0.1.1 (March 4, 2024)
Summary
- Added examples folder
- Fixed test-containers pyqir install bug
- Added code coverage report
- Updates to measurement and conditional operator conversions
What's Changed
- Mwp by @rjain37 in https://github.com/qBraid/qbraid-qir/pull/26
- merging by @rjain37 in https://github.com/qBraid/qbraid-qir/pull/41
- cirq classically controlled ops + measurement updates by @rjain37 in https://github.com/qBraid/qbraid-qir/pull/42
- azure + rigetti example notebook by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/49
- Update sphinx-autodoc-typehints requirement from <1.26,>=1.24 to >=1.24,<2.1 by @dependabot in https://github.com/qBraid/qbraid-qir/pull/50
- README, workflows, and new example by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/51
- Create microsoftresourceestimatation.ipynb by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/52
- lint example notebook by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/53
- templates + pylint + cov by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/55
- codecov badge + launch on qBraid button by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/56
- add code of conduct + readme images and other info by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/57
- improved code-cov by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/60
- test-container fixes by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/62
Full Changelog: https://github.com/qBraid/qbraid-qir/compare/v0.1.0...v0.1.1
- Python
Published by ryanhill1 about 2 years ago
qbraid-qir - qBraid-QIR 0.1.0
Release 0.1.0 (Jan 12, 2024)
Summary
- First official release
cirq_to_qirconverter minimal working example
What's Changed
- initial repo setup by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/1
- update README by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/3
- update gitignore, status badge, pr template by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/4
- contributing + readme update by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/5
- outfile placeholder by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/8
- setting up test structure by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/10
- Adding fixtures by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/9
- first draft template cirq module by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/11
- Adding some more utility functions and mock test by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/13
- format, headers, test passes, pre-process by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/19
- Consistency across visitor with qids type by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/21
- Rohan by @rjain37 in https://github.com/qBraid/qbraid-qir/pull/24
- Some changes for MWP by @priyansh-1902 in https://github.com/qBraid/qbraid-qir/pull/25
- clean up code + measurement dev by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/34
- qir runner image + test fixes by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/36
- Added tests and expanded preprocessing by @skushnir123 in https://github.com/qBraid/qbraid-qir/pull/38
- dumps and powgate fixes by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/39
- fix grid qubit bug convert all to line contiguous line qubits by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/43
- update docs + bump version for initial release by @ryanhill1 in https://github.com/qBraid/qbraid-qir/pull/44
New Contributors
- @ryanhill1 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/1
- @dependabot made their first contribution in https://github.com/qBraid/qbraid-qir/pull/2
- @skushnir123 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/9
- @priyansh-1902 made their first contribution in https://github.com/qBraid/qbraid-qir/pull/25
Full Changelog: https://github.com/qBraid/qbraid-qir/commits/v0.1.0
- Python
Published by ryanhill1 over 2 years ago