Skip to main content

ParityOS Tket

ParityOS extension adding an interface to tket.

Installation

It is recommended to install this package in a separate Python virtual environment. For example:

# To create a standard Python virtual environment:
python -m venv my_new_venv && source my_new_venv/bin/activate
# Alternatively, to create a Anaconda/Miniconda environment:
conda create --name my_new_conda_env python=<version> && conda activate my_new_conda_env
# or a pyenv environment
pyenv virtualenv <version> my_new_venv && pyenv activate my_new_venv
# or a uv managed environment
uv venv -p <version>

where <version> is a python version and one of [3.11, 3.12, 3.13].

After activating the virtual environment, install via your favorite package manager, e.g.:

# using pip
pip install parityos-tket
# using uv
uv pip install parityos-tket

Exporter

parityos-tket offers an exporter of ParityOS to tket quantum circuits.

from parityos.bits import get_q
from parityos.operators.circuit import Circuit
from parityos.operators.controlled_operator import CNOT
from parityos.operators.elementary_operator import H, Z
from parityos.operators.rotation_operator import RX
from parityos_tket.exporter import export_parityos_to_pytket

# Create circuit qubits.
qubits = [get_q(name) for name in ("a", "b", "c")]

# Create the following circuit as sequence of gates, followed by a measurement of all qubits.
#     ┌───────┐┌───┐┌───┐   ┌─┐
# qa: ┤ Rx(2) ├┤ H ├┤ Z ├───┤M├
#     └───────┘├───┤└┬─┬┘   └╥┘
# qb: ─────────┤ X ├─┤M├─────╫─
#       ┌───┐  └─┬─┘ └╥┘ ┌─┐ ║
# qc: ──┤ H ├────■────╫──┤M├─╫─
#       └───┘         ║  └╥┘ ║
# c: 3/═══════════════╩═══╩══╩═
#                     1   2  0
circuit = Circuit(
    [
        RX(qubits[0], 2),
        H(qubits[0]),
        H(qubits[2]),
        CNOT(qubits[2], qubits[1]),
        Z(qubits[0]),
    ]
).measure_all()

# Export to tket.
tket_result = export_parityos_to_pytket(circuit)

# print converted circuit as sequence of commands
for cmd in tket_result.circuit.get_commands():
    print(cmd)
# Rx(2) q[0];
# H q[2];
# H q[0];
# CX q[2], q[1];
# Measure q[1] --> c[1];
# Measure q[2] --> c[2];
# Z q[0];
# Measure q[0] --> c[0];

print(tket_result.qubit_map)  # Maps ParityOS qubits to tket Qubit integer labels
# {Qubit(id='a'): 0, Qubit(id='b'): 1, Qubit(id='c'): 2}

print(tket_result.cbit_map)  # Maps ParityOS cbits to tket Clbit integer labels
# {Cbit(id=0): 0, Cbit(id=1): 1, Cbit(id=2): 2}

License

This software package is made available under the 3-Clause BSD License. See License.txt for details.

Metadata

Release files for parityos-tket 0.2.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 parityos-tket 0.2.0
File Size Uploaded Provenance Actions
parityos_tket-0.2.0.tar.gz 7.6 kB Without provenance Details for parityos_tket-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for parityos-tket 0.2.0
File Interpreter ABI Platform Actions
parityos_tket-0.2.0-py3-none-any.whl Python 3 none any Details for parityos_tket-0.2.0-py3-none-any.whl

Total release size: 16.1 kB

Release files / parityos_tket-0.2.0.tar.gz

Download URL parityos_tket-0.2.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9d9b46c9d55c1704670d4535870f1d1d7ad4523560ba4abba1111964ff80b958
BLAKE2b-256 checksum
How to use checksums
96730632ba9c428d2f31ebd37e9e3d9e39604311814ba9741edac0808550ba25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / parityos_tket-0.2.0-py3-none-any.whl

Download URL parityos_tket-0.2.0-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c96bf3690e20201d2b40ba757256f831b9a026dddc81c81115caef4af3dd113b
BLAKE2b-256 checksum
How to use checksums
f792c24bdab22bf0b70bfc0ad6dd059a2085ce8dd3c75571d253a49c4969bfa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for parityos-tket 0.2.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.2.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