Metadata-Version: 2.4
Name: MosaiQC
Version: 0.1.0
Summary: MosaiQC quantum circuit cutting core with a C++ optimization backend
Keywords: quantum,circuit-cutting,qiskit,optimization,pybind11
Author: Koen Mesman
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.9
Provides-Extra: qiskit
Requires-Dist: qiskit>=1.0; extra == "qiskit"
Requires-Dist: qiskit-aer>=0.14; extra == "qiskit"
Requires-Dist: qiskit-ibm-runtime>=0.20; extra == "qiskit"
Provides-Extra: publish
Requires-Dist: build>=1.2; extra == "publish"
Requires-Dist: twine>=5; extra == "publish"
Requires-Dist: cibuildwheel>=2.20; extra == "publish"
Requires-Dist: cmake>=3.18; extra == "publish"
Requires-Dist: ninja>=1.11; extra == "publish"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Requires-Dist: cibuildwheel>=2.20; extra == "dev"
Requires-Dist: cmake>=3.18; extra == "dev"
Requires-Dist: ninja>=1.11; extra == "dev"
Requires-Dist: qiskit>=1.0; extra == "dev"
Requires-Dist: qiskit-aer>=0.14; extra == "dev"
Requires-Dist: qiskit-ibm-runtime>=0.20; extra == "dev"
Description-Content-Type: text/markdown

# MosaiQC

MosaiQC is a fast quantum circuit cutting package with a C++ optimization
backend exposed through Python as `MosaiQC`.

## METIS dependency
When available, the extension also builds without METIS support. However, it is highly recommended to install METIS for MosaiQC's full functionality. Installation instructions for METIS can be found here: https://github.com/KarypisLab/METIS.

## Installation

Install the core package:

```bash
python -m pip install MosaiQC
```

Install optional Qiskit integration dependencies:

```bash
python -m pip install "MosaiQC[qiskit]"
```

## Usage

```python
import MosaiQC as mq

device = mq.DeviceInfo()
device.num_qubits = 5
device.couplings = [(0, 1), (1, 2)]

print(mq.count_edges(device))
```

Most APIs are exported from `MosaiQC` directly, including
`find_cutting_placement`, `refine_partition`, `CircuitGraph`, `TopologyGraph`,
and `DeviceInfo`. Advanced compiled bindings are available as `MosaiQC.native`.

## Build Locally

From this directory:

```bash
python -m pip install ".[dev]"
python -m build
python -m twine check dist/*
```
