diff --git a/README.md b/README.md index 0c72e8b..4e71c5d 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,12 @@ git tag v0.1.0 git push origin v0.1.0 ``` +## Getting help + +- **Bug reports and feature requests** - [GitHub Issues](https://github.com/ionq/ionq-core-python/issues) +- **Account, billing, or QPU questions** - [IonQ Support](https://ionq.com/contact) +- **API documentation** - [docs.ionq.com](https://docs.ionq.com/) + ## License Apache-2.0. See [LICENSE](LICENSE) for details. diff --git a/custom-templates/package_init.py.jinja b/custom-templates/package_init.py.jinja index 8e3bcbf..c602cf0 100644 --- a/custom-templates/package_init.py.jinja +++ b/custom-templates/package_init.py.jinja @@ -1,76 +1,5 @@ {% from "helpers.jinja" import safe_docstring %} -# Copyright 2026 IonQ, Inc. -# SPDX-License-Identifier: Apache-2.0 - -"""A Python client library for the [IonQ Cloud Platform API](https://docs.ionq.com/). - -Provides full access to IonQ's quantum computing services with typed models for all -request and response objects. Supports both synchronous and asynchronous usage. - -## Quick start - -```python -from ionq_core import IonQClient -from ionq_core.api.backends import get_backends - -# Authenticate with the IONQ_API_KEY environment variable -client = IonQClient() - -# List available quantum backends -for backend in get_backends.sync(client=client): - print(f"{backend.backend}: {backend.status}") -``` - -## Authentication - -Get an API key from the [IonQ Cloud Console](https://cloud.ionq.com), then -either set the ``IONQ_API_KEY`` environment variable or pass it directly: - -```python -client = IonQClient() # reads IONQ_API_KEY -client = IonQClient(api_key="your-key") # explicit key -``` - -## Submitting a job - -```python -from ionq_core.api.default import create_job -from ionq_core.models.circuit_job_creation_payload import CircuitJobCreationPayload - -job = create_job.sync( - client=client, - body=CircuitJobCreationPayload.from_dict({ - "type": "ionq.circuit.v1", - "backend": "simulator", - "shots": 1000, - "input": { - "gateset": "qis", - "circuit": [ - {"gate": "h", "targets": [0]}, - {"gate": "cnot", "targets": [0], "controls": [1]}, - ], - }, - }), -) -``` - -## Key features - -- **Sync and async** - every endpoint has ``.sync()`` and ``.asyncio()`` variants. -- **Automatic retries** - transient errors (429, 5xx) are retried with exponential - backoff. See `IonQClient` for configuration. -- **Typed exceptions** - HTTP errors are raised as `AuthenticationError`, - `RateLimitError`, `ServerError`, etc. See `_exceptions` for the full hierarchy. -- **Pagination helpers** - `iter_jobs` and `aiter_jobs` follow cursors automatically. -- **Job polling** - `wait_for_job` and `async_wait_for_job` poll until completion. -- **Session management** - `SessionManager` wraps the session lifecycle as a - context manager. -- **Native gate matrices** - `gpi_matrix`, `gpi2_matrix`, `ms_matrix`, and - `zz_matrix` return pure-Python unitary matrices for simulation and verification. -- **Extensibility** - `ClientExtension` lets downstream SDKs inject hooks, headers, - custom transports, and error mappers without modifying this library. -""" - +{{ safe_docstring(package_description) }} from ._exceptions import ( APIConnectionError, APIError, diff --git a/ionq_core/__init__.py b/ionq_core/__init__.py index f84d0bc..fbee532 100644 --- a/ionq_core/__init__.py +++ b/ionq_core/__init__.py @@ -1,76 +1,7 @@ # Copyright 2026 IonQ, Inc. # SPDX-License-Identifier: Apache-2.0 -"""A Python client library for the [IonQ Cloud Platform API](https://docs.ionq.com/). - -Provides full access to IonQ's quantum computing services with typed models for all -request and response objects. Supports both synchronous and asynchronous usage. - -## Quick start - -```python -from ionq_core import IonQClient -from ionq_core.api.backends import get_backends - -# Authenticate with the IONQ_API_KEY environment variable -client = IonQClient() - -# List available quantum backends -for backend in get_backends.sync(client=client): - print(f"{backend.backend}: {backend.status}") -``` - -## Authentication - -Get an API key from the [IonQ Cloud Console](https://cloud.ionq.com), then -either set the ``IONQ_API_KEY`` environment variable or pass it directly: - -```python -client = IonQClient() # reads IONQ_API_KEY -client = IonQClient(api_key="your-key") # explicit key -``` - -## Submitting a job - -```python -from ionq_core.api.default import create_job -from ionq_core.models.circuit_job_creation_payload import CircuitJobCreationPayload - -job = create_job.sync( - client=client, - body=CircuitJobCreationPayload.from_dict( - { - "type": "ionq.circuit.v1", - "backend": "simulator", - "shots": 1000, - "input": { - "gateset": "qis", - "circuit": [ - {"gate": "h", "targets": [0]}, - {"gate": "cnot", "targets": [0], "controls": [1]}, - ], - }, - } - ), -) -``` - -## Key features - -- **Sync and async** - every endpoint has ``.sync()`` and ``.asyncio()`` variants. -- **Automatic retries** - transient errors (429, 5xx) are retried with exponential - backoff. See `IonQClient` for configuration. -- **Typed exceptions** - HTTP errors are raised as `AuthenticationError`, - `RateLimitError`, `ServerError`, etc. See `_exceptions` for the full hierarchy. -- **Pagination helpers** - `iter_jobs` and `aiter_jobs` follow cursors automatically. -- **Job polling** - `wait_for_job` and `async_wait_for_job` poll until completion. -- **Session management** - `SessionManager` wraps the session lifecycle as a - context manager. -- **Native gate matrices** - `gpi_matrix`, `gpi2_matrix`, `ms_matrix`, and - `zz_matrix` return pure-Python unitary matrices for simulation and verification. -- **Extensibility** - `ClientExtension` lets downstream SDKs inject hooks, headers, - custom transports, and error mappers without modifying this library. -""" +"""A client library for accessing IonQ Cloud Platform API""" from ._exceptions import ( APIConnectionError, diff --git a/ionq_core/api/__init__.py b/ionq_core/api/__init__.py index dc035f4..ecdc005 100644 --- a/ionq_core/api/__init__.py +++ b/ionq_core/api/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains methods for accessing the API """ diff --git a/ionq_core/api/backends/__init__.py b/ionq_core/api/backends/__init__.py index c9921b5..a8af097 100644 --- a/ionq_core/api/backends/__init__.py +++ b/ionq_core/api/backends/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains endpoint functions for accessing the API """ diff --git a/ionq_core/api/backends/get_backend.py b/ionq_core/api/backends/get_backend.py index 4724203..fba04f3 100644 --- a/ionq_core/api/backends/get_backend.py +++ b/ionq_core/api/backends/get_backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/backends/get_backends.py b/ionq_core/api/backends/get_backends.py index 998deab..1b5c45d 100644 --- a/ionq_core/api/backends/get_backends.py +++ b/ionq_core/api/backends/get_backends.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/characterizations/__init__.py b/ionq_core/api/characterizations/__init__.py index c9921b5..a8af097 100644 --- a/ionq_core/api/characterizations/__init__.py +++ b/ionq_core/api/characterizations/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains endpoint functions for accessing the API """ diff --git a/ionq_core/api/characterizations/get_characterization.py b/ionq_core/api/characterizations/get_characterization.py index 4ab9cca..58f0038 100644 --- a/ionq_core/api/characterizations/get_characterization.py +++ b/ionq_core/api/characterizations/get_characterization.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/characterizations/get_characterizations_for_backend.py b/ionq_core/api/characterizations/get_characterizations_for_backend.py index df6d356..6295c90 100644 --- a/ionq_core/api/characterizations/get_characterizations_for_backend.py +++ b/ionq_core/api/characterizations/get_characterizations_for_backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/__init__.py b/ionq_core/api/default/__init__.py index c9921b5..a8af097 100644 --- a/ionq_core/api/default/__init__.py +++ b/ionq_core/api/default/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains endpoint functions for accessing the API """ diff --git a/ionq_core/api/default/cancel_job.py b/ionq_core/api/default/cancel_job.py index 0ca3e58..545ec9a 100644 --- a/ionq_core/api/default/cancel_job.py +++ b/ionq_core/api/default/cancel_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/cancel_jobs.py b/ionq_core/api/default/cancel_jobs.py index 3fc7b24..0a8ea2a 100644 --- a/ionq_core/api/default/cancel_jobs.py +++ b/ionq_core/api/default/cancel_jobs.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/create_job.py b/ionq_core/api/default/create_job.py index 2efe84b..9f3a5a6 100644 --- a/ionq_core/api/default/create_job.py +++ b/ionq_core/api/default/create_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/create_session.py b/ionq_core/api/default/create_session.py index 2b99611..680e5cb 100644 --- a/ionq_core/api/default/create_session.py +++ b/ionq_core/api/default/create_session.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/delete_job.py b/ionq_core/api/default/delete_job.py index 0d5f0be..25c6698 100644 --- a/ionq_core/api/default/delete_job.py +++ b/ionq_core/api/default/delete_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/delete_jobs.py b/ionq_core/api/default/delete_jobs.py index a49e356..36db6bf 100644 --- a/ionq_core/api/default/delete_jobs.py +++ b/ionq_core/api/default/delete_jobs.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/end_session.py b/ionq_core/api/default/end_session.py index c81c4cb..21d9802 100644 --- a/ionq_core/api/default/end_session.py +++ b/ionq_core/api/default/end_session.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/estimate_job_cost.py b/ionq_core/api/default/estimate_job_cost.py index f144ea4..fb8d300 100644 --- a/ionq_core/api/default/estimate_job_cost.py +++ b/ionq_core/api/default/estimate_job_cost.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_compiled_file.py b/ionq_core/api/default/get_compiled_file.py index fcc740c..d95ba13 100644 --- a/ionq_core/api/default/get_compiled_file.py +++ b/ionq_core/api/default/get_compiled_file.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_job.py b/ionq_core/api/default/get_job.py index 47e2869..efc8f52 100644 --- a/ionq_core/api/default/get_job.py +++ b/ionq_core/api/default/get_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_job_cost.py b/ionq_core/api/default/get_job_cost.py index 6f2675b..e8b74e6 100644 --- a/ionq_core/api/default/get_job_cost.py +++ b/ionq_core/api/default/get_job_cost.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_job_probabilities.py b/ionq_core/api/default/get_job_probabilities.py index eeaeadc..d2f6143 100644 --- a/ionq_core/api/default/get_job_probabilities.py +++ b/ionq_core/api/default/get_job_probabilities.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_jobs.py b/ionq_core/api/default/get_jobs.py index f511d06..0ff90db 100644 --- a/ionq_core/api/default/get_jobs.py +++ b/ionq_core/api/default/get_jobs.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_session.py b/ionq_core/api/default/get_session.py index 3ec0e6f..e83f4f1 100644 --- a/ionq_core/api/default/get_session.py +++ b/ionq_core/api/default/get_session.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_session_jobs.py b/ionq_core/api/default/get_session_jobs.py index c81e0c2..03ab64e 100644 --- a/ionq_core/api/default/get_session_jobs.py +++ b/ionq_core/api/default/get_session_jobs.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_sessions.py b/ionq_core/api/default/get_sessions.py index ef5534f..eeeca76 100644 --- a/ionq_core/api/default/get_sessions.py +++ b/ionq_core/api/default/get_sessions.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_variant_histogram.py b/ionq_core/api/default/get_variant_histogram.py index ed84900..e48ad55 100644 --- a/ionq_core/api/default/get_variant_histogram.py +++ b/ionq_core/api/default/get_variant_histogram.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_variant_probabilities.py b/ionq_core/api/default/get_variant_probabilities.py index cb3681f..3a1d9ae 100644 --- a/ionq_core/api/default/get_variant_probabilities.py +++ b/ionq_core/api/default/get_variant_probabilities.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/default/get_variant_shots.py b/ionq_core/api/default/get_variant_shots.py index 339ea1c..f96961c 100644 --- a/ionq_core/api/default/get_variant_shots.py +++ b/ionq_core/api/default/get_variant_shots.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/usage/__init__.py b/ionq_core/api/usage/__init__.py index c9921b5..a8af097 100644 --- a/ionq_core/api/usage/__init__.py +++ b/ionq_core/api/usage/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains endpoint functions for accessing the API """ diff --git a/ionq_core/api/usage/get_usages.py b/ionq_core/api/usage/get_usages.py index c344a44..110a1e5 100644 --- a/ionq_core/api/usage/get_usages.py +++ b/ionq_core/api/usage/get_usages.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/api/whoami/__init__.py b/ionq_core/api/whoami/__init__.py index c9921b5..a8af097 100644 --- a/ionq_core/api/whoami/__init__.py +++ b/ionq_core/api/whoami/__init__.py @@ -1 +1,4 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains endpoint functions for accessing the API """ diff --git a/ionq_core/api/whoami/get_whoami.py b/ionq_core/api/whoami/get_whoami.py index f71e4ed..9d67057 100644 --- a/ionq_core/api/whoami/get_whoami.py +++ b/ionq_core/api/whoami/get_whoami.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from http import HTTPStatus from typing import Any, cast from urllib.parse import quote diff --git a/ionq_core/client.py b/ionq_core/client.py index b1f783b..8953532 100644 --- a/ionq_core/client.py +++ b/ionq_core/client.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + import ssl from typing import Any diff --git a/ionq_core/errors.py b/ionq_core/errors.py index b912123..9e42266 100644 --- a/ionq_core/errors.py +++ b/ionq_core/errors.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains shared errors types that can be raised from API functions """ class UnexpectedStatus(Exception): diff --git a/ionq_core/models/__init__.py b/ionq_core/models/__init__.py index b42d329..5dafaea 100644 --- a/ionq_core/models/__init__.py +++ b/ionq_core/models/__init__.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains all the data models used in inputs/outputs """ from .add_job_results_payload import AddJobResultsPayload diff --git a/ionq_core/models/add_job_results_payload.py b/ionq_core/models/add_job_results_payload.py index 11fbb20..3b22b9f 100644 --- a/ionq_core/models/add_job_results_payload.py +++ b/ionq_core/models/add_job_results_payload.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/add_job_results_response.py b/ionq_core/models/add_job_results_response.py index 6625d37..02253dc 100644 --- a/ionq_core/models/add_job_results_response.py +++ b/ionq_core/models/add_job_results_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/ansatz.py b/ionq_core/models/ansatz.py index b855ea8..c155252 100644 --- a/ionq_core/models/ansatz.py +++ b/ionq_core/models/ansatz.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/backend.py b/ionq_core/models/backend.py index 5149b6f..ec4f24b 100644 --- a/ionq_core/models/backend.py +++ b/ionq_core/models/backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/bad_request_error.py b/ionq_core/models/bad_request_error.py index 332588d..0e11278 100644 --- a/ionq_core/models/bad_request_error.py +++ b/ionq_core/models/bad_request_error.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/base_job.py b/ionq_core/models/base_job.py index a83aae7..4d5ecd4 100644 --- a/ionq_core/models/base_job.py +++ b/ionq_core/models/base_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/characterization.py b/ionq_core/models/characterization.py index 3985de7..aef19b9 100644 --- a/ionq_core/models/characterization.py +++ b/ionq_core/models/characterization.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/characterization_fidelity.py b/ionq_core/models/characterization_fidelity.py index 8d39333..691858b 100644 --- a/ionq_core/models/characterization_fidelity.py +++ b/ionq_core/models/characterization_fidelity.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/characterization_fidelity_spam.py b/ionq_core/models/characterization_fidelity_spam.py index 7df6d97..c6ab354 100644 --- a/ionq_core/models/characterization_fidelity_spam.py +++ b/ionq_core/models/characterization_fidelity_spam.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/characterization_timing.py b/ionq_core/models/characterization_timing.py index 33372c8..8c10125 100644 --- a/ionq_core/models/characterization_timing.py +++ b/ionq_core/models/characterization_timing.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_compilation_settings.py b/ionq_core/models/circuit_job_compilation_settings.py index fea1198..6774c98 100644 --- a/ionq_core/models/circuit_job_compilation_settings.py +++ b/ionq_core/models/circuit_job_compilation_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_creation_payload.py b/ionq_core/models/circuit_job_creation_payload.py index 89ae243..482247c 100644 --- a/ionq_core/models/circuit_job_creation_payload.py +++ b/ionq_core/models/circuit_job_creation_payload.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_creation_payload_settings.py b/ionq_core/models/circuit_job_creation_payload_settings.py index f953986..2d8c22d 100644 --- a/ionq_core/models/circuit_job_creation_payload_settings.py +++ b/ionq_core/models/circuit_job_creation_payload_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_creation_payload_settings_compilation.py b/ionq_core/models/circuit_job_creation_payload_settings_compilation.py index f6bbca9..31a7d83 100644 --- a/ionq_core/models/circuit_job_creation_payload_settings_compilation.py +++ b/ionq_core/models/circuit_job_creation_payload_settings_compilation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_creation_payload_settings_error_mitigation.py b/ionq_core/models/circuit_job_creation_payload_settings_error_mitigation.py index a38d591..f83b2a1 100644 --- a/ionq_core/models/circuit_job_creation_payload_settings_error_mitigation.py +++ b/ionq_core/models/circuit_job_creation_payload_settings_error_mitigation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_creation_payload_type.py b/ionq_core/models/circuit_job_creation_payload_type.py index e507d48..cbb03e5 100644 --- a/ionq_core/models/circuit_job_creation_payload_type.py +++ b/ionq_core/models/circuit_job_creation_payload_type.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast CircuitJobCreationPayloadType = Literal['ionq.circuit.v1'] diff --git a/ionq_core/models/circuit_job_result.py b/ionq_core/models/circuit_job_result.py index 317a470..f6161be 100644 --- a/ionq_core/models/circuit_job_result.py +++ b/ionq_core/models/circuit_job_result.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_result_histogram.py b/ionq_core/models/circuit_job_result_histogram.py index 28bed18..f555bfe 100644 --- a/ionq_core/models/circuit_job_result_histogram.py +++ b/ionq_core/models/circuit_job_result_histogram.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_result_probabilities.py b/ionq_core/models/circuit_job_result_probabilities.py index 78a17c1..7b2f5cd 100644 --- a/ionq_core/models/circuit_job_result_probabilities.py +++ b/ionq_core/models/circuit_job_result_probabilities.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_result_shots.py b/ionq_core/models/circuit_job_result_shots.py index ad939c9..aad1ecb 100644 --- a/ionq_core/models/circuit_job_result_shots.py +++ b/ionq_core/models/circuit_job_result_shots.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_settings.py b/ionq_core/models/circuit_job_settings.py index 090357a..47645d5 100644 --- a/ionq_core/models/circuit_job_settings.py +++ b/ionq_core/models/circuit_job_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_settings_error_mitigation.py b/ionq_core/models/circuit_job_settings_error_mitigation.py index 704bdb6..5bc529e 100644 --- a/ionq_core/models/circuit_job_settings_error_mitigation.py +++ b/ionq_core/models/circuit_job_settings_error_mitigation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0.py b/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0.py index 17f18a6..025249c 100644 --- a/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0.py +++ b/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0_phi_chi_twirling.py b/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0_phi_chi_twirling.py index fb298b9..334c4b3 100644 --- a/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0_phi_chi_twirling.py +++ b/ionq_core/models/circuit_job_settings_error_mitigation_debiasing_type_0_phi_chi_twirling.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/circuit_job_stats.py b/ionq_core/models/circuit_job_stats.py index 5b475bd..cf1dd81 100644 --- a/ionq_core/models/circuit_job_stats.py +++ b/ionq_core/models/circuit_job_stats.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/create_session_request.py b/ionq_core/models/create_session_request.py index 1f094d9..2e77c88 100644 --- a/ionq_core/models/create_session_request.py +++ b/ionq_core/models/create_session_request.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/error.py b/ionq_core/models/error.py index 5a04b15..e80c603 100644 --- a/ionq_core/models/error.py +++ b/ionq_core/models/error.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/failure.py b/ionq_core/models/failure.py index f24d7f9..7544c7f 100644 --- a/ionq_core/models/failure.py +++ b/ionq_core/models/failure.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/failure_code.py b/ionq_core/models/failure_code.py index 961fe56..49019be 100644 --- a/ionq_core/models/failure_code.py +++ b/ionq_core/models/failure_code.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast FailureCode = Literal['CompilationError', 'ContractExpiredError', 'DebiasingError', 'InternalError', 'InvalidInput', 'NotEnoughQubits', 'OptimizationError', 'PreflightError', 'QuantumCircuitComplexityError', 'QuantumComputerError', 'QuotaExhaustedError', 'SimulationError', 'SimulationTimeout', 'SystemCancel', 'TooLongPredictedExecutionTime', 'TooManyControls', 'TooManyGates', 'TooManyShots', 'UnknownBillingError', 'UnsupportedGate'] diff --git a/ionq_core/models/gate_native_gate.py b/ionq_core/models/gate_native_gate.py index 4714aa7..5e17143 100644 --- a/ionq_core/models/gate_native_gate.py +++ b/ionq_core/models/gate_native_gate.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/gate_qis_gate.py b/ionq_core/models/gate_qis_gate.py index 1a07921..67f9f62 100644 --- a/ionq_core/models/gate_qis_gate.py +++ b/ionq_core/models/gate_qis_gate.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/generic_quantum_function_input.py b/ionq_core/models/generic_quantum_function_input.py index 36525fa..e084e6c 100644 --- a/ionq_core/models/generic_quantum_function_input.py +++ b/ionq_core/models/generic_quantum_function_input.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/generic_quantum_function_input_data.py b/ionq_core/models/generic_quantum_function_input_data.py index 96a915c..d2eccc0 100644 --- a/ionq_core/models/generic_quantum_function_input_data.py +++ b/ionq_core/models/generic_quantum_function_input_data.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_backend_backend.py b/ionq_core/models/get_backend_backend.py index 6855f01..b6cf10d 100644 --- a/ionq_core/models/get_backend_backend.py +++ b/ionq_core/models/get_backend_backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast GetBackendBackend = Literal['qpu.aria-1', 'qpu.aria-2', 'qpu.forte-1', 'qpu.forte-enterprise-1', 'qpu.forte-enterprise-2', 'qpu.forte-enterprise-3'] diff --git a/ionq_core/models/get_characterization_backend.py b/ionq_core/models/get_characterization_backend.py index 3a27cea..f2ada3d 100644 --- a/ionq_core/models/get_characterization_backend.py +++ b/ionq_core/models/get_characterization_backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast GetCharacterizationBackend = Literal['qpu.aria-1', 'qpu.aria-2', 'qpu.forte-1', 'qpu.forte-enterprise-1', 'qpu.forte-enterprise-2', 'qpu.forte-enterprise-3'] diff --git a/ionq_core/models/get_characterizations_for_backend_backend.py b/ionq_core/models/get_characterizations_for_backend_backend.py index 682b135..12b24f9 100644 --- a/ionq_core/models/get_characterizations_for_backend_backend.py +++ b/ionq_core/models/get_characterizations_for_backend_backend.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast GetCharacterizationsForBackendBackend = Literal['qpu.aria-1', 'qpu.aria-2', 'qpu.forte-1', 'qpu.forte-enterprise-1', 'qpu.forte-enterprise-2', 'qpu.forte-enterprise-3'] diff --git a/ionq_core/models/get_characterizations_for_backend_response_200.py b/ionq_core/models/get_characterizations_for_backend_response_200.py index 70a7f90..b8591fb 100644 --- a/ionq_core/models/get_characterizations_for_backend_response_200.py +++ b/ionq_core/models/get_characterizations_for_backend_response_200.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_circuit_job_response.py b/ionq_core/models/get_circuit_job_response.py index 6c9cb1c..6a44a88 100644 --- a/ionq_core/models/get_circuit_job_response.py +++ b/ionq_core/models/get_circuit_job_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_compiled_file_lang.py b/ionq_core/models/get_compiled_file_lang.py index 2d4ebfe..7aef42f 100644 --- a/ionq_core/models/get_compiled_file_lang.py +++ b/ionq_core/models/get_compiled_file_lang.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast GetCompiledFileLang = Literal['native', 'qasm3'] diff --git a/ionq_core/models/get_job_cost_response.py b/ionq_core/models/get_job_cost_response.py index 91208b9..b07776f 100644 --- a/ionq_core/models/get_job_cost_response.py +++ b/ionq_core/models/get_job_cost_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_cost_response_cost.py b/ionq_core/models/get_job_cost_response_cost.py index f22c32a..c47a0d1 100644 --- a/ionq_core/models/get_job_cost_response_cost.py +++ b/ionq_core/models/get_job_cost_response_cost.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_cost_response_estimated_cost.py b/ionq_core/models/get_job_cost_response_estimated_cost.py index 6c9a936..d7fc71a 100644 --- a/ionq_core/models/get_job_cost_response_estimated_cost.py +++ b/ionq_core/models/get_job_cost_response_estimated_cost.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_estimate_query_params.py b/ionq_core/models/get_job_estimate_query_params.py index 17b96c8..76fe491 100644 --- a/ionq_core/models/get_job_estimate_query_params.py +++ b/ionq_core/models/get_job_estimate_query_params.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_estimate_response.py b/ionq_core/models/get_job_estimate_response.py index 0dc4fa8..4b14906 100644 --- a/ionq_core/models/get_job_estimate_response.py +++ b/ionq_core/models/get_job_estimate_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_estimate_response_rate_information.py b/ionq_core/models/get_job_estimate_response_rate_information.py index 8f2c938..3dd2382 100644 --- a/ionq_core/models/get_job_estimate_response_rate_information.py +++ b/ionq_core/models/get_job_estimate_response_rate_information.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_job_response.py b/ionq_core/models/get_job_response.py index d37132d..ef9d6fc 100644 --- a/ionq_core/models/get_job_response.py +++ b/ionq_core/models/get_job_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_jobs_query_params.py b/ionq_core/models/get_jobs_query_params.py index 7aa2260..1c300d5 100644 --- a/ionq_core/models/get_jobs_query_params.py +++ b/ionq_core/models/get_jobs_query_params.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_jobs_response.py b/ionq_core/models/get_jobs_response.py index e4c3014..80cafce 100644 --- a/ionq_core/models/get_jobs_response.py +++ b/ionq_core/models/get_jobs_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_results_response.py b/ionq_core/models/get_results_response.py index 05f3f0c..589c444 100644 --- a/ionq_core/models/get_results_response.py +++ b/ionq_core/models/get_results_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_sessions_query_params.py b/ionq_core/models/get_sessions_query_params.py index c0ebb43..d641545 100644 --- a/ionq_core/models/get_sessions_query_params.py +++ b/ionq_core/models/get_sessions_query_params.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/get_variant_results_response.py b/ionq_core/models/get_variant_results_response.py index 4409286..949fae7 100644 --- a/ionq_core/models/get_variant_results_response.py +++ b/ionq_core/models/get_variant_results_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/group_by.py b/ionq_core/models/group_by.py index 6e6053b..d621d46 100644 --- a/ionq_core/models/group_by.py +++ b/ionq_core/models/group_by.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast GroupBy = Literal['job', 'project', 'user'] diff --git a/ionq_core/models/group_usage.py b/ionq_core/models/group_usage.py index 1cbee24..a13c9ee 100644 --- a/ionq_core/models/group_usage.py +++ b/ionq_core/models/group_usage.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/hamiltonian_energy_data.py b/ionq_core/models/hamiltonian_energy_data.py index fffe715..f81d5a8 100644 --- a/ionq_core/models/hamiltonian_energy_data.py +++ b/ionq_core/models/hamiltonian_energy_data.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/hamiltonian_energy_input.py b/ionq_core/models/hamiltonian_energy_input.py index b8b80cd..2d287f1 100644 --- a/ionq_core/models/hamiltonian_energy_input.py +++ b/ionq_core/models/hamiltonian_energy_input.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/hamiltonian_energy_input_data.py b/ionq_core/models/hamiltonian_energy_input_data.py index d4bd812..e5bbc52 100644 --- a/ionq_core/models/hamiltonian_energy_input_data.py +++ b/ionq_core/models/hamiltonian_energy_input_data.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/hamiltonian_energy_input_data_type.py b/ionq_core/models/hamiltonian_energy_input_data_type.py index 3e3ac14..4d3f671 100644 --- a/ionq_core/models/hamiltonian_energy_input_data_type.py +++ b/ionq_core/models/hamiltonian_energy_input_data_type.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast HamiltonianEnergyInputDataType = Literal['hamiltonian-energy'] diff --git a/ionq_core/models/hamiltonian_pauli_term.py b/ionq_core/models/hamiltonian_pauli_term.py index e8d11f0..f1d64a0 100644 --- a/ionq_core/models/hamiltonian_pauli_term.py +++ b/ionq_core/models/hamiltonian_pauli_term.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/job_canceled_response.py b/ionq_core/models/job_canceled_response.py index 88a5c9c..44f40fc 100644 --- a/ionq_core/models/job_canceled_response.py +++ b/ionq_core/models/job_canceled_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/job_canceled_response_status.py b/ionq_core/models/job_canceled_response_status.py index 4516efd..b3783b6 100644 --- a/ionq_core/models/job_canceled_response_status.py +++ b/ionq_core/models/job_canceled_response_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobCanceledResponseStatus = Literal['canceled'] diff --git a/ionq_core/models/job_creation_response.py b/ionq_core/models/job_creation_response.py index 9e73f9f..af9a218 100644 --- a/ionq_core/models/job_creation_response.py +++ b/ionq_core/models/job_creation_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/job_deleted_response.py b/ionq_core/models/job_deleted_response.py index 9e8453b..867c547 100644 --- a/ionq_core/models/job_deleted_response.py +++ b/ionq_core/models/job_deleted_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/job_deleted_response_status.py b/ionq_core/models/job_deleted_response_status.py index 37e47d0..2bbef20 100644 --- a/ionq_core/models/job_deleted_response_status.py +++ b/ionq_core/models/job_deleted_response_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobDeletedResponseStatus = Literal['deleted'] diff --git a/ionq_core/models/job_metadata.py b/ionq_core/models/job_metadata.py index b66651b..db7bd8c 100644 --- a/ionq_core/models/job_metadata.py +++ b/ionq_core/models/job_metadata.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/job_q_ctrl_status.py b/ionq_core/models/job_q_ctrl_status.py index fa0fc73..83c5748 100644 --- a/ionq_core/models/job_q_ctrl_status.py +++ b/ionq_core/models/job_q_ctrl_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobQCtrlStatus = Literal['complete', 'max_iteration', 'running'] diff --git a/ionq_core/models/job_status.py b/ionq_core/models/job_status.py index def021e..60b89b6 100644 --- a/ionq_core/models/job_status.py +++ b/ionq_core/models/job_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobStatus = Literal['canceled', 'completed', 'failed', 'ready', 'started', 'submitted'] diff --git a/ionq_core/models/jobs_bulk_operation_request.py b/ionq_core/models/jobs_bulk_operation_request.py index 8ebb3ff..5c2fab6 100644 --- a/ionq_core/models/jobs_bulk_operation_request.py +++ b/ionq_core/models/jobs_bulk_operation_request.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/jobs_canceled_response.py b/ionq_core/models/jobs_canceled_response.py index 0849261..ec3f428 100644 --- a/ionq_core/models/jobs_canceled_response.py +++ b/ionq_core/models/jobs_canceled_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/jobs_canceled_response_status.py b/ionq_core/models/jobs_canceled_response_status.py index 795573f..4bbccbe 100644 --- a/ionq_core/models/jobs_canceled_response_status.py +++ b/ionq_core/models/jobs_canceled_response_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobsCanceledResponseStatus = Literal['canceled'] diff --git a/ionq_core/models/jobs_deleted_response.py b/ionq_core/models/jobs_deleted_response.py index 45e0ef2..7c0bfdc 100644 --- a/ionq_core/models/jobs_deleted_response.py +++ b/ionq_core/models/jobs_deleted_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/jobs_deleted_response_status.py b/ionq_core/models/jobs_deleted_response_status.py index 55d328b..6bdf9e8 100644 --- a/ionq_core/models/jobs_deleted_response_status.py +++ b/ionq_core/models/jobs_deleted_response_status.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JobsDeletedResponseStatus = Literal['deleted'] diff --git a/ionq_core/models/json_multi_circuit_input.py b/ionq_core/models/json_multi_circuit_input.py index 81433fa..7f8bbda 100644 --- a/ionq_core/models/json_multi_circuit_input.py +++ b/ionq_core/models/json_multi_circuit_input.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/json_multi_circuit_input_gateset.py b/ionq_core/models/json_multi_circuit_input_gateset.py index c351b5a..ff7b878 100644 --- a/ionq_core/models/json_multi_circuit_input_gateset.py +++ b/ionq_core/models/json_multi_circuit_input_gateset.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JsonMultiCircuitInputGateset = Literal['native', 'qis'] diff --git a/ionq_core/models/json_multi_circuit_job.py b/ionq_core/models/json_multi_circuit_job.py index 9f34451..7ad4f47 100644 --- a/ionq_core/models/json_multi_circuit_job.py +++ b/ionq_core/models/json_multi_circuit_job.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/json_multi_circuit_job_settings.py b/ionq_core/models/json_multi_circuit_job_settings.py index 5a35f6e..c3c3479 100644 --- a/ionq_core/models/json_multi_circuit_job_settings.py +++ b/ionq_core/models/json_multi_circuit_job_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/json_multi_circuit_job_settings_compilation.py b/ionq_core/models/json_multi_circuit_job_settings_compilation.py index db79c8b..ca7c784 100644 --- a/ionq_core/models/json_multi_circuit_job_settings_compilation.py +++ b/ionq_core/models/json_multi_circuit_job_settings_compilation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/json_multi_circuit_job_settings_error_mitigation.py b/ionq_core/models/json_multi_circuit_job_settings_error_mitigation.py index 37a2a16..426c0c2 100644 --- a/ionq_core/models/json_multi_circuit_job_settings_error_mitigation.py +++ b/ionq_core/models/json_multi_circuit_job_settings_error_mitigation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/json_multi_circuit_job_type.py b/ionq_core/models/json_multi_circuit_job_type.py index be34d08..7ab2d5b 100644 --- a/ionq_core/models/json_multi_circuit_job_type.py +++ b/ionq_core/models/json_multi_circuit_job_type.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast JSONMultiCircuitJobType = Literal['ionq.multi-circuit.v1'] diff --git a/ionq_core/models/json_object.py b/ionq_core/models/json_object.py index b0df3c9..ffd0e1e 100644 --- a/ionq_core/models/json_object.py +++ b/ionq_core/models/json_object.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/linear_constraint.py b/ionq_core/models/linear_constraint.py index 22999f2..7c998cf 100644 --- a/ionq_core/models/linear_constraint.py +++ b/ionq_core/models/linear_constraint.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/modality.py b/ionq_core/models/modality.py index b2afbff..2cc1322 100644 --- a/ionq_core/models/modality.py +++ b/ionq_core/models/modality.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast Modality = Literal['daily', 'monthly', 'weekly'] diff --git a/ionq_core/models/native_circuit.py b/ionq_core/models/native_circuit.py index 7d783ca..03322d6 100644 --- a/ionq_core/models/native_circuit.py +++ b/ionq_core/models/native_circuit.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/native_circuit_gateset.py b/ionq_core/models/native_circuit_gateset.py index 1880125..9f2cb41 100644 --- a/ionq_core/models/native_circuit_gateset.py +++ b/ionq_core/models/native_circuit_gateset.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast NativeCircuitGateset = Literal['native'] diff --git a/ionq_core/models/native_circuit_input.py b/ionq_core/models/native_circuit_input.py index 23dcb60..cbdf126 100644 --- a/ionq_core/models/native_circuit_input.py +++ b/ionq_core/models/native_circuit_input.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/native_circuit_input_gateset.py b/ionq_core/models/native_circuit_input_gateset.py index d520123..b20afa1 100644 --- a/ionq_core/models/native_circuit_input_gateset.py +++ b/ionq_core/models/native_circuit_input_gateset.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast NativeCircuitInputGateset = Literal['native'] diff --git a/ionq_core/models/native_gate.py b/ionq_core/models/native_gate.py index 06e71d1..10d10fa 100644 --- a/ionq_core/models/native_gate.py +++ b/ionq_core/models/native_gate.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast NativeGate = Literal['gpi', 'gpi2', 'ms', 'nop', 'zz'] diff --git a/ionq_core/models/noise.py b/ionq_core/models/noise.py index a2518ae..2a22158 100644 --- a/ionq_core/models/noise.py +++ b/ionq_core/models/noise.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/noise_model.py b/ionq_core/models/noise_model.py index fa45414..8c87085 100644 --- a/ionq_core/models/noise_model.py +++ b/ionq_core/models/noise_model.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast NoiseModel = Literal['aria-1', 'aria-2', 'forte-1', 'forte-enterprise-1', 'harmony', 'harmony-1', 'harmony-2', 'ideal'] diff --git a/ionq_core/models/number_map.py b/ionq_core/models/number_map.py index 3e61282..8d35d6e 100644 --- a/ionq_core/models/number_map.py +++ b/ionq_core/models/number_map.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/qis_circuit.py b/ionq_core/models/qis_circuit.py index 4967e55..803abaa 100644 --- a/ionq_core/models/qis_circuit.py +++ b/ionq_core/models/qis_circuit.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/qis_circuit_gateset.py b/ionq_core/models/qis_circuit_gateset.py index da22171..95b02ff 100644 --- a/ionq_core/models/qis_circuit_gateset.py +++ b/ionq_core/models/qis_circuit_gateset.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast QISCircuitGateset = Literal['qis'] diff --git a/ionq_core/models/qis_circuit_input.py b/ionq_core/models/qis_circuit_input.py index dfcf9a1..ec7f424 100644 --- a/ionq_core/models/qis_circuit_input.py +++ b/ionq_core/models/qis_circuit_input.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/qis_circuit_input_gateset.py b/ionq_core/models/qis_circuit_input_gateset.py index 5721f60..ebf93e5 100644 --- a/ionq_core/models/qis_circuit_input_gateset.py +++ b/ionq_core/models/qis_circuit_input_gateset.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast QisCircuitInputGateset = Literal['qis'] diff --git a/ionq_core/models/qis_gate.py b/ionq_core/models/qis_gate.py index bb44881..8f4837a 100644 --- a/ionq_core/models/qis_gate.py +++ b/ionq_core/models/qis_gate.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast QisGate = Literal['cnot', 'h', 'not', 'pauliexp', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'v', 'vi', 'x', 'xx', 'y', 'yy', 'z', 'zz'] diff --git a/ionq_core/models/quadratic_constraint.py b/ionq_core/models/quadratic_constraint.py index 9c41d01..ca242ba 100644 --- a/ionq_core/models/quadratic_constraint.py +++ b/ionq_core/models/quadratic_constraint.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/quantum_function_job_creation_payload.py b/ionq_core/models/quantum_function_job_creation_payload.py index 69cc3e9..c04571a 100644 --- a/ionq_core/models/quantum_function_job_creation_payload.py +++ b/ionq_core/models/quantum_function_job_creation_payload.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/quantum_function_job_creation_payload_settings.py b/ionq_core/models/quantum_function_job_creation_payload_settings.py index 393bbe7..8c39398 100644 --- a/ionq_core/models/quantum_function_job_creation_payload_settings.py +++ b/ionq_core/models/quantum_function_job_creation_payload_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/quantum_function_job_creation_payload_settings_error_mitigation.py b/ionq_core/models/quantum_function_job_creation_payload_settings_error_mitigation.py index a8d89ff..fb5d4de 100644 --- a/ionq_core/models/quantum_function_job_creation_payload_settings_error_mitigation.py +++ b/ionq_core/models/quantum_function_job_creation_payload_settings_error_mitigation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/quantum_function_job_creation_payload_type.py b/ionq_core/models/quantum_function_job_creation_payload_type.py index 86aee1f..42fb0b0 100644 --- a/ionq_core/models/quantum_function_job_creation_payload_type.py +++ b/ionq_core/models/quantum_function_job_creation_payload_type.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast QuantumFunctionJobCreationPayloadType = Literal['quantum-function'] diff --git a/ionq_core/models/registers.py b/ionq_core/models/registers.py index 424eb33..458873c 100644 --- a/ionq_core/models/registers.py +++ b/ionq_core/models/registers.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/request_validation.py b/ionq_core/models/request_validation.py index e5b8b1c..a11a8ac 100644 --- a/ionq_core/models/request_validation.py +++ b/ionq_core/models/request_validation.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/session.py b/ionq_core/models/session.py index c1cf130..14324ff 100644 --- a/ionq_core/models/session.py +++ b/ionq_core/models/session.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/session_cost_limit.py b/ionq_core/models/session_cost_limit.py index 0d10e3e..b93fe4f 100644 --- a/ionq_core/models/session_cost_limit.py +++ b/ionq_core/models/session_cost_limit.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/session_settings.py b/ionq_core/models/session_settings.py index ceb950a..52ab58e 100644 --- a/ionq_core/models/session_settings.py +++ b/ionq_core/models/session_settings.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/session_settings_request.py b/ionq_core/models/session_settings_request.py index 9b2a919..f9247e5 100644 --- a/ionq_core/models/session_settings_request.py +++ b/ionq_core/models/session_settings_request.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/session_status_enum.py b/ionq_core/models/session_status_enum.py index 309276a..6a2f5f8 100644 --- a/ionq_core/models/session_status_enum.py +++ b/ionq_core/models/session_status_enum.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from typing import Literal, cast SessionStatusEnum = Literal['created', 'ended', 'started'] diff --git a/ionq_core/models/sessions_response.py b/ionq_core/models/sessions_response.py index e42de81..acb17b3 100644 --- a/ionq_core/models/sessions_response.py +++ b/ionq_core/models/sessions_response.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/usage.py b/ionq_core/models/usage.py index e97837c..462697c 100644 --- a/ionq_core/models/usage.py +++ b/ionq_core/models/usage.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/usages.py b/ionq_core/models/usages.py index 2f3a153..e263929 100644 --- a/ionq_core/models/usages.py +++ b/ionq_core/models/usages.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/models/whoami.py b/ionq_core/models/whoami.py index 3358abe..dd1acba 100644 --- a/ionq_core/models/whoami.py +++ b/ionq_core/models/whoami.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + from __future__ import annotations from collections.abc import Mapping diff --git a/ionq_core/types.py b/ionq_core/types.py index f74db0a..484d085 100644 --- a/ionq_core/types.py +++ b/ionq_core/types.py @@ -1,3 +1,6 @@ +# Copyright 2026 IonQ, Inc. +# SPDX-License-Identifier: Apache-2.0 + """ Contains some shared types for properties """ from collections.abc import Mapping, MutableMapping diff --git a/openapi-python-client-config.yaml b/openapi-python-client-config.yaml index f2c8973..f5cd209 100644 --- a/openapi-python-client-config.yaml +++ b/openapi-python-client-config.yaml @@ -3,7 +3,8 @@ package_name_override: ionq_core literal_enums: true post_hooks: - - "python -Ic \"p=__import__('pathlib').Path('client.py');p.write_text(p.read_text().replace(' token: str\\n',' token: str = field(repr=False)\\n'))\"" + - "perl -pi -e 's/token: str\\K$/ = field(repr=False)/' client.py" + - "perl -0777 -pi -e 's/\\A(?!# Copyright)/# Copyright 2026 IonQ, Inc.\\n# SPDX-License-Identifier: Apache-2.0\\n\\n/' $(find . -name '*.py')" - "ruff check . --fix-only" - "ruff format ."