Skip to main content

QOSST - Quantum Open Software for Secure Transmissions

QOSST Logo

This repo serves two purposes: the first is to explain how the code quality of QOSST and the second one is to give a general introduction to QOSST.

QOSST was initially developed in the Quantum Information (QI) team of the LIP6 laboratory in Sorbonne Université.

Article

The link to the article will be added soon.

Structure

The QOSST software is separated in 7 submodules:

  • qosst-core for the configuration, control protocol, and common functions to Alice and Bob;
  • qosst-alice for the digital signal processing (DSP), server, and interaction with the hardware for Alice;
  • qosst-bob for the digital signal processing (DSP), client, interaction with the hardware, parameters estimation for Bob.;
  • qosst-hal for hardware abstraction layer;
  • qosst-skr for the secret key rate computations;
  • qosst-sim for the simulations;
  • qosst-pp for the post processing.

To operate Alice, it is only necessary to install the qosst-alice package. The other packages that are required will be automatically installed. The same applies for qosst-bob.

Name URL Documentation
qosst-core https://github.com/qosst/qosst-core https://qosst-core.readthedocs.io/
qosst-hal https://github.com/qosst/qosst-hal https://qosst-hal.readthedocs.io/
qosst-alice https://github.com/qosst/qosst-alice https://qosst-alice.readthedocs.io/
qosst-bob https://github.com/qosst/qosst-bob https://qosst-bob.readthedocs.io/
qosst-skr https://github.com/qosst/qosst-skr https://qosst-skr.readthedocs.io/
qosst-sim https://github.com/qosst/qosst-sim https://qosst-sim.readthedocs.io/
qosst-pp Not released Not released.

Code quality

The code quality of the QOSST submodules are checked via three tools:

  • pylint for the static linting;
  • mypy for the type hints checking;
  • docstr-coverage for checking the coverage of documentation.

The script code_quality.py automatically applies all the checks to all the submodules.

Additionally, the QOSST submodules are formatted with black.

License

The submodules of QOSST are shipped under the Gnu General Public License v3.

Contributing

Report issues

Reporting issues is the first way to contribute to the software.

You can report global issue with the software on the issues tracker of QOSST at https://github.com/qosst/qosst/issues.

It is however preferable to use the specialized repo for issues that are specific to a module:

Module URL of the issues tracker
qosst-core https://github.com/qosst/qosst-core/issues
qosst-hal https://github.com/qosst/qosst-hal/issues
qosst-alice https://github.com/qosst/qosst-alice/issues
qosst-bob https://github.com/qosst/qosst-bob/issues
qosst-skr https://github.com/qosst/qosst-skr/issues
qosst-sim https://github.com/qosst/qosst-sim/issues

Please include the following information when reporting a bug

  • description of the bug;
  • versions of the QOSST software;
  • configuration file;
  • used hardware, if relevant;
  • logs of the error.

When requesting new feature, please provide a detailed description of what you propose and any reference that could be relevant.

Proposing code

You can propose code, either to solve issues or to propose new features directly.

If you want to solve an issue please comment on the issue on the issue tracker so we can assign the assign to you.

Here are the steps you should do:

  1. Fork the repository on your github account;
  2. Clone your forked repository;
  3. Make the changes and commit;
  4. Push to your forked repository;
  5. Open a Pull Request on the associated repository.

We will then check the changes and merge when it's ready.

Acknowledgments

We first thank the direct contributors of the code:

  • Yoann Piétri
  • Valentina Marulanda Acosta
  • Matteo Schiavon
  • Mayeul Chavanne
  • Ilektra Karakosta - Amarantidou

We also thank all the persons that made comments and discussions that had a direct impact on this software:

  • Luis-Trigo Vidarte
  • Baptiste Gouraud
  • Amine Rhouni
  • Eleni Diamanti
  • Philippe Grangier

And finally we thank the persons that participated in some ways to the development of QOSST:

  • Thomas Liege
  • George Crisan
  • Damien Fruleux
  • Sarah Layani
  • Manon Huguenot

Metadata

Release files for qosst 0.10.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 qosst 0.10.0
File Size Uploaded Provenance
qosst-0.10.0.tar.gz 4.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for qosst 0.10.0
File Interpreter ABI Platform
qosst-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.9 kB

Release files / qosst-0.10.0.tar.gz

Download URL qosst-0.10.0.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2f64ac002a84d27afeea98d6334bbb2085c3ede335f4db07d83b109d54b2f9c9
BLAKE2b-256 checksum
How to use checksums
1f3f61de6d52c1d9199df149919b29770633f6baace811367facbe6901757bdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/6.8.7-arch1-2

Release files / qosst-0.10.0-py3-none-any.whl

Download URL qosst-0.10.0-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06849c585cc84adc69f5016227a2ebb428583bc298ddece0356d4a4a6cf7355b
BLAKE2b-256 checksum
How to use checksums
73c0730eb5606cc1c28ba9139e025cd5279016928287a934eb4cdf8ba7a4d427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.3 Linux/6.8.7-arch1-2

Security for qosst 0.10.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.10.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