Skip to main content

Qubit scheduling in Measurement-Based Quantum Computing (MBQC).

Project description

Python wrapper around mbqc_scheduling crate

This package provides an interface to the the mbqc_scheduling crate. It is usually used together with the Pauli tracker package.

Documentation

To the docs

Since this here is mainly a wrapper, we did not document everything extensively, but rather refer to the documentation of the underlying Rust crates, for now.

Examples

See examples/simple.py for a very basic example. examples/compile_flow.py is a specific example describing how the Pauli tracking and the scheduling can be used when combining/stitching graphs that, for example, represent parts of a larger circuit (it's a specific example for the project for which this library was initially developed).

Installation

You can install the package from PyPI, e.g., with

pip install mbqc-scheduling

The package contains pre-built wheels for manylinux_2_28_x86_64 (works on most Linux distribuitions), latest Windows and latest MacOS (latest with respect to when the package was built) for Python 3.8 to 3.12. Additionally, there is an manylinux_2_28_x86_64 abi3 wheel for Python >= 3.8. You can also build the package from source, e.g., force it during a pip install with pip install --no-binary mbqc-scheduling mbqc-scheduling, however, note that this requires Python >= 3.8 and a Rust toolchain >= 1.65.

At the moment, you may also find a more up-to-date wheel in the artifacts of the latest "pypackage" github actions workflow; this is unstable though.

Manually Building

The package has to be build with maturin. The make package commands builds it through a docker container such that it is compatible with manylinux_2_28_x86_64 for Python >= 3.8. With make update_docs the documentation can be build. The output of both make commands is in the dist directory.

Versioning

The Python package follows SemVer, however, the underlying Rust crate is unstable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mbqc_scheduling-0.1.0.tar.gz (19.4 kB view hashes)

Uploaded Source

Built Distributions

mbqc_scheduling-0.1.0-cp312-none-win_amd64.whl (511.3 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

mbqc_scheduling-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

mbqc_scheduling-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (659.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

mbqc_scheduling-0.1.0-cp311-none-win_amd64.whl (510.4 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

mbqc_scheduling-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

mbqc_scheduling-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (662.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

mbqc_scheduling-0.1.0-cp310-none-win_amd64.whl (510.4 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

mbqc_scheduling-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

mbqc_scheduling-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (662.1 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

mbqc_scheduling-0.1.0-cp39-none-win_amd64.whl (510.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

mbqc_scheduling-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

mbqc_scheduling-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (662.9 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

mbqc_scheduling-0.1.0-cp38-none-win_amd64.whl (510.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

mbqc_scheduling-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

mbqc_scheduling-0.1.0-cp38-cp38-macosx_10_12_x86_64.whl (662.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

mbqc_scheduling-0.1.0-cp38-abi3-manylinux_2_28_x86_64.whl (1.0 MB view hashes)

Uploaded CPython 3.8+ manylinux: glibc 2.28+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page