Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
Ready to contribute? Here's how to set up image_slicer
for local development.
-
Fork the
image_slicer
repo on GitHub. -
Clone your fork locally:
git clone git@github.com:{your_name_here}/image_slicer.git
-
Install the project in editable mode. (It is also recommended to work in a virtualenv or anaconda environment):
cd image_slicer/ pip install -e .[dev]
-
Create a branch for local development:
git checkout -b {your_development_type}/short-description
Ex: feature/read-tiff-files or bugfix/handle-file-not-found
Now you can make your changes locally. -
When you're done making changes, check that your changes pass linting and tests, including testing other Python versions with make:
make build
-
Commit your changes and push your branch to GitHub:
git add . git commit -m "Resolves gh-###. Your detailed description of your changes." git push origin {your_development_type}/short-description
-
Submit a pull request.
-
pip install -e .[dev]
This will install your package in editable mode with all the required development dependencies (i.e.
tox
). -
make build
This will run
tox
which will run all your tests in both Python 3.7 and Python 3.8 as well as linting your code. -
make clean
This will clean up various Python and build generated files so that you can ensure that you are working in a clean environment.
-
make docs
This will generate and launch a web browser to view the most up-to-date documentation.
Once your change has been approved it will be merged into master. Periodically, the maintainer will run the following to release a new package version on GitHub and publish to PyPI:
$ bumpversion patch # possible: major / minor / patch
$ git push
$ git push --tags
git branch -D stable
git checkout -b stable
git push --set-upstream origin stable -f