Participate in the development of repoze.what!


Here you will learn how you may contribute to repoze.what, either extending it or fixing issues.

Sending patches

Please feel free to send patches to fix bugs or implement features, but keep in mind that it will take some time to get applied if it doesn’t follow our basic coding conventions. If you can, please include the respective tests too.

Patches should be sent to the Repoze mailing list.

Writing plugins

An important way to contribute to repoze.what is by creating plugins.

There are no special guidelines to create unofficial plugins, but you are highly encouraged to create plugins under the repoze.what.plugins namespace and contact us once you have at least one usable release (so that we can mention it in the manual).

Guidelines for official plugins

Official plugins must meet certain requirements:

If you want to turn your repoze.what unofficial plugin into an official one and you are willing to make it meet the requirements above, please propose it after you have at least one usable release (e.g., a beta, a release candidate; not only pre-alphas) – The rate of stillborn Free Software projects is very high, so we prefer to turn a unofficial plugin into an official one if it has ever seen the light.

Coding conventions

The basic coding conventions for repoze.what are not special at all – they are basically the same you will find in other Python projects:

However, we have the following additional coding conventions which should be applied in the first beta release of a package at the latest (this is, they are not strictly necessary in alpha releases):

  • The unit test suite for the package should cover 100% of the code. People entrust us with nothing less than the authorization control of their application, so we should take this additional security step to deserve their trust. Sure, it won’t make the package 100% bug-free (that’s impossible), but at least we’ll avoid regression bugs effectively and we’ll be sure that a bug found will be an unwritten test. It shouldn’t be hard for you if you practice the Test-Driven Development methodology.
  • All the public components of the package should be properly documented along with examples, so that people won’t have to dive into our code to learn how to achieve what they want.

Table Of Contents

Previous topic

repoze.what releases

This Page