An open-source collection of tools for quantum-optics experiments
pip install openqlab==0.4.3
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.
For a detailed installation instruction see the main documentation.
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.
Use Poetry to manage the development packages. If you are missing a small how-to, just ask and write it. :)
poetry install
Please write unittests if you add new features.
The structure for the test should represent the structure of the package itself.
Each subpackage should have its own folder prefixed with test_
and should contain subfolders with the same structure.
Every .py
file (module) should be represented by one folder containing test files that test specific functions of that file.
For example:
tests
test_subpackage1
test_module1
test_function1_of_module1.py
test_function2_of_module1.py
test_module2
test_function1_of_module2.py
test_function2_of_module2.py
test_subpackage2
For very simple classes or modules, the whole module can be tested in one test_module.py
file but may still be contained inside a folder with the same name.
All tests located in src/test/*
are automatically tested when pushing to Gitlab.
To run them manually use:
make test
We use pre-commit
for automatic code formatting before committing.
It is automatically installed with the development packages.
The command to enable the hooks is:
pre-commit install
Please write every change that seems significant in the CHANGELOG.md file.
(c) 2020, LasNQ @ Uni Hamburg