Thank you for considering contributing to pymc-learn
! Please read these guidelines before submitting anything to the project.
Some ways to contribute:
- Open an issue on the Github Issue Tracker. (Please check that it has not already been reported or addressed in a PR.)
- Improve the docs!
- Add a new machine-learning model. Please follow the guidelines below.
- Add/change existing functionality in the base function classes for ML.
- Something I haven't thought of?
To create a Pull Request against this library, please fork the project and work from there.
- Fork the project via the Fork button on Github
Clone the repo to your local disk, and add the base repository as a remote.
git clone https://github/<YOUR-GITHUB-USERNAME>/pymc-learn.git cd pymc-learn git remote add upstream https://github.com/pymc-learn/pymc-learn.git
Create a new branch for your PR.
git checkout -b my-new-feature-branch
Always use a feature
branch. It's good practice to never routinely work on the master
branch.
Install requirements (probably in a virtual environment)
conda create --name myenv python=3.6 pip conda activate myenv pip install -r requirements.txt pip install -r requirements_dev.txt
NOTE: On Windows, in your Anaconda Prompt, run
activate myenv
.Develop your feature. Add changed files using
git add
and thengit commit
files:git add <my_new_model.py> git commit
to record your changes locally. After committing, it is a good idea to sync with the base repository in case there have been any changes:
git fetch upstream git rebase upstream/master
Then push the changes to your Github account with:
git push -u origin my-new-feature-branch
6. Submit a Pull Request! Go to the Github web page of your fork of the pymc-learn
repo. Click the 'Create pull request' button to send your changes to the project maintainers for review. This will send an email to the committers.
- Ensure your code has followed the Style Guidelines below
- Make sure you have written tests where appropriate
Make sure the tests pass
conda activate myenv python -m pytest
NOTE: On Windows, in your Anaconda Prompt, run
activate myenv
.Update the docs where appropriate. You can rebuild them with the commands below.
cd pymc-learn/docs sphinx-apidoc -f -o api/ ../pmlearn/ make html
- Update the CHANGELOG
For the most part, this library follows PEP8 with a couple of exceptions.
Notes:
- Indent with 4 spaces
- Lines can be 80 characters long
- Docstrings should be written as numpy docstrings
- Your code should be Python 3 compatible
- When in doubt, follow the style of the existing code
To report an issue with pymc-learn
please use the issue tracker.
Finally, if you need to get in touch for information about the project, send us an e-mail.
.@pymc_learn has been following closely the development of #PyMC4 with the aim of switching its backend from #PyMC3 to PyMC4 as the latter grows to maturity. Core devs are invited. Here's the tentative roadmap for PyMC4: https://t.co/Kwjkykqzup cc @pymc_devs https://t.co/Ze0tyPsIGH
— pymc-learn (@pymc_learn) November 5, 2018