nada_dsl
Nada is an embedded domain-specific language (DSL) for building MPC programs for the Nillion Network.
Development
All installation and development dependencies are fully specified in pyproject.toml. The project.optional-dependencies object is used to specify optional requirements for various development tasks. This makes it possible to specify additional options (such as docs, lint, and so on) when performing installation using pip:
python -m pip install .'[docs,lint]'
Documentation
The documentation can be generated automatically from the source files using Sphinx:
python -m pip install .'[docs]'
cd docs
make html
Testing and Conventions
Unit tests are executed and their coverage is measured when using pytest (see the pyproject.toml file for configuration details):
python -m pip install .'[test]'
python -m pytest
Style conventions are enforced using Pylint:
python -m pip install .'[lint]'
python -m pylint nada_dsl