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 [email protected] 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.
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:
- Official Tutorials: https://github.com/pycaret/pycaret/tree/master/tutorials
- README.md https://github.com/pycaret/pycaret/blob/master/README.md
- Functional Documentation / Docstrings: https://github.com/pycaret/pycaret/tree/master/pycaret
If you would like to help in working on open issues. Lookout for following tags: good first issue help wanted open for contribution
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
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.
- Improving unit-test cases https://github.com/pycaret/pycaret/tree/master/tests
- Major refactoring in
preprocess.pyto accommodate distributed processing - Example Notebooks required. Send PR to https://github.com/pycaret/pycaret/tree/master/examples
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.
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_smWe use pytest for unit testing.
To run tests, except skipped ones (search for @pytest.mark.skip decorator over test functions), run:
pytest pycaretWe 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.txtTo build the website locally, run:
sh make.shYou can find the generated files in the docs/build/ folder. To view the website, open docs/build/index.html with your preferred web browser.