Skip to main content

Open-source Python SDK for photonic quantum computation.

Project description

Tests Docs Pyversions

Lightworks

Lightworks is an open-source Python SDK, designed for the encoding of linear optic circuits for application in photonic quantum computing. These circuits can be packaged with the other SDK components to create quantum jobs for execution on photonic hardware. Lightworks focuses on discrete-variable quantum computing, and can be utilized for both qubit and boson sampling paradigms.

Included within Lightworks is also an emulator, allowing users to evaluate the operation and performance of a particular configuration before hardware execution. There is a number of simulation objects, each offering a differing functionality, ranging from direct quantum state evolution to replicating the typical sampling process from a photonic system. The emulator also supports complex photonic specific noise modelling, providing a valuable insight into the effect of imperfections in photon generation, QPU programming, and detectors, on a target algorithm.

Usage

Python 3.10+ is required.

Lightworks can be installed through pip using the command:

pip install lightworks

Documentation

Documentation of this package is hosted at: https://aegiq.github.io/lightworks/

Contributing

Contributions to Lightworks can be made via a pull request. If you have an idea for a feature that you'd like to implement it may be best to first raise this in the issues sections, as it may be the case that this is already in development internally or is potentially incompatible with the existing Lightworks framework.

Some things to keep in mind before contributing:

  1. Any pull requests should currently be made to the development branch and not main.
  2. We aim to follow the Google Python style guide (https://google.github.io/styleguide/pyguide.html) including their proposed doc strings format.
  3. The existing unit tests should be used to ensure the core functionality of Lightworks remains intact. Additionally, any new features should ideally include a set of tests.
  4. Type hints are used throughout the code to indicate the expected inputs and return for each class and function within Lightworks. These are also used for generating the Sphinx documentation.
  5. Where possible, a line limit of 80 is used across the code.

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

lightworks-1.3.1.tar.gz (89.2 kB view details)

Uploaded Source

Built Distribution

lightworks-1.3.1-py3-none-any.whl (105.1 kB view details)

Uploaded Python 3

File details

Details for the file lightworks-1.3.1.tar.gz.

File metadata

  • Download URL: lightworks-1.3.1.tar.gz
  • Upload date:
  • Size: 89.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lightworks-1.3.1.tar.gz
Algorithm Hash digest
SHA256 457cbeb68098d5bbba714af93392e76dcc9976e81ca6bd07f5c4b9ef87f686cc
MD5 48b7171fe8308f4d3466a8d48022a3f2
BLAKE2b-256 36b03fd283f6c3407bce70b76960f8580835d7a241fb113d8549b532c6376dd3

See more details on using hashes here.

File details

Details for the file lightworks-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: lightworks-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 105.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lightworks-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 91821b685232b8be1a4a25fec2055007423ff3f491aa6cfaa46a751e7185a685
MD5 e686fc700a8fa7af8a61e42caae71016
BLAKE2b-256 510e4cc6b287c5595c93f82a9203d0f024b58d26bef39d3d64d4e095e4816f6d

See more details on using hashes here.

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