Skip to main content

LazyQC logo

LazyQC

CI License Python 3.12+ PyPI GitHub stars

LazyQC is an open-source Python framework for lazy, observable-driven quantum simulation. You describe programs and request expectation values first; LazyQC plans the whole batch (observable cones, shared preparations, optional ZX rewrites and exact CX cuts under memory limits) and only runs the native Qulacs simulation when you call collect().

Installation

Requires Python 3.12 or newer. With uv:

uv add lazyqc

Optional extras: zx (PyZX rewrites), cutting (exact CX cuts, Qiskit frontend), tensor and mqt (alternative backends for benchmarking).

Quick start

from lazyqc import Program, plan_all

program = Program(4).ry(0, 0.4).cx(0, 1).ry(2, 0.8).cx(2, 3)
requests = [
    program.expectation({0: "Z"}),
    program.expectation({0: "X", 1: "X"}),
    program.expectation({2: "Z", 3: "Z"}),
]

plan = plan_all(requests, strategy="auto")  # classical planning only
print(plan.explain())
print(plan.collect().values)  # native simulation happens here

More examples live in examples/ and notebooks/, and design notes and results in docs/.

Development

uv sync --locked --all-extras
uv run pytest -q

Contributing

Contributions are welcome. Please read our Code of Conduct before opening an issue or pull request.

Citation

If you use LazyQC in your research, please cite the accompanying paper (see also CITATION.cff):

@article{montalban2026lazyqc,
  title   = {LazyQC: Lazy Planning for Batched Quantum Result Queries},
  author  = {Montalb{\'a}n, Iraitz},
  journal = {TODO},
  year    = {2026},
  doi     = {TODO}
}

Metadata

Release files for lazyqc 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lazyqc 0.1.0
File Size Uploaded Provenance
lazyqc-0.1.0.tar.gz 57.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lazyqc 0.1.0
File Interpreter ABI Platform
lazyqc-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 127.5 kB

Release files / lazyqc-0.1.0.tar.gz

Download URL lazyqc-0.1.0.tar.gz
Size 57.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e3c06d5f7e6b41c1907e59baf85e3477f9ae62108b8c17c0bb545476d3061548
BLAKE2b-256 checksum
How to use checksums
74f4fc6927e6a35ca2a2306676d3dc12cc51438a0d9300c5ebc9dc3d9b53faa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / lazyqc-0.1.0-py3-none-any.whl

Download URL lazyqc-0.1.0-py3-none-any.whl
Size 69.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c23c9244fe13d00ae7923b7ececfaad6351a5837b7bc4da6ae4f6b91c44eede5
BLAKE2b-256 checksum
How to use checksums
6bcef82fecfe35ab9426e38580deed769887fae59cb9525362851a9c463b0faa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for lazyqc 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page