Project uses [Poetry](https://python-poetry.org/ "Poetry: Python packaging and dependency management tool") to manage dependencies.
Install Poetry (see [documentation](https://python-poetry.org/docs/#installation) for more details), for example using `pipx`:
```bash
pipx install poetry
```
Then install project using `poetry`:
```bash
poetry install
```
Python code is formatted using [black](https://pypi.org/project/black/ "The uncompromising code formatter") and [isort](https://pypi.org/project/isort/ "A Python utility / library to sort Python imports").
#### `pre-commit`
[pre-commit](https://pre-commit.com/ "A framework for managing and maintaining multi-language pre-commit hooks") is used to ensure formatting of new/changed files. Install pre-commit hooks with:
```bash
pre-commit install --install-hooks
```
### Nix Flake
Project provides a Nix `flake.nix` to get up and running quickly.