Metadata-Version: 2.4
Name: qpol
Version: 0.1.0
Summary: QPOL — a hardware-aware simulation, mapping, and analog layer for QuTiP.
Project-URL: Homepage, https://github.com/guenp/qpol
Project-URL: Documentation, https://guenp.github.io/qpol/
Project-URL: Repository, https://github.com/guenp/qpol
Project-URL: Changelog, https://github.com/guenp/qpol/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/guenp/qpol/issues
Author-email: Guen Prawiroatmodjo <guenevere.p@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: analog,compiler,openqasm,quantum,qutip,simulation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# qpol

[![CI](https://github.com/guenp/qpol/actions/workflows/ci.yml/badge.svg)](https://github.com/guenp/qpol/actions/workflows/ci.yml)

**QPOL (Quantum Physical Operations Language)** — a hardware-aware simulation,
mapping, and analog layer for [QuTiP](https://qutip.org).

QPOL is a low-level, topology-aware intermediate representation and execution API
that bridges ideal quantum computations and real-world physical deployment. It
maps digital circuits and continuous analog field schedules down to QuTiP
time-dependent Hamiltonians to assess true physical state evolution.

> ⚠️ This project is in the proposal/planning stage — the API surface described in
> [`docs/plan.md`](docs/plan.md) is planned, not yet implemented.

## Installation

```sh
pip install qpol
```

## Development

Uses [`uv`](https://docs.astral.sh/uv/) for Python and dependency management; `uv.lock` is canonical and CI runs with `UV_FROZEN=true`.

```sh
uv sync
pre-commit install

uv run pytest               # tests with 100% coverage gate
uv run ruff check           # lint
uv run ruff format --check  # format check
uv run ty check src/        # type check
uv run zensical serve       # live-preview the docs
```

Docs are authored in `docs/` (Markdown) and built with [Zensical](https://zensical.org); `docs.yml` deploys them to GitHub Pages on every push to `main`.

## License

Apache License 2.0. See [LICENSE](LICENSE).
