|
|
# Development
|
|
|
|
|
|
* [instructions](https://gitlab.labs.nic.cz/labs/jetconf/wikis/devinstall)
|
|
|
* [Instructions](https://gitlab.labs.nic.cz/labs/jetconf/wikis/devinstall)
|
|
|
for installing the development environment
|
|
|
* [tools and rules](https://gitlab.labs.nic.cz/labs/jetconf/wikis/tools-rules)
|
|
|
* [libdan API docs](libdan-api) |
|
|
|
|
|
# Tools and Rules
|
|
|
|
|
|
## Programming Style
|
|
|
|
|
|
We can mostly follow [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html).
|
|
|
|
|
|
All module-level functions and class/object methods should be annotated with type hints. For other values, type hints should be used where it seems important. See [PEP 0484](https://www.python.org/dev/peps/pep-0484/).
|
|
|
|
|
|
## Static Type Checking
|
|
|
|
|
|
Later we might use [mypy](http://mypy-lang.org). Currently it doesn't work well will Python 3.5.
|
|
|
|
|
|
## Unit Tests
|
|
|
|
|
|
We use [pytest](http://pytest.org).
|
|
|
|
|
|
## Documentation
|
|
|
|
|
|
We will use [Sphinx](http://www.sphinx-doc.org/en/stable/) for creating documentation. Docstrings in the code should therefore use Sphinx directives, see this [example](http://www.sphinx-doc.org/en/stable/domains.html#info-field-lists). |