pyp (pronounced "pipe") helps you automate the release of python packages
There are a couple things you should do to make your project pyp compatible:
Make sure you are single-sourcing the version of the project using the same method as this project. See our
setup.py
andpyp/version.py
.Create a
pyp.ini
file in the root of your project with the following content and uncomment defaults as needed:[pyp] # The relative path, from your project root, to the directory your project source lives. # Currently, this is how pyp finds the project's `version.py` file. source_dir = proj-app-dir # If your changelog file name is not changelog.rst, then you will also need: # changelog_fname = CHANGES.rst # If the header of you changelog file is not `Changelog\n=========\n`, then you will also need: # changelog_doc_header = 'Some Value'
To release a package, you will:
- Run
pyp status
to inspect the current state of the project and get any errors/warnings. - Run
pyp release [version]
to generate the changelog & bump the version - Inspect the changes from the previous command, alter changelog if needed, commit.
- Run
pyp publish
to build an sdist, wheel and push them to pypi with Twine. Also it will tag the most recent commit with the version push to remote (e.g. GitHub).