Summary
- restricted core dependencies and moved rest to optional dependencies, dynamically loaded
- move transpiler from hub and spokes model to graph model with ability to add new custom conversions
- qbraid.providers module + QbraidProvider() construct + braket/qiskit provider sub-classes
- add pennylane program type and to qasm2 support
- openqasm3 program type - circuit depth and other methods implemented natively instead of from qiskit
- amazon braket cost tracker, retrieving tagged jobs, and device availability windows
- started implementing fake device for ibm backends testing
- refactor unit tests and move old data classes to fixtures
- consolidate and improve quantum program methods for subclasses
- braket - qasm3 - qiskit transpiler path
What's Changed
* fixes 335 by EnriqueAnguianoVara in https://github.com/qBraid/qBraid/pull/357
* optional dependencies refactor by ryanhill1 in https://github.com/qBraid/qBraid/pull/373
* separate tests from src by ryanhill1 in https://github.com/qBraid/qBraid/pull/378
* move job api + deps updates by ryanhill1 in https://github.com/qBraid/qBraid/pull/381
* improve formatting of unit tests + housekeeping by ryanhill1 in https://github.com/qBraid/qBraid/pull/385
* Improve code coverage by ryanhill1 in https://github.com/qBraid/qBraid/pull/399
* Add implementation for `contiguous_qasm_3` function by TheGupta2012 in https://github.com/qBraid/qBraid/pull/398
* Add implementation for `contiguous` compression [contd] by TheGupta2012 in https://github.com/qBraid/qBraid/pull/402
* naming conventions, refactor classes, fn updates by ryanhill1 in https://github.com/qBraid/qBraid/pull/401
* Add implementation for `openqasm3.ast.Program` type in `circuit_wrapper` by TheGupta2012 in https://github.com/qBraid/qBraid/pull/414
* transpiler refactor by ryanhill1 in https://github.com/qBraid/qBraid/pull/417
* Update abc_program.py by ryanhill1 in https://github.com/qBraid/qBraid/pull/419
* add qbraid provider by ryanhill1 in https://github.com/qBraid/qBraid/pull/427
* split providers into sub-modules by ryanhill1 in https://github.com/qBraid/qBraid/pull/431
* braket queue position + provider try excepts by ryanhill1 in https://github.com/qBraid/qBraid/pull/432
* Add `reverse_qubit_order` method for qasm3 by TheGupta2012 in https://github.com/qBraid/qBraid/pull/433
* quantum device class by ryanhill1 in https://github.com/qBraid/qBraid/pull/452
* refactor provider unit tests by ryanhill1 in https://github.com/qBraid/qBraid/pull/453
* qiskit fake backend test + bug fix by ryanhill1 in https://github.com/qBraid/qBraid/pull/454
* cirq updates + provider credentials bug by ryanhill1 in https://github.com/qBraid/qBraid/pull/466
* Add qiskit <-> braket converter via `openqasm3` by TheGupta2012 in https://github.com/qBraid/qBraid/pull/446
* clean transpiler + pkg updates by ryanhill1 in https://github.com/qBraid/qBraid/pull/483
* aws task cost by ryanhill1 in https://github.com/qBraid/qBraid/pull/492
* transpiler qasm3 refactor by ryanhill1 in https://github.com/qBraid/qBraid/pull/496
* remove interface class by ryanhill1 in https://github.com/qBraid/qBraid/pull/497
* transpiler refactor cont. by ryanhill1 in https://github.com/qBraid/qBraid/pull/502
* braket qasm3 mapped gates fix by ryanhill1 in https://github.com/qBraid/qBraid/pull/503
* Add fake device integration for unit tests by TheGupta2012 in https://github.com/qBraid/qBraid/pull/498
* transpiler dynamic graph search by ryanhill1 in https://github.com/qBraid/qBraid/pull/506
* refactor tests + interface by ryanhill1 in https://github.com/qBraid/qBraid/pull/507
* fix docs + rm circuits all close cirq dep by ryanhill1 in https://github.com/qBraid/qBraid/pull/508
* display to top-level, compat py39 by ryanhill1 in https://github.com/qBraid/qBraid/pull/510
* update cost tracker + next available by ryanhill1 in https://github.com/qBraid/qBraid/pull/513
* qjobs backwards compat by ryanhill1 in https://github.com/qBraid/qBraid/pull/517
* jobs tagging by ryanhill1 in https://github.com/qBraid/qBraid/pull/518
* remove idle qubits on run command if simulator by ryanhill1 in https://github.com/qBraid/qBraid/pull/519
* patch cirq named qubit bug by ryanhill1 in https://github.com/qBraid/qBraid/pull/520
* cirq NamedQubit fixes + testing fixtures updates by ryanhill1 in https://github.com/qBraid/qBraid/pull/521
* pennylane wires ordering, tags unit tests, docs build bugs by ryanhill1 in https://github.com/qBraid/qBraid/pull/523
* conversion graph to nx.DiGraph + plot conversion graph by ryanhill1 in https://github.com/qBraid/qBraid/pull/528
* move conversions to transpiler module by ryanhill1 in https://github.com/qBraid/qBraid/pull/530
New Contributors
* EnriqueAnguianoVara made their first contribution in https://github.com/qBraid/qBraid/pull/357
**Full Changelog**: https://github.com/qBraid/qBraid/compare/v0.4.5...v0.5.0