# 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.4.0`                                      
- `openpyxl>=3.0.0`
- `xlrd>=1.2.0`

For testing:
- `tox` 
- `scifolder`from https://gitlab.com/henrik_indiscale/scifolder


## Installation
- `pip install . --user`
- `pip install tox --user`

In order to run the tests you need to install the [scifolder
package](https://gitlab.com/henrik_indiscale/scifolder) by Henrik tom
Wörden.

## Run Unit Tests
`tox`

## Run Integration Tests Locally

1. Change directory to `integrationtests/`.
2. Mount `extroot` to the folder that will be used as
   extroot. E.g. `sudo mount -o bind extroot
   ../../caosdb-deploy/profiles/empty/paths/extroot` (or whatever path
   the extroot of the empty profile to be used is located at).
3. Start an empty (!) CaosDB instance (with the mounted extroot). The
   database will be cleared during testing, so it's important to use
   an empty insctance.
4. Run `test.sh`.

## Code Formatting
`autopep8 -i -r ./`

## Documentation #

Build documentation in `build/` with `make doc`.

### Requirements ##

- `sphinx`
- `sphinx-autoapi`
- `recommonmark >= 0.6.0`