Contribution

Installing the development environment

Make sure the prerequisites are installed.

Then, preferably in a virtual environment, run

pip install -e .[dev]

Running tests

pytest

It automatically checks code formatting with black. If code formatting errors are detected they can be manually fixed, or try running black ..

Generating the documentation

cd docs
make html

To view the documentation, in a separate terminal, run

cd _build/html
python -m http.server

Now open your browser and go to http://localhost:8000.

Cleaning the docs is handy. Use

make clean

Commits and pull requests

Contributions to bibo are highly welcome! Please include tests for whatever you’re working on. Don’t worry about code coverage too much. Before commiting your changes make sure all tests pass.

Try to include the issue number in the commit message if relevant, as per this tutorial. Use #XXX to reference the issue or Fix #XXX if issue fixed by the commit.

Pull requests should be based on the dev branch.

Feel free to add yourself to the CONTRIBUTORS file 😊

Plugins development

Take a look at some of the existing plugins. They use the click-plugins library, so check out its documentation. Note that internal APIs in bibo (and the packages that are installed with it, like pybibs and click_constraints) will probably change quite a lot until bibo gets a stable release.