Skip to main content

Quantum Network Simulation Engine — entanglement distribution across repeater networks

Project description

qnet-core

Design the quantum internet before it exists

License: MIT Rust Python Release

Quantum network entanglement distribution simulator. Models quantum repeater networks, link generation protocols, fidelity purification (BBPSSW), and routing strategies for quantum communication — with both Rust library and Python bindings.

Features

  • Event-driven simulation — timeline coordination with binary heap scheduler
  • Entanglement purification — BBPSSW distillation protocol
  • Three routing strategies — lowest latency, highest fidelity, highest success rate
  • Monte Carlo ensembles — statistical analysis across thousands of runs
  • Pre-built topologies — telecom backbone, repeater chain, hybrid satellite-fiber
  • Topology comparison & diffing — compare and version your network designs
  • .qnet file format — load/save/diff network topologies
  • Python bindings — full API via PyO3

Installation

Python (from source)

# Install build dependencies
pip install qnet-core

Quick Start

from qnet_core import QNetEngine, generate_topology

topology = generate_topology("hybrid_satellite_fiber")

engine = QNetEngine()
engine.load_topology(topology)

stats = engine.simulate("Toronto", "London", fidelity_target=0.9, max_latency_ms=200, runs=100)

print(stats.empirical_success_rate)

Documentation

Tutorials

qnet-core tutorials

Examples

Examples

[Open in Colab] (https://colab.research.google.com/github/qnet-labs/qnet-core/blob/main/notebooks/01_gothamq_validation.ipynb)

Roadmap

  • Integration hooks for higher-level protocols (QKD, teleportation, distributed computing)
  • Expanded noise/decoherence modeling
  • Additional purification protocols
  • Parallel simulation support (also planned for the hosted simulation API)

Build and install in development mode

maturin develop --features python


### Rust

```bash
cargo add qnet-core

Building

# Rust only
cargo build

# Python bindings
maturin develop --features python

# Format & lint
cargo fmt && cargo clippy

# Run tests
cargo test
cd python && python test_example.py

Architecture

src/
├── api/          # Public API boundary (request/response types)
├── routing/      # Pathfinding + strategy selection
├── protocols.rs  # BBPSSW purification
├── scheduler.rs  # Timeline orchestration
├── simulation.rs # Event-driven runtime
├── network.rs    # Quantum graph model
├── memory.rs     # Qubit register tracking
├── metrics.rs    # Telemetry
└── swapping.rs   # Bell-state transformations
python/           # Python bindings + examples

License

MIT — see LICENSE.

Contributing

Contributions welcome! Please open an issue or submit a pull request.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit changes (git commit -am 'Add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

Built with Rust + PyO3. Powered by quantum simulation.

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

qnet_core-0.2.1.tar.gz (88.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qnet_core-0.2.1-cp38-abi3-win_amd64.whl (482.0 kB view details)

Uploaded CPython 3.8+Windows x86-64

qnet_core-0.2.1-cp38-abi3-manylinux_2_34_x86_64.whl (656.2 kB view details)

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

qnet_core-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (668.8 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

qnet_core-0.2.1-cp38-abi3-macosx_11_0_arm64.whl (617.4 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

qnet_core-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl (614.6 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file qnet_core-0.2.1.tar.gz.

File metadata

  • Download URL: qnet_core-0.2.1.tar.gz
  • Upload date:
  • Size: 88.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for qnet_core-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0a0efbf874f3fa07a12e352bf4c84c439a08d43ac4ae3c99b2b464b83749d510
MD5 5f51322a5dab2ae2d51d8d5cac3a4013
BLAKE2b-256 198f0c45211881a68bd206a440bf948c614fa753d3b81a7fb8c21e10c52649f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1.tar.gz:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qnet_core-0.2.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: qnet_core-0.2.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 482.0 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for qnet_core-0.2.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 13e9b2af62497c37ee1df3a1ab906c17f5bd4e6df3738c525339a9253683e19b
MD5 b65a99bb20917ff3a0a0e182076d9157
BLAKE2b-256 599a91390b15aa91606d48680e8a48fcf6d2bfb31d10f1d654aae0f7994113da

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1-cp38-abi3-win_amd64.whl:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qnet_core-0.2.1-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for qnet_core-0.2.1-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 42b2b96530d3be9c7a4b14ab572dab3609e59eceed149679c7771a0cbcd8009d
MD5 d5a9903a37576244e8fd72802874ce61
BLAKE2b-256 8ac888c8a987f07ec708b0cd3bfc9e8f7cf9658241fb4cb2eee37519b90103f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1-cp38-abi3-manylinux_2_34_x86_64.whl:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qnet_core-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qnet_core-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c7c1d1790c57a4ae304fbddbe6a825c76452f4e31622a14f26374f6713a4ad0
MD5 938173250599de59601252cb0f5b54ae
BLAKE2b-256 51437afd95e9f9e307155a64e11f9f00a47d7edf3bee035caa607a9f46daea98

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qnet_core-0.2.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qnet_core-0.2.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56a6c75b187cafa56727e5d9de72ab3d9536bf9ac5704f48dd0be43086164da7
MD5 8cf4250425ab713718bfcc64a31d1711
BLAKE2b-256 52eb4f1b8c0c2492048686d47d0e3aeaf44b3a9148cf825f55ede424213abf84

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qnet_core-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qnet_core-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2cac2c7a07aa29398e2caa96ea9f8dfb2599bdfe373f1993e9bb3773a6e0617b
MD5 7bfe6a9bc2cb30db74cb7d0483c21ee4
BLAKE2b-256 f0e04ae4082c7fec916e76cdfbbde728746903103e7910722826fc60b3b7bd1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for qnet_core-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on qnet-labs/qnet-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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