Metadata-Version: 2.4
Name: qcoder
Version: 0.1.0a1
Summary: Quantum circuit analysis and structured feature extraction tools.
Author-email: Quantum Ready Solutions <support@qcoder.ai>
Maintainer-email: Quantum Ready Solutions <support@qcoder.ai>
License-Expression: Apache-2.0
Project-URL: Homepage, https://qcoder.ai
Project-URL: Documentation, https://qcoder.ai/manual/
Project-URL: Repository, https://github.com/QuantumReadySolutions/qCoder
Project-URL: Issues, https://github.com/QuantumReadySolutions/qCoder/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: numpy
Provides-Extra: qiskit
Requires-Dist: qiskit>=1.0; extra == "qiskit"
Dynamic: license-file

# qCoder

**qCoder** helps developers **inspect quantum circuits before they run them.** It reads **OpenQASM** circuits, extracts **repeatable structural features**, and emits **structured JSON** (single file) or **JSONL** (batches)—useful for **notebooks**, **CI**, **pull-request review**, and **AI coding assistants** when you attach or paste deterministic context next to circuit text.

**CLI:** **`qcoder analyze`** and **`qcoder batch`**. Optional **Qiskit** intake: **`pip install "qcoder[qiskit]"`**.

**Company / legal:** Quantum Ready Solutions. **Product docs:** [qcoder.ai](https://qcoder.ai) · [manual](https://qcoder.ai/manual/). **Source:** [github.com/QuantumReadySolutions/qCoder](https://github.com/QuantumReadySolutions/qCoder). **Support:** [support@qcoder.ai](mailto:support@qcoder.ai).

## What qCoder analyzes

qCoder summarizes **circuit structure** from declarations in your source files. Pair its JSON output with simulator or hardware run data whenever you need **execution evidence**.

## Package layout (supported public surface)

For **this release**, treat the **supported surface** as:

- **`qcoder analyze`** — single-circuit extraction (human or `--json`).
- **`qcoder batch`** — directory batch to **JSONL**.
- **`qcoder[qiskit]`** — optional `QuantumCircuit` intake into the **same extractor** as OpenQASM.
- **Documented feature output** — see [qcoder.ai — Feature reference](https://qcoder.ai/manual/feature-reference/) and `engines/feature_extraction/features/schema_v0.py`; JSON carries a **`schema_version`** alongside named fields.

Other modules under **`src/qcoder`** may exist for prototyping (extra tooling or engines outside the commands above). Unless documented here, **`docs/`**, or **qcoder.ai**, they do **not** share the same stability expectations as **`analyze`** / **`batch`** and documented output.

Brief notes live in **`docs/architecture.md`**.

## Install

```bash
pip install qcoder
```

Pre-release lines on PyPI use segments such as **`0.1.0a1`**.

Optional Qiskit adapter:

```bash
pip install "qcoder[qiskit]"
```

Requires **Python 3.11+**. Runtime dependency: **NumPy**.

## CLI quickstart

```bash
qcoder analyze path/to/circuit.qasm
qcoder analyze path/to/circuit.qasm --json
qcoder batch path/to/qasm_dir/ --out features.jsonl
```

## Develop / test (from a clone)

```bash
python -m venv .venv
source .venv/bin/activate
pip install -e ".[qiskit]"
pip install pytest
pytest -q
```

## License

Licensed under the **Apache License 2.0**. See `LICENSE` and `NOTICE`.
