Metadata-Version: 2.4
Name: openqlab
Version: 0.4.4
Summary: An open-source collection of tools for quantum-optics experiments
License-File: LICENSE
Author: Jan Petermann
Author-email: jpeterma@physnet.uni-hamburg.de
Maintainer: Christian Darsow-Fromm
Maintainer-email: cdarsowf@physnet.uni-hamburg.de
Requires-Python: >=3.10.1,<3.16
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: hdf
Provides-Extra: visa
Requires-Dist: PyVISA (>=1.11.1,<2.0.0) ; extra == "visa"
Requires-Dist: importlib-metadata (>=8.0,<9.0)
Requires-Dist: matplotlib (>=3.2.1,<4)
Requires-Dist: numpy (>=1.18,<3.0)
Requires-Dist: pandas (>=1.4,<3.0)
Requires-Dist: pyserial (>=3.5,<4.0)
Requires-Dist: pyvisa-py (>=0.6.0,<1) ; extra == "visa"
Requires-Dist: scipy (>=1.9.3,<2.0)
Requires-Dist: tables (>=3.6.1,<4) ; extra == "hdf"
Requires-Dist: wcwidth (>=0.2.5,<0.3.0)
Project-URL: Documentation, https://las-nq-serv.physnet.uni-hamburg.de/python/openqlab/
Project-URL: Repository, https://gitlab.com/las-nq/openqlab
Description-Content-Type: text/markdown

# openqlab

[![pipeline status](https://gitlab.com/las-nq/openqlab/badges/master/pipeline.svg)](https://gitlab.com/las-nq/openqlab/commits/master)
[![coverage report](https://gitlab.com/las-nq/openqlab/badges/master/coverage.svg)](https://gitlab.com/las-nq/openqlab/commits/master)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)


`openqlab` provides a collection of useful tools and helpers for the
analysis of lab data in the Nonlinear Quantum Optics Group at the University
of Hamburg.

Part of the content in this package was written during the PhD theses of
Sebastian Steinlechner and Tobias Gehring. It is currently maintained by
Sebastian Steinlechner, Christian Darsow-Fromm, Jan Petermann and is looking for more
volunteers who would like to contribute.

Read the latest changes in our [changelog](CHANGELOG.md).

## Documentation

* Current documentation of the [latest release](https://las-nq-serv.physnet.uni-hamburg.de/python/openqlab)
* Current documentation of the [latest development version](https://las-nq-serv.physnet.uni-hamburg.de/python/openqlab-stage)

## Features

* Importers for various file formats:
  * Agilent/Keysight scopes (binary and CSV)
  * Rohde & Schwarz spectrum analyzers
  * Tektronix spectrum analyzer
  * plain ascii
  * and a few more...
* easily create standard plots from measurement data
* design control loops
* analyze beam profiler data
* generate covariance matrices for N partite systems
* several postprocessing functions for entanglement data
* analyse and automatically plot squeezing data
* tools for working with dB units

## Installation

For a detailed installation instruction see the main [documentation](https://las-nq-serv.physnet.uni-hamburg.de/python/openqlab/).

## Usage

You will need an up-to-date Python 3 environment to use this package, e.g.
the Anaconda Python distribution will work just fine. Please refer to the
`requirements.txt` for a list of prerequisites (although these should be
installed automatically, if necessary).

For examples and details on how to use this package, please refer to the
documentation.

## Contributing
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.

A detailed overview on how to contribute can be found in the [contributing guide](CONTRIBUTING.md).

## License
The code is licensed under the [GNU GENERAL PUBLIC LICENSE](https://www.gnu.org/licenses/gpl-3.0.html). See [LICENSE](LICENSE).

## Changelog
Changes to the code are documented in the [changelog](CHANGELOG.md).

