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/pycaret/tests
- Major refactoring in
preprocess.py
to 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 development version of the package:
pip install -e .[test]
We use pre-commit with black for code formatting. It runs automatically before you make a new commit. To set up pre-commit, follow these steps:
- Install pre-commit:
pip install pre-commit
- Set up pre-commit:
pre-commit install
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
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.