Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 2.29 KB

CONTRIBUTING.md

File metadata and controls

68 lines (48 loc) · 2.29 KB

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 aicssegmentation for local development.

  1. Fork the aicssegmentation repo on GitHub.

  2. Clone your fork locally:

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

    cd aicssegmentation/
    pip install -e .[dev]
  4. 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.

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

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

Adding a new workflow

New workflows should be added to the structure_wrapper directory and be named seg_structurename.py. Each of these files must define a function called Workflow_structurename. To ensure that the new structure is included in our tests, please include an image in the resources folder that shows the expected result of the segmentation. This can be done with the run_segmentation() function . Please also add the name of the new structure to the ALL_STRUCTURE_NAMES list here.

Deploying

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

$ 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

This will release a new package version on Git + GitHub and publish to PyPI.