Metadata-Version: 2.1
Name: oqtant
Version: 0.15.0
Summary: Oqtant Desktop Suite
License: Apache-2.0
Author: Larry Buza
Author-email: lawrence.buza@coldquanta.com
Requires-Python: >=3.10,<3.12
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3
Requires-Dist: bert-schemas (>=1.18.2,<2.0.0)
Requires-Dist: fastapi (>=0.92.0,<0.93.0)
Requires-Dist: ipykernel (>=6.23.1,<7.0.0)
Requires-Dist: lmfit (>=1.0.3,<2.0.0)
Requires-Dist: matplotlib (>=3.6.2,<3.7.0)
Requires-Dist: notebook (>=6.4.12,<7.0.0)
Requires-Dist: numpy (>=1.23.2,<2.0.0)
Requires-Dist: pydantic (>=1.10.1,<2.0.0)
Requires-Dist: pyjwt[crypto] (>=2.6.0,<3.0.0)
Requires-Dist: python-dotenv (>=0.21.1,<0.22.0)
Requires-Dist: requests (>=2.28.1,<3.0.0)
Requires-Dist: scikit-learn (>=1.2.0,<2.0.0)
Requires-Dist: scipy (>=1.10.0,<2.0.0)
Requires-Dist: semver (>=3.0.0,<4.0.0)
Requires-Dist: typing-extensions (>=4.3.0,<5.0.0)
Requires-Dist: urllib3 (>=1.26.12,<2.0.0)
Requires-Dist: uvicorn[standard] (>=0.20.0,<0.21.0)
Description-Content-Type: text/markdown

# Oqtant

[![License: Apache](https://img.shields.io/badge/License-Apache-yellow.svg)](https://opensource.org/licenses/Apache-2.0)
[![pypi](https://img.shields.io/pypi/v/bert-schemas.svg)](https://pypi.python.org/pypi/bert-schemas)
[![versions](https://img.shields.io/pypi/pyversions/bert-schemas.svg)](https://pypi.python.org/pypi/bert-schemas)
[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/Infleqtion.svg?style=social&label=Follow%20%40Infleqtion)](https://twitter.com/Infleqtion)

## 🚀 Quick Install

```python
pip install oqtant
```

## 🧭 Introduction

This API contains tools to:

- Access all the functionality of the Albert Web App (https://albert-dev.coldquanta.com)

  - BARRIER (Barrier Manipulator) jobs
  - BEC (Ultracold Matter) jobs

- Build parameterized (i.e. optimization) experiments using OqtantJobs

- Submit and retrieve OqtantJob results

## 🤖 How Oqtant Works

- Construct a single or list of jobs using the OqtantJob class

  - 1D parameter sweeps are supported

- Run a single or list of jobs using run_jobs(). The jobs are submitted to run on hardware in FIFO queue.

  - job lists are run sequentially (uninterrupted) unless list exceeds 30 jobs

- As jobs run, OqtantJob objects are created automatically and stored in active_jobs.

  - View these jobs with see_active_jobs()
  - These jobs are available until the python session ends.

- To operate on jobs from a current or previous session, load them into active_jobs with

  - load_job_from_id(), load_job_from_id_list(), load_job_from_file(), load_job_from_file_list()

- To analyze job objects and use Oqtant's job analysis library, reference the OqtantJob class documentation.

Need help? Found a bug? Contact <albert@infleqtion.com> for support. Thank you!

## 📓 Documentation

- [Getting started](https://gitlab.com/infleqtion/albert/oqtant/-/blob/main/documentation/INSTALL.md) (installation, setting up the environment, how to run the walkthrough notebooks)
- [Walkthroughs](https://gitlab.com/infleqtion/albert/oqtant/-/blob/main/documentation/walkthroughs/walkthroughs.md) (demos for creating and submitting jobs)
- [Oqtant API docs](https://gitlab.com/infleqtion/albert/oqtant/-/blob/main/documentation/oqtant_api_docs.md)
- [Oqtant API docs](https://gitlab.com/infleqtion/albert/oqtant/-/blob/main/documentation/albert_api_docs.md)
- [Job Analysis docs](https://gitlab.com/infleqtion/albert/oqtant/-/blob/main/documentation/job_analysis_docs.md)

