Getting started
Download
The recommended way is:
# Clone the repository:
git clone 'https://gitlab.com/caosdb/caosdb-advanced-user-tools'
Dependencies
Dependencies will be installed automatically if you use the below described procedure.
caosdb>=0.6.0
openpyxl>=3.0.7
xlrd>=1.2.0
pandas>=1.2.0
numpy>=1.17.3
If you want to use the optional h5-crawler the following dependencies will be installed additionally:
h5py>=3.3.0
For testing:
tox
Installation
pip install . --user
pip install tox --user
Optional h5-crawler:
pip install .[h5-crawler] --user
Run Unit Tests
All tests:
tox
One specific test with tox:
tox -- unittests/test_myusecase.py -k expression
Or even using only pytest:
pytest unittests/test_myusecase.py -k expression
Run Integration Tests Locally
Change directory to
integrationtests/
.Mount
extroot
to the folder that will be used as extroot. E.g.sudo mount -o bind extroot ../../caosdb-deploy/profiles/debug/paths/extroot
(or whatever path the extroot of the empty profile to be used is located at).Start (or restart) an empty (!) CaosDB instance (with the mounted extroot). The database will be cleared during testing, so it’s important to use an empty instance. Make sure your configuration for the python caosdb module is correct and allows to connect to the server.
Run
test.sh
. Note that this may modify content of theintegrationtest/extroot/
directory.
Code Formatting
make style
Documentation
We use sphinx to create the documentation. Docstrings in the code should comply with the Googly style (see link below).
Build documentation in build/
with make doc
.
Requirements
sphinx
sphinx-autoapi
sphinx-rtd-theme
recommonmark >= 0.6.0