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.6 and later.
Before each commit to lp:zeitgeist the commiter must make sure that our testsuite in test/ is running successfully. Easiest way to run our testsuite is make check. 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’,
- to get a log of all changes after the last release run ‘bzr log -n0 -v -r tag:bzr tags –sort=time|awk ‘END{print $1}’..|less’)
Commit your changes (with only these changes!) and push you current branch to lp:zeitgeist and lp:~zeitgeist/zeitgeist/zeitgeist-$VERSION Before pushing make sure there is a $VERSION tag for the ‘release’ revision, to create one run ‘bzr tag $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’. Unpack the tarball and generate it again with “tar -czvf zeitgeist-$VERSION.tar.gz zeitgeist-$VERSION” (distcheck’s are bigger and may be corrupt).
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!
The Zeitgeist project is using the bugtracker on launchpad.net. To report a bug please visit https://bugs.launchpad.net/zeitgeist/+filebug and describe the issues you are having. Please also add useful information like the version of Zeitgeist you are using and the Python version.
Apart from classical bug reports describing an issue or failure, the Zeitgeist team is using the bugtracker to discuss new features and implementation details.
The ‘Opinion’ status is not used by zeitgeist.
Blueprints are used in the zeitgeist project to describe a development story. Whenever a certain feature requires fixes for multiple bugs or multiple branches to be merged we use blueprints to organize the efforts under one central umbrella. The assignee of a blueprint is leading all the work to get this blueprint and all its features/fixes implemented.