Newer
Older
# Development
DAN uses different tools during its development.
## Linter
Code syntax is analyzed before submitting the code.
To run the linter tools suite you may use [pre-commit](https://pre-commit.com).
```shell
pip install pre-commit
pre-commit run -a
```
## Run tests
Tests are executed with [tox](https://tox.wiki) using [pytest](https://pytest.org).
```shell
pip install tox
tox
```
To recreate tox virtual environment (e.g. a dependencies update), you may run `tox -r`.
This documentation uses [Sphinx](http://www.sphinx-doc.org/) and was generated using [MkDocs](https://mkdocs.org/) and [mkdocstrings](https://mkdocstrings.github.io/).
### Setup
Add the `docs` extra when installing `teklia-dan`:
# In a clone of the Git repository
pip install .[docs]
Build the documentation using `mkdocs serve -v`. You can then write in [Markdown](https://www.markdownguide.org/) in the relevant `docs/*.md` files, and see live output on http://localhost:8000.
### Linter
This documentation is subject to linting using:
- `doc8`, the linting rules applied can be found on [its documentation][1],
- `mdformat`, the formatting rules applied can be found on [its documentation][2].
[1]: https://doc8.readthedocs.io/en/latest/readme.html#usage
[2]: https://mdformat.readthedocs.io/en/stable/users/style.html