Skip to content
Merged
73 changes: 14 additions & 59 deletions custom-templates/package_init.py.jinja
Original file line number Diff line number Diff line change
@@ -1,62 +1,17 @@
{% from "helpers.jinja" import safe_docstring %}
{% set modules = ["exceptions", "extensions", "gates", "ionq_client", "pagination", "polling", "session"] %}
{{ safe_docstring(package_description) }}
from .exceptions import (
APIConnectionError,
APIError,
APITimeoutError,
AuthenticationError,
BadRequestError,
IonQError,
NotFoundError,
PermissionDeniedError,
RateLimitError,
ServerError,
)
from .extensions import AsyncEventHook, ClientExtension, EventHook
from .gates import gpi2_matrix, gpi_matrix, ms_matrix, zz_matrix
from .pagination import aiter_jobs, aiter_session_jobs, iter_jobs, iter_session_jobs
from .polling import (
JobFailedError,
JobTimeoutError,
async_wait_for_job,
wait_for_job,
)
from .session import SessionManager
from .client import AuthenticatedClient, Client
from .ionq_client import IonQClient, __version__
from .types import UNSET, Unset
from . import {{ modules | join(", ") }}
from .client import AuthenticatedClient, Client # noqa: F401
{% for m in modules %}
from .{{ m }} import * # noqa: F403
{% endfor %}
from .types import UNSET, Unset # noqa: F401

__all__ = (
"UNSET",
"APIConnectionError",
"APIError",
"APITimeoutError",
"AsyncEventHook",
"AuthenticatedClient",
"AuthenticationError",
"BadRequestError",
"Client",
"ClientExtension",
"EventHook",
"IonQClient",
"IonQError",
"JobFailedError",
"JobTimeoutError",
"NotFoundError",
"PermissionDeniedError",
"RateLimitError",
"ServerError",
"SessionManager",
"Unset",
"__version__",
"aiter_jobs",
"aiter_session_jobs",
"async_wait_for_job",
"gpi2_matrix",
"gpi_matrix",
"iter_jobs",
"iter_session_jobs",
"ms_matrix",
"wait_for_job",
"zz_matrix",
)
__all__ = sorted({
{{ modules | map("tojson") | join(", ") }},
"AuthenticatedClient", "Client", "UNSET", "Unset",
{% for m in modules %}
*{{ m }}.__all__,
{% endfor %}
})
89 changes: 31 additions & 58 deletions ionq_core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,63 +3,36 @@

"""A client library for accessing IonQ Cloud Platform API"""

from .client import AuthenticatedClient, Client
from .exceptions import (
APIConnectionError,
APIError,
APITimeoutError,
AuthenticationError,
BadRequestError,
IonQError,
NotFoundError,
PermissionDeniedError,
RateLimitError,
ServerError,
)
from .extensions import AsyncEventHook, ClientExtension, EventHook
from .gates import gpi2_matrix, gpi_matrix, ms_matrix, zz_matrix
from .ionq_client import IonQClient, __version__
from .pagination import aiter_jobs, aiter_session_jobs, iter_jobs, iter_session_jobs
from .polling import (
JobFailedError,
JobTimeoutError,
async_wait_for_job,
wait_for_job,
)
from .session import SessionManager
from .types import UNSET, Unset
from . import exceptions, extensions, gates, ionq_client, pagination, polling, session
from .client import AuthenticatedClient, Client # noqa: F401
from .exceptions import * # noqa: F403
from .extensions import * # noqa: F403
from .gates import * # noqa: F403
from .ionq_client import * # noqa: F403
from .pagination import * # noqa: F403
from .polling import * # noqa: F403
from .session import * # noqa: F403
from .types import UNSET, Unset # noqa: F401

__all__ = (
"UNSET",
"APIConnectionError",
"APIError",
"APITimeoutError",
"AsyncEventHook",
"AuthenticatedClient",
"AuthenticationError",
"BadRequestError",
"Client",
"ClientExtension",
"EventHook",
"IonQClient",
"IonQError",
"JobFailedError",
"JobTimeoutError",
"NotFoundError",
"PermissionDeniedError",
"RateLimitError",
"ServerError",
"SessionManager",
"Unset",
"__version__",
"aiter_jobs",
"aiter_session_jobs",
"async_wait_for_job",
"gpi2_matrix",
"gpi_matrix",
"iter_jobs",
"iter_session_jobs",
"ms_matrix",
"wait_for_job",
"zz_matrix",
__all__ = sorted(
{
"exceptions",
"extensions",
"gates",
"ionq_client",
"pagination",
"polling",
"session",
"AuthenticatedClient",
"Client",
"UNSET",
"Unset",
*exceptions.__all__,
*extensions.__all__,
*gates.__all__,
*ionq_client.__all__,
*pagination.__all__,
*polling.__all__,
*session.__all__,
}
)
13 changes: 13 additions & 0 deletions ionq_core/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,19 @@
```
"""

__all__ = [
"APIConnectionError",
"APIError",
"APITimeoutError",
"AuthenticationError",
"BadRequestError",
"IonQError",
"NotFoundError",
"PermissionDeniedError",
"RateLimitError",
"ServerError",
]


class IonQError(Exception):
"""Base exception for all IonQ errors.
Expand Down
2 changes: 2 additions & 0 deletions ionq_core/extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ def on_response(self, request: httpx.Request, response: httpx.Response) -> None:
```
"""

__all__ = ["AsyncEventHook", "ClientExtension", "EventHook"]

import logging
from collections.abc import Callable
from typing import Protocol, runtime_checkable
Expand Down
2 changes: 2 additions & 0 deletions ionq_core/gates.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
```
"""

__all__ = ["gpi2_matrix", "gpi_matrix", "ms_matrix", "zz_matrix"]

import cmath
import math

Expand Down
2 changes: 2 additions & 0 deletions ionq_core/ionq_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
async httpx transports.
"""

__all__ = ["IonQClient", "__version__"]

import os
import platform
import warnings
Expand Down
2 changes: 2 additions & 0 deletions ionq_core/pagination.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

from __future__ import annotations

__all__ = ["aiter_jobs", "aiter_session_jobs", "iter_jobs", "iter_session_jobs"]

import logging
from collections.abc import AsyncIterator, Callable, Iterator
from typing import TYPE_CHECKING, Any
Expand Down
2 changes: 2 additions & 0 deletions ionq_core/polling.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

from __future__ import annotations

__all__ = ["JobFailedError", "JobTimeoutError", "async_wait_for_job", "wait_for_job"]

import asyncio
import logging
import time
Expand Down
2 changes: 2 additions & 0 deletions ionq_core/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@

from __future__ import annotations

__all__ = ["SessionManager"]

import logging
from typing import TYPE_CHECKING

Expand Down
Loading