Commit 829f234
authored
Sync OpenAPI spec with upstream (April 15, 2026) (#7)
* Sync OpenAPI spec with upstream (April 15, 2026)
Fetch latest spec from api-staging.ionq.co and regenerate the client.
Adds new GET /jobs/{UUID}/circuits/{lang} endpoint for retrieving
compiled circuit files in native or qasm3 format.
Closes #6
* Add tests for GET /jobs/{UUID}/circuits/{lang} endpoint
* Add code coverage enforcement at 90% for hand-written code
Adds pytest-cov with a 90% fail-under threshold, measuring only
hand-written ionq_core modules (excludes generated api/, models/,
client.py, errors.py, types.py). Current coverage: 93%.
* Achieve 100% test coverage on hand-written code
Add tests for all previously uncovered paths: transport close/aclose,
pagination None responses, async polling (timeout, sleep, None job),
session error paths, retry-after date parsing, and version fallback.
Bump coverage threshold from 90% to 100%.
* Simplify coverage tests: drop version reload, unit-test retry-after
Replace importlib.reload-based version fallback test with a coverage
exclusion for PackageNotFoundError (defensive pattern, same as
TYPE_CHECKING). Simplify retry-after date test to call _parse_retry_after
directly with a far-future date, eliminating all monkeypatching.
* Fix lint: move _real_sleep after imports, reformat test file
* Harden coverage config: branch coverage, skip non-primary versions
Enable branch coverage (already at 100% with 112 branches). Add
show_missing and skip_covered for cleaner reports. Add standard
exclude_also patterns (@overload, NotImplementedError, __main__).
Only run coverage on Python 3.12; other versions run tests without
coverage instrumentation overhead.
* Fix docs, export UNSET/Unset, flesh out changelog
- Fix CONTRIBUTING.md: add missing --custom-template-path flag
- Add CI badge and API docs link to README
- Fix Documentation URL in pyproject.toml to point to GitHub Pages
- Export UNSET and Unset from __init__.py (needed by all model consumers)
- Flesh out CHANGELOG.md with all 0.1.0 features
* Add CODEOWNERS, issue templates, and GitHub Release job
- CODEOWNERS: @ionq/sdk-team owns all files
- Issue templates: bug report and feature request YAML forms
- config.yml: directs account/billing questions to IonQ support
- Release workflow: create GitHub Release with auto-generated notes
after successful PyPI publish
* Add pip-audit dependency vulnerability scanning to CI
* Fix pip-audit: use uvx instead of GH action (uv venvs lack pip)
* Address code review: fix template ordering, trim redundancies
- Fix __all__ ordering in Jinja template to match generator output
- Remove redundant CODEOWNERS lines (wildcard already covers all)
- Add get_compiled_file to README endpoint table
- Remove unnecessary uv sync from audit job
- Remove unused raise NotImplementedError coverage exclusion1 parent 7e09448 commit 829f234
23 files changed
Lines changed: 629 additions & 11 deletions
File tree
- .github
- ISSUE_TEMPLATE
- workflows
- custom-templates
- ionq_core
- api/default
- models
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
249 | 251 | | |
250 | 252 | | |
251 | 253 | | |
| 254 | + | |
252 | 255 | | |
253 | 256 | | |
254 | 257 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| |||
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
| 51 | + | |
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
| |||
0 commit comments