In general, follow PEP 8 <http://www.python.org/dev/peps/pep-0008/>. Especially try to keep the lines shorter than 80 characters. We are also using TAB for indention.
Zeitgeist supports Python 2.5 and later.
Before each commit to lp:zeitgeist the commiter must make sure that our testsuite in test/ is running successfully. We aim to get as much code tested as possible. New features and bug fixes should get doc or unittests.
Our public API (code in zeitgeist/) must be fully documented. Code in _zeitgeist/ is private code and should be documented and written in a way so that others can understand it.
changes to the public API are only possible in a major release series.
We are using launchpad’s ‘merge proposal’ feature for our code review process. Significant changes must have at least one positive vote from one of the core developers (members of <http://launchpad.net/~zeitgeist>)
(hint: you can see the full change log with ‘bzr log -n0 -v | less’)
Commit your changes (with only these changes!) and push you current branch to lp:zeitgeist and lp:~zeitgeist/zeitgeist/zeitgeist-$VERSION
To make sure you have a pristine source tree do a clean checkout of the newly created branch:
bzr branch lp:~zeitgeist/zeitgeist/zeitgeist-$VERSION
Change working dir to your new branch
Run ‘./autogen.sh && make && make distcheck’
GPG sign the generated tarball with the command:
gpg –armor –sign –detach-sig zeitgeist-$VERSION.tar.gz
Upload the tarball and the generated *.asc GPG signature to the right milestone on Launchpad
Send announcement email to the mailing lists:
Post a news update on the Launchpad project page based on your announcement email
Make sure that the API documentation on zeitgeist-project.com is updated
Now you deserve a treat!