Zest.releaser originated at Zest software so there are some assumptions build-in that might or might not fit you. Lots of people are using it in various companies and open source projects, so it’ll probably fit :-)
If you are using svn, your svn is structured with /trunk, /tags (or /tag) and optionally /branches (or /branch). Both a /trunk or a /branches/something checkout is ok.
We absolutely need a version. There’s a
setup.pyin your project. The
version.txthas a single line with the version number (newline optional). The
setup.pyshould have a single
version = '0.3'line somewhere. You can also have it in the actual
setup()call, on its own line still, as `` version = ‘0.3’,``. Indentation and comma are preserved. If your
setup.pyactually reads the version from your
setup.cfg(as it does automatically using
setuptoolssince version 30.3.0), then the version will be modified there too. If you need something special, you can always do a
version=versionand put the actual version statement in a zest.releaser- friendly format near the top of the file. Reading (in Plone products) a version.txt into setup.py works great, too.
The history/changes file restriction is probably the most severe at the moment. zest.releaser searches for a restructuredtext header with parenthesis. So something like:
Changelog for xyz ================= 0.3 (unreleased) ---------------- - Did something 0.2 (1972-12-25) ---------------- - Reinout was born.
That’s just the style we started with. Pretty clear and useful.
If you use markdown for the changelog, you should use the “underline” style of headings, not the “atx” style where you prefix the headers with