Skip to content

Latest commit

 

History

History
125 lines (73 loc) · 3.08 KB

CONTRIBUTING.rst

File metadata and controls

125 lines (73 loc) · 3.08 KB

Contribution guidelines

What to work on?

You are welcome to propose and contribute new ideas. We encourage you to open an issue so that we can align on the work to be done. It is generally a good idea to have a quick discussion before opening a pull request that is potentially out-of-scope.

Fork/clone/pull

The typical workflow for contributing to mapie is:

  1. Fork the master branch from the GitHub repository.
  2. Clone your fork locally.
  3. Commit changes.
  4. Push the changes to your fork.
  5. Send a pull request from your fork back to the original master branch.

Local setup

We encourage you to use a virtual environment. You'll want to activate it every time you want to work on mapie.

You can create a virtual environment via conda:

$ conda env create -f environment.dev.yml
$ conda activate mapie

Alternatively, using pip, create a virtual environment and install dependencies with the following command:

$ pip install -r requirements.dev.txt

Finally, install mapie in development mode:

$ pip install -e .

Documenting your change

If you're adding a class or a function, then you'll need to add a docstring with a doctest. We follow the numpy docstring convention, so please do too. Any estimator should follow the scikit-learn API, so please follow these guidelines.

In order to build the documentation locally, you first need to install some dependencies:

Create a dedicated virtual environment via conda:

$ conda env create -f environment.doc.yml
$ conda activate mapie-doc

Alternatively, using pip, create a different virtual environment than the one used for development, and install the dependencies:

$ pip install -r requirements.doc.txt
$ pip install -e .

Finally, once dependencies are installed, you can build the documentation locally by running:

$ make clean-doc
$ make doc

Updating changelog

You can make your contribution visible by:

  1. Adding your name to the Contributors section of AUTHORS.rst
  2. Adding a line describing your change into HISTORY.rst

Testing

Linting

These tests absolutely have to pass.

$ make lint

Static typing

These tests absolutely have to pass.

$ make type-check

Unit tests

These tests absolutely have to pass.

$ make tests

Coverage

The coverage should absolutely be 100%.

$ make coverage