Metadata-Version: 2.4
Name: oqtopus-client
Version: 1.1.1
Summary: Python SDK for OQTOPUS Cloud User API
Author-email: oqtopus-team <oqtopus-team@googlegroups.com>
License-Expression: Apache-2.0
Project-URL: documentation, https://oqtopus-client.readthedocs.io/
Project-URL: repository, https://github.com/oqtopus-team/oqtopus-client
Keywords: quantum,oqtopus,sdk,openapi
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.7.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: python-dateutil>=2.5.3
Requires-Dist: typing-extensions>=4.7.1
Requires-Dist: urllib3<2.1.0,>=1.25.3
Requires-Dist: aiohttp>=3.0.0
Requires-Dist: aiohttp-retry>=2.8.3
Provides-Extra: dev
Requires-Dist: ipykernel>=6.29.0; extra == "dev"
Requires-Dist: mkdocs>=1.6.0; extra == "dev"
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == "dev"
Requires-Dist: mkdocs-literate-nav>=0.6.1; extra == "dev"
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.28.0; extra == "dev"
Requires-Dist: mypy>=1.11.0; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: ruff>=0.6.0; extra == "dev"
Requires-Dist: types-PyYAML>=6.0.12.20241230; extra == "dev"
Requires-Dist: types-python-dateutil>=2.9.0.20250516; extra == "dev"
Dynamic: license-file

![OQTOPUS logo](https://raw.githubusercontent.com/oqtopus-team/oqtopus-client/main/docs/asset/oqtopus-logo.png)

# OQTOPUS Client

[![CI](https://github.com/oqtopus-team/oqtopus-client/actions/workflows/ci.yaml/badge.svg)](https://github.com/oqtopus-team/oqtopus-client/actions/workflows/ci.yaml)
[![pypi version](https://img.shields.io/pypi/v/oqtopus-client.svg)](https://pypi.org/project/oqtopus-client/)
[![Python versions](https://img.shields.io/pypi/pyversions/oqtopus-client.svg)](https://pypi.org/project/oqtopus-client/)
[![GitHub release](https://img.shields.io/github/v/release/oqtopus-team/oqtopus-client)](https://github.com/oqtopus-team/oqtopus-client/releases)
[![Documentation Status](https://readthedocs.org/projects/oqtopus-client/badge/?version=latest)](https://oqtopus-client.readthedocs.io/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![slack](https://img.shields.io/badge/slack-OQTOPUS-pink.svg?logo=slack&style=plastic)](https://join.slack.com/t/oqtopus/shared_invite/zt-3bpjb7yc3-Vg8IYSMY1m5wV3DR~TMSnw)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20155552.svg)](https://doi.org/10.5281/zenodo.20155552)

Python client library for the OQTOPUS Cloud User API.

## Overview

OQTOPUS Client is a Python SDK for the OQTOPUS Cloud User API.

It is designed for users who want to submit, monitor, and retrieve quantum jobs
from Python without handling raw HTTP requests directly. The library provides a
synchronous public API for ease of use, while handling network communication
asynchronously inside the client.

The SDK covers both low-level API access and higher-level convenience helpers.
You can work directly with typed request/response models when you need explicit
control, or use helpers such as `OqtopusJobSpec`, `run_*`, and typed result
wrappers for a more concise workflow.

## Features

- Typed Python access to the OQTOPUS Cloud User API.
- Job submission helpers for sampling, estimation, multi-manual, and SSE (Server-Side Execution)
  workflows.
- Job lifecycle operations such as submit, wait, status, cancel, and delete.
- Typed result wrappers and generated Pydantic models.
- Configuration via config files, environment variables, or explicit
  `OqtopusConfig`.
- Built-in retry and backoff controls.

## Documentation

- [Documentation Home](https://oqtopus-client.readthedocs.io/)

## Citation

You can use the DOI to cite OQTOPUS in your research.

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20155552.svg)](https://doi.org/10.5281/zenodo.20155552)

Citation information is also available in the [CITATION](https://github.com/oqtopus-team/oqtopus-client/blob/main/CITATION.cff) file.

## Contact

You can contact us by creating an issue in this repository or by email:

- [oqtopus-team[at]googlegroups.com](mailto:oqtopus-team[at]googlegroups.com)

## License

OQTOPUS Client is released under the [Apache License 2.0](https://github.com/oqtopus-team/oqtopus-client/blob/main/LICENSE).
