Welcome to Seed’s documentation!¶
Seed is an experiment in making releasing PyPi packages trivially
easy. For example, the release
command will:
- Increment the version number in
__init__.py
- Update CHANGES.txt with commit summaries & authors
- Tag the release
- Commit the above changes
- Register/upload your package to PyPi
I am not sure if a need for this exists, but my hope is that it will lower the time & effort needed to create and release Python packages.
Installation¶
Installing Seed is easy using pip:
pip install seed
PyPi registration¶
To start releasing packages you are also going to need to
register with PyPi. Now place
your login details into ~/.pypirc
as follows:
[server-login]
username:yourusername
password:yourpassword
Note
Storing your password in plaintext is clearly not ideal. If anyone knows of a workaround I would love to hear it.
Getting started¶
If you need an entirely fresh package then you can do this:
seed create --dry-run # Do a dry run to make sure everything looks right
seed create
You can also pass a few options to the create
command. See the help for details:
seed help create
If you already have a package you can release it using:
seed release --dry-run # Do a dry run to make sure everything looks right
seed release
Again, options are documented here:
seed help release
Notes on releasing: The release process makes a bunch of assumptions
about your project. If you created your project using the create
command,
then you are probably fine, but you may need to do a little hacking otherwise.
Other notes & about the author¶
The structure of Seed is heavily based on that of pip.
I find myself managing a lot of packages as I always have a number of Django projects on the go and sharing reusable code is always a plus. I also use Heroku a lot, but Heroku doesn’t play nicely when installing dependencies via external URLs, hence my desire to release more packages to PyPi rather than just installing them right out of GutHub.
You can find me on...