Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 3.73 KB

CONTRIBUTING.md

File metadata and controls

63 lines (49 loc) · 3.73 KB

Contribution Guidelines

Thank you for choosing to contribute in PyCaret. There are a ton of great open-source projects out there, so we appreciate your interest in contributing to PyCaret. It is an open-source, low-code machine learning library in Python developed and open-sourced in April 2020 by Moez Ali moez.ali@queensu.ca and is now maintained by awesome community members just like you. In this documentation we will cover a couple of ways you can contribute to this project.

Documentation

There is always a room for improvement in documentation. We welcome all the pull requests to fix typo / improve grammar or semantic structuring of documents. Here are few documents you can work on:

Open Issues

If you would like to help in working on open issues. Lookout for following tags: good first issue help wanted open for contribution

Medium Writers

If you are interested or have already written Medium story covering PyCaret. You can submit your story in a markdown format. Submit a PR to https://github.com/pycaret/pycaret/tree/master/resources. To convert medium stories into markdown format please download this chrome extension: https://chrome.google.com/webstore/detail/export-to-markdown/dodkihcbgpjblncjahodbnlgkkflliim

Major Contribution

If you are willing to make major contribution you can always look out for the active sprint under Projects and discuss the proposal with sprint leader. Current active sprint is 2.2 - major refactoring. This sprint is led by Yard1.

What we currently need help on?

Development setup

Follow installation instructions to first create a virtual environment. Then, install the development version of the package:

pip install -e .[test]

We use black and isort for code formatting. Make sure to run isort pycaret and black pycaret from the home directory before creating the PR. Failing to do so can result in a failed build, which would prevent the adoption of your code.

Unit testing

Install development version of the package with additional extra dependencies required for unit testing:

pip install -e .[test]
python -m spacy download en_core_web_sm

We use pytest for unit testing.

To run tests, except skipped ones (search for @pytest.mark.skip decorator over test functions), run:

pytest pycaret

Documentation

We use sphinx to build our documentation and readthedocs to host it. The source files can be found in docs/source/. The main configuration file for sphinx is conf.py and the main page is index.rst.

To build the documentation locally, you need to install a few extra dependencies listed in docs/source/requirements.txt:

pip install -r docs/source/requirements.txt

To build the website locally, run:

sh make.sh

You can find the generated files in the docs/build/ folder. To view the website, open docs/build/index.html with your preferred web browser.