Skip to main content

A simulator for developing Quantum Internet software

Project description

SimulaQron - simple quantum network simulator (4.1.2)

The purpose of this simulator of quantum network nodes is to allow you to develop new applications for a future quantum internet, while we do not yet have real quantum network nodes available for testing.

Since version 4.0, SimulaQron is compatible with NetQASM. See its documentation for how to use SimulaQron as a backend for running NetQASM applications.

Installation

Linux

Software dependencies

Before proceeding, make sure you install Python 3.12. Please note that Python 3.13 or newer is not supported. To install Python 3.12 in Debian-based distributions, you can first add the "deadsnakes" repository:

sudo add-apt-repository -y "ppa:deadsnakes/ppa"

Then you can install Python 3.12 and the Python development package:

sudo apt-get install python3.12-full python3.12-dev

Additionally, you will need the build-essential package, to install tools used when building some SimulaQron dependencies:

sudo apt-get install build-essential cmake vim linux-headers-generic

After this point, you should have all the required dependencies.

Create Python virtual environment (venv)

Before proceeding with the installation, create a python virtual environment (venv) and activate it:

python3.12 -m venv simulaqron
source simulaqron/bin/activate 
Installing from PyPI

Installing from PyPI is simple; once you activated your virtual environment, simply run:

pip install simulaqron

Which should install SimulaQron in its base backends. Additionally, to allow support for projectq, you might want to install the optional dependencies:

pip install "simulaqron[opt]"

Installing from this repository

It is also possible to install SimulaQron directly from this repository. First, make sure you have checked out this repository, then navigate to the root folder of SimulaQron's repository. Once there, you can install SimulaQron by using the Makefile:

make install

Additionally, you can install SimulaQron with extra dependencies:

make install-optional

Finally, if you would like to contribute to the development of SimulaQron, please install the development dependencies:

make install-development

Windows

In Windows, SimulaQron can be installed in two similar ways:

  • Using WSL: Windows for Linux Subsystems (WSL) is a way to execute the linux kernel (and linux apps) in a Windows environment. To install WSL, you can follow the official microsoft documentation. After this you can install SimulaQron in WSL using the Linux instructions from above.
  • Using a Linux Virtual Machine: It is also possible to create a Linux environment using a Virtual Machine Hypervisor such as Oracle VirtualBox. After installing this, create a new Virtual Machine and install a compatible linux version (such as Ubuntu 24.04). After the installation is finished, follow the instructions to install SimulaQron on a Linux machine as presented above.

macOS

Native installation

SimulaQron has also been tested working on macOS Tahoe (26.5) on an M3 Pro CPU.

Before proceeding with the SimulaQron install, you need to install python 3.12, which is available from the Homebrew package manager. Once that homebrew has been installed, you can install Python 3.12 using the following command:

brew install python@3.12 libomp

Additionally, to install the optional dependencies, you will need to install XCode Command Line Tools. To do so, run the following command in a terminal:

xcode-select --install

And follow the instructions on the screen. After this, you can follow the instructions to install SimulaQron either from PyPI or directly from this repository.

Using the provided virtual machines

It is also possible to install SimulaQron on macOS using a Virtual Machine. Considering this please install a Virtual Machine Hypervisor such as Oracle VirtualBox, and install a compatible operating system:

  • Intel-based Macs: This is the case for Mac computers with Intel processor.s You can directly install the "amd64" version of Ubuntu 24.04.
  • ARM-based Macs: This is the case for "Apple Silicon" processors (M1 or newer, including the A18 Macbook Neo). For this type of Macs, you can install the "arm64" version of Ubuntu 24.04

After installing the Operating System on the virtual machine, please continue the installation of SimulaQron in the virtual machine using the Linux instructions as mentioned above.

Tests

There are 2 sets of tests: quick and slow ones. To ease the execution, the Makefile provides two targets:

  • tests: This target only run the quick tests.
  • tests_all: This target runs quick and slow tests.

To run a test target, simply invoke it with make:

make tests

or:

make tests_all

Documentation

Documentation and examples are explained in the HTML documentation https://softwarequtech.github.io/SimulaQron/index.html

For upcoming and previous changes see the file CHANGELOG.md

More info at http://www.simulaqron.org

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

simulaqron-4.1.2.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

simulaqron-4.1.2-py3-none-any.whl (122.5 kB view details)

Uploaded Python 3

File details

Details for the file simulaqron-4.1.2.tar.gz.

File metadata

  • Download URL: simulaqron-4.1.2.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for simulaqron-4.1.2.tar.gz
Algorithm Hash digest
SHA256 fa51381b8c23aa880125cf1791847a1602271e1905c359c4f656129d07317d48
MD5 a08ffef687a359c955812b0108d68f2d
BLAKE2b-256 ed82cb4557f87c89dd38c4b1eb5ef134dd9879fb4b18aef2104a40d6e9c8515a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simulaqron-4.1.2.tar.gz:

Publisher: publish.yaml on SoftwareQuTech/SimulaQron

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

File details

Details for the file simulaqron-4.1.2-py3-none-any.whl.

File metadata

  • Download URL: simulaqron-4.1.2-py3-none-any.whl
  • Upload date:
  • Size: 122.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for simulaqron-4.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 060806824dd2b9f51e8ae4ec6fd0e04e356ac242744d3ee86c7cdb3ac1912e06
MD5 2a051ccaf71ae152435ba9c755ccb063
BLAKE2b-256 abc11b4aff963ef9498aa363b18ed0350bd06a84a058e453fe1bf0c591165245

See more details on using hashes here.

Provenance

The following attestation bundles were made for simulaqron-4.1.2-py3-none-any.whl:

Publisher: publish.yaml on SoftwareQuTech/SimulaQron

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