Contributor's Guide =================== Updating and publishing a new package ------------------------------------- - This project makes use of `GitHub Actions `__ and `bump2version `__ to automate publishing updates to pypi. See the `Github Workflow file <./.github/workflows/publish-to-test-pypi.yaml>`__ and `bumpversion file <./.bumpversion.cfg>`__ for configuration details. See links below for more resources. - Please keep ``CHANGELOG.md`` up to date. - Please install the following packages: .. code:: bash $ pip install --upgrade bump2version - **Note**: You cannot publish a package with the same version number as another already-published version! **You must use bump2version** to increment the current version for a publish to be successful. .. code:: bash # test documentation build # Note: if stylesheets are not updating, do a `make clean` before building. $ cd docs $ make html # see any undocumented objects $ make html -b coverage # Handling an open issue # ...assign the issue to yourself in Github... $ git checkout -b issue-1 # ...make fixes... $ git add . $ git commit -m "fixes issue-1" $ git push --set-upstream origin issue-1 # ...open PR... # ...PR merged, issue closed automatically... $ git checkout main $ git pull $ git bumpversion $ git push --tags # Code packaged, documentation updated, and version released automatically! $ git add . $ git commit -m "msg" $ bumpversion major|minor|patch # with bump2version, bumpversion is an alias # and to update main branch $ git push # to trigger a package & release $ git push --tags Getting Comfortable: Tutorials and Resources -------------------------------------------- - `Python Packaging Tutorial `__ - `Python CICD Publishing with Github Actions `__ - `Python Packaging Reference `__ - `GitHub Actions `__ - `bump2version `__