Metadata-Version: 2.4
Name: qciconnect-common
Version: 0.3.1
Summary: Interface definitions shared by multiple components of the QCI Connect SDK.
Keywords: quantum computing,API client,QCI Connect
Author: DLR-SC, David da Costa, Thomas Keitzl, Elisabeth Lobe, Johannes Renkl, Gary Schmiedinghoff, Thomas Stehle, Lukas Windgätter
Author-email: DLR-SC <qc-software@dlr.de>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Operating System :: OS Independent
Requires-Dist: grpcio>=1.76.0
Requires-Dist: grpcio-tools>=1.74.0
Requires-Dist: numpy>=2.4.4
Requires-Dist: pydantic-settings>=2.4.0
Requires-Dist: sqlmodel>=0.0.19
Requires-Python: >=3.12
Description-Content-Type: text/markdown

[<img src="https://gitlab.com/dlr-sc-qc/qciconnect-sdk/commons/-/raw/main/docs/_static/logo_sdk.svg" alt="QCI Connect SDK" height="100"/>](https://dlr-sc-qc.gitlab.io/qciconnect-sdk/landing-page/) &nbsp;
[<img src="https://gitlab.com/dlr-sc-qc/qciconnect-sdk/commons/-/raw/main/docs/_static/logo.png" alt="Common Repository" height="100"/>](https://gitlab.com/dlr-sc-qc/qciconnect-sdk/commons)

# Common

This python package provides shared interfaces and data models used across multiple components of the [QCI Connect SDK](https://pypi.org/project/qciconnect/).

It is the central location for common data structures, API definitions, and utility functions.

## Project Overview

This package contains:
- Data models for various entities (jobs, tasks, QPUs, compilers, users, etc.)
- GRPC communication settings
- Protocol buffer definitions
- Shared validators and utility functions

## 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
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`.
