Developers Guide¶
Tools¶
As anlearn developers, we’re using these tools.
Setting-up the developers’ environment¶
Nix-shell & direnv¶
For easy environment management, we’re using nix-shell in combination with direnv. Using these two tools reduces the time and effort required to create and maintain a deterministic environment. We highly recommend using them. Nix configuration is in the shell.nix files + nix folder and the direnv configuration is in the .envrc file.
Python tools¶
As for python versions currently, support is for python 3.6, 3.7, and 3.8. To ensure a similar code style choice for formating is black and isort. As a linters we use mypy and flake8.
For easier code check before committing any changes, there is an option to use the pre-commit tool. As you can see in .pre-commit-config.yaml it is using only currently installed versions of black, isort, and flake8.