Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

Get Started!

Ready to contribute? Here’s how to set up aicsimageio for local development.

  1. Fork the aicsimageio repo on GitHub.

  2. Clone your fork locally:

    git clone git@github.com:{your_name_here}/aicsimageio.git
    
  3. Install the project in editable mode. (It is also recommended to work in a virtualenv or anaconda environment):

    cd aicsimageio/
    pip install -e .[dev]
    
  4. Download the test resources:

    python scripts/download_test_resources.py
    

    If you need to upload new resources please let a core maintainer know.

  5. 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.

  6. When you’re done making changes, check that your changes pass linting and tests, including testing other Python versions with make:

    make build
    
  7. 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
    
  8. Submit a pull request through the GitHub website.

Deploying

A reminder for the maintainers on how to deploy. Make sure all your changes are committed. Then run:

make prepare-release
git push origin v3
git push origin v3 --tags

GitHub Actions will test and lint the code and then publish the new version if everything passes.