Contributing to MLexp
To contribute to MLexp, please follow guidelines here.
Development Workflow
Fork the mlexp repo.
Clone the forked repo locally
Create a branch for the change:
git checkout -b branch_name
Make a change
Test your change (code and docs, see below)
Commit the change to your local branch
Push your local branch to remote
git push origin branch_name
Create PR to merge your branch in develop branch of mlexp repo
Requirements
Install requirements:
pip install -r requirements.txt
Install development requirements (tests, documentation, formatting):
pip install -r requirements-dev.txt
Tests
To test code locally you have to start mlflow server
mlflow server
Also you have to set environment variable with neptune token:
export NEPTUNE_API_TOKEN=<neptune token>
Neptune project is also required (check args for more details)
To run tests:
make test <neptune user/neptune project>
Minimum code coverage is 75%
To test only documentation:
$ make test_docs
Documentation
Docstrings
All public classes and functions must have docstrings.
MLexps uses rst format of docstrings.
Generating Documentation Locally
You can generate documentation in HTML locally as follows:
make build_docs
Documentation will be available in docs/build/html/index.html.
Code formatting
MLexps uses ufmt for formatting code.
To format code:
ufmt format .