Skip to main content

Simulator of QUantum Network Communication (SeQUeNCe) is an open-source tool that allows modeling of quantum networks including photonic network components, control protocols, and applications.

Project description

sequence icon

Quantum Networking in SeQUeNCe: Customizable, Scalable, Easy Debugging

PyPi pyversions Documentation Qutip Paper PyPI Downloads


SeQUeNCe: Simulator of QUantum Network Communication

SeQUeNCe is an open source, discrete-event simulator for quantum networks. As described in our paper, the simulator includes 5 modules on top of a simulation kernel:

  • Hardware
  • Entanglement Management
  • Resource Management
  • Network Management
  • Application

These modules can be edited by users to define additional functionality and test protocol schemes, or may be used as-is to test network parameters and topologies.

Installing

SeQUeNCe requires Python 3.11 or later. You can simply install SeQUeNCe using pip:

pip install sequence

If you wish to make your own edits to the codebase, SeQUeNCe should be installed in development mode (a.k.a. editable install). To do so, clone and install the simulator as follows:

git clone https://github.com/sequence-toolbox/SeQUeNCe.git
cd SeQUeNCe
pip install --editable . --config-settings editable_mode=strict

For Linux and Mac users, you could use make install_editable instead of pip install --editable . --config-settings editable_mode=strict

Citation

Please cite us, thank you!

@article{sequence,
author = {Xiaoliang Wu and Alexander Kolar and Joaquin Chung and Dong Jin and Tian Zhong and Rajkumar Kettimuthu and Martin Suchara},
title = {SeQUeNCe: a customizable discrete-event simulator of quantum networks},
journal = {Quantum Science and Technology},
volume = {6},
year = {2021},
month = {sep},
doi = {10.1088/2058-9565/ac22f6},
url = {https://dx.doi.org/10.1088/2058-9565/ac22f6},
publisher = {IOP Publishing},
}

Running the GUI

Once SeQUeNCe has been installed as described above, simply run the gui.py script found in the root of the project directory

python gui.py

Usage Examples

Many examples of SeQUeNCe in action can be found in the example folder. The example includes jupyter notebook demos, and code used in published papers.

Additional Tools

Network Visualization

The example directory contains an example json file starlight.json to specify a network topology, and the utils directory contains the script draw_topo.py to visualize json files. To use this script, the Graphviz library must be installed. Installation information can be found on the Graphviz website.

To view a network, simply run the script and specify the relative location of your json file:

python utils/draw_topo.py example/starlight.json

This script also supports a flag -m to visualize BSM nodes created by default on quantum links between routers.

Contact

If you have questions, please contact Caitao Zhan at czhan@anl.gov.

Papers that Used and/or Extended SeQUeNCe

Please do a Pull Request to add your paper here!

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

sequence-0.8.5.dev81472917.tar.gz (519.4 kB view details)

Uploaded Source

Built Distribution

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

sequence-0.8.5.dev81472917-py3-none-any.whl (567.4 kB view details)

Uploaded Python 3

File details

Details for the file sequence-0.8.5.dev81472917.tar.gz.

File metadata

  • Download URL: sequence-0.8.5.dev81472917.tar.gz
  • Upload date:
  • Size: 519.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sequence-0.8.5.dev81472917.tar.gz
Algorithm Hash digest
SHA256 8ae2c6357d71bfcd9f96eb83e3bd57a31e6fc2bc1c37159e586357e1a05f1987
MD5 a1bb4b52f5903e7ab9435b5c0ab735cd
BLAKE2b-256 a0f0bf3215e6379c331d5458793c2567fd93d4fa8a6abb9859d1ae1ad0314cfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for sequence-0.8.5.dev81472917.tar.gz:

Publisher: development.yml on sequence-toolbox/SeQUeNCe

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

File details

Details for the file sequence-0.8.5.dev81472917-py3-none-any.whl.

File metadata

File hashes

Hashes for sequence-0.8.5.dev81472917-py3-none-any.whl
Algorithm Hash digest
SHA256 6a80a7baf08d13a0f0e5f1666a2d893944c2331d5a23dda99b7c252dad3c2555
MD5 34d436fb05d9efc391c06b104ea3dcbd
BLAKE2b-256 cd50c021a115dd1a8c0896bcf2c34ea2d862e894ee1ee2d74bf75886f2ad35e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sequence-0.8.5.dev81472917-py3-none-any.whl:

Publisher: development.yml on sequence-toolbox/SeQUeNCe

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