Metadata-Version: 2.4
Name: qciconnect
Version: 0.10.0
Summary: The official SDK to the DLR's quantum computing platform QCI Connect.
Keywords: quantum computing, SDK, Software Development Kit, QCI Connect
Author: DLR-SC, David da Costa, Elisabeth Lobe, Thomas Keitzl, Johannes Renkl, Gary Schmiedinghoff, Thomas Stehle, Lukas Windgätter
Author-email: DLR-SC <qc-software@dlr.de>
License-Expression: Apache-2.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Requires-Dist: bitarray>=3.4.3
Requires-Dist: cirq-core>=1.6.1
Requires-Dist: docker<8,>=7.1.0
Requires-Dist: fastapi==0.110.3
Requires-Dist: flower==2.0.1
Requires-Dist: grpcio-tools>=1.74.0
Requires-Dist: grpcio>=1.76.0
Requires-Dist: httpx<0.29,>=0.28.1
Requires-Dist: matplotlib>=3.10.3
Requires-Dist: networkx>=3.5
Requires-Dist: notebook>=7.4.4
Requires-Dist: numpy<3,>=2.0.0,>=2.4.4
Requires-Dist: pandas>=2.3.0,>=2.3.2
Requires-Dist: platformdirs>=4.9.2
Requires-Dist: ply>=3.11
Requires-Dist: pydantic-settings>=2.4.0
Requires-Dist: pydantic<3,>=2.10.6,>=2.13.4
Requires-Dist: pyyaml<7,>=6.0.2
Requires-Dist: pyzx>=0.10.3
Requires-Dist: qiskit-qasm3-import>=0.6.0
Requires-Dist: qiskit>=2.1.0
Requires-Dist: sqlmodel>=0.0.19
Requires-Dist: tabulate<0.10,>=0.9.0
Requires-Dist: typeguard>=4.4.4
Requires-Dist: uvicorn<1,>=0.29.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown

[<picture><source media="(prefers-color-scheme: dark)" srcset="https://gitlab.com/dlr-sc-qc/qciconnect-sdk/alf/-/raw/main/docs/_static/logo_sdk.svg" height="100"><source media="(prefers-color-scheme: light)" srcset="https://gitlab.com/dlr-sc-qc/qciconnect-sdk/alf/-/raw/main/docs/_static/logo_sdk_dark.svg" height="100">
  <img alt="QCI Connect SDK" src="https://gitlab.com/dlr-sc-qc/qciconnect-sdk/alf/-/raw/main/docs/_static/logo_sdk.svg" height="100"></picture>](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/landing-page/)

# QCI Connect Software Development Kit (SDK)

The software development kit (SDK) of the [QCI Connect](https://qci.dlr.de/connect/) platform is a suite of tools to
- programmatically access its resources (QPUs and HPC simulators),
- conveniently develop applications with abstracted classes,
- locally run and develop algorithms and applications,
- prototype them with the same interface as the platform, and
- prepare them for being made available on the platform.

This release contains the five components `qciconnect.common`, `qciconnect.client`, `qciconnect.alf`, `qciconnect.applib` and `qciconnect.miniserver`. 

## Documentation

You can find more information and technical documentations of the components via the [QCI Connect SDK landing page](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/landing-page/).

## Quick Start

### Pip Installation

The easiest way to install the SDK is via

```bash
pip install qciconnect
```

The SDK components can also be installed separately via

```bash
pip install qciconnect-alf
pip install qciconnect-applib
pip install qciconnect-client
pip install qciconnect-miniserver
```

### Tutorial Notebooks for your Use Case

#### I want to connect to QCI Connect QPUs, Simulators and Compilers
- [Connect to QCI Connect with the API Client](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/api-client/examples/example_remote.html)
- [Use the ALF interfaces for sampling und estimating both locally and on QCI Connect](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/alf/tutorials/Tutorial%2001%20-%20Submit%20Jobs.html)

#### I want to develop Compilers for QCI Connect
- [Build and run your compilers locally on the miniserver](https://gitlab.com/dlr-sc-qc/qciconnect-sdk/miniserver)
- [Access them with the API Client](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/api-client/examples/example_local.html)

#### I want to use/create Error Mitigation Schemes
- [Use the mitigation samplers/estimators in ALF](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/alf/tutorials/Tutorial%2002%20-%20Implement%20and%20Use%20Error%20Mitigation%20Schemes.html)

#### I want to create Quantum Applications
- [Build Apps based on ALF](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/alf/tutorials/Tutorial%2003%20-%20Implement%20and%20Run%20Algorithms.html#)

#### I want to use existing Quantum Applications
- [Check out the tutorial notebooks for the core AppLib](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/applib/usage.html#tutorials)

## Working on Source Code (Dev Mode)

Clone the repository (or download the `.tar.gz` file), initialize the git submodules, then install dependencies. 

We recommend using [ultraviolet](https://docs.astral.sh/uv) ([installation guide](https://docs.astral.sh/uv/getting-started/installation/#installation-methods)).

```bash
git submodule update --init
uv sync
```
You can now [activate](https://docs.python.org/3/library/venv.html#how-venvs-work) the `.venv` in the source directory or use uv to run commands in the `.venv`, e. g.,  `uv run python my_script.py`.
