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 edge-sdk-python for local development.
-
Fork the
edge-sdk-pythonrepo on GitHub. -
Clone your fork locally:
git clone git@github.com:{your_name_here}/edge-sdk-python.git -
Install the project in editable mode. (It is also recommended to work in a virtualenv or anaconda environment):
cd edge-sdk-python/ virtualenv venv . venv/bin/activate pip install -e .[dev]
-
Create a branch for local development:
git checkout -b {your_development_type}/short-descriptionEx: 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 through the GitHub website.
A reminder for the maintainers on how to deploy.
Make sure you are on the main branch and have pulled the latest changes.
Setup virtualenv with dev requirements:
cd edge-sdk-python/
virtualenv venv
. venv/bin/activate
pip install -e .[dev]Then run bump2version on a branch and choose the part of the version to be
bumped. Pass --no-tag: CI tags the release itself, on the commit that actually
publishes (see below).
git checkout -b bump-version-x.y.z
bump2version --no-tag patch # possible: major / minor / patch
git push -u origin bump-version-x.y.zOpen a pull request for it and keep Bump version in the merge commit
message: the publish job triggers on
contains(github.event.head_commit.message, 'Bump version'), and a squash merge
takes the PR title, so leave the title as bump2version wrote it (Bump version: x.y.z → a.b.c).
Merging publishes the package to PyPI, then creates the vA.B.C tag and a
GitHub release from the published version.
Why --no-tag: bump2version tags the commit it creates, which is only correct
when the bump goes straight to main. Merge commits are disabled on this repo,
so a bump arriving through a PR is squashed or rebased into a different commit
and that tag would point at something never reachable from main — which is how
v3.0.0 came to dangle and v3.1.0 was never tagged at all. Bumping directly on
main still works if you prefer it (bump2version patch, then git push && git push --tags); the CI step skips tagging when the release already exists.