Welcome! We appreciate your interest in contributing to array_split
.
If you haven’t done so already, check out the
README
How to contribute¶
Workflow¶
The preferred workflow for contributing to array_split
is to fork the
array_split repository on
GitHub, clone, and develop on a branch. Steps:
Fork the array_split repository by clicking on the ‘Fork’ button near the top right of the page. This creates a copy of the code under your GitHub user account. For more details on how to fork a repository see this guide.
Clone your fork of the
array_split
repo from your GitHub account to your local disk:$ git clone git@github.com:YourLogin/array_split.git $ cd array_split
Create a
feature
branch to hold your development changes:$ git checkout -b my-feature
Always use a
feature
branch. It’s good practice to never work on themaster
branch!Develop the feature on your feature branch. Add changed files using
git add
and thengit commit
files:$ git add modified_files $ git commit
to record your changes in Git, then push the changes to your GitHub account with:
$ git push -u origin my-feature
Follow these instructions to create a pull request from your fork. This will send an email to the committers.
(If any of the above seems like magic to you, please look up the Git documentation online.
Coding Guidelines¶
Unit test new code using python unittest framework.
Ensure unittest coverage is good (
>90%
) by using the coverage tool:$ coverage run --source=array_split --omit='*logging*,*unittest*,*rtd*' -m array_split.tests $ coverage report -m
Ensure style by using autopep8 and flake8 compliance:
$ autopep8 -r -i -a --max-line-length=100 array_split $ flake8 array_split
Use docstrings for API documentation and ensure that it builds with sphinx (without warnings) and renders correctly:
$ python setup.py build_sphinx
produces top level html file
docs/_build/html/index.html
.
Code of Conduct¶
array_split
adheres to the
Python Code Quality Authority’s Code of Conduct.