# Development

## Base setup

- Use a virtualenv (e.g. with virtualenvwrapper `mkvirtualenv -a . atr-data-gen`)
- Install atr-data-generator as a package
    - The `teklia-document-processing` library is setup via git submodule. Please run `git submodule update --init`.
    - Then install both packages via `pip install ./document-processing -e .`

## Unit tests

Tests are executed with [tox](https://tox.wiki/), based on [pytest](https://docs.pytest.org/).

- Run a single test module: `tox -- <test_path>`
- Run a single test: `tox -- <test_path>::<test_function>`

## Documentation

The documentation is generated via [mkdocs](https://mkdocs.readthedocs.io/) and [mkdocstrings](mkdocstrings.github.io/). Please keep it updated when modifying or adding features.

It's pretty easy to do:

```console
pip install -e .[docs]
mkdocs serve
```

You can then write in Markdown in the relevant `docs/*.md` files, and see live output on [http://localhost:8000](http://localhost:8000).