About Booleano

Booleano is a project started by Gustavo Narea in late April 2009, when he was working on some authorization stuff (PyACL and repoze.what 2) and the need to support user-friendly, plain text conditions arose.

How to contribute

Any help is most welcome! Below are some tips:

  • It’s assumed that you’ve read and understood Legal stuff (aka “boring stuff”).
  • Bugs should be reported at Booleano’s bug tracking system.
  • Feature requests should be posted to the mailing list, so they can be discussed first.
  • Regular code contributors are encouraged to create a Bazaar branch of the mainline development repository (bzr branch lp:booleano) and make a merge proposal via Launchpad.net when they’re done, instead of sending individual patches. For help, please read the tutorial Bazaar in five minutes or ask on the mailing list.
  • Patches and merge proposals that meet the coding conventions will be applied immediately. Those that don’t, will remain in the merge queue until the maintainer of Booleano finds the time to improve the changes proposed.

Sorry about the pickiness, but the goal is to keep Booleano as a transparent and high quality library. That’s something we’ll all benefit from in the end.

Coding conventions

The coding conventions for Booleano are not special at all – they are basically the same you will find in other Python projects. Most of the conventions below apply to Python files only, but some of them apply to any source code file:

  • The character encoding should be UTF-8.
  • Lines should not contain more than 80 characters.
  • The new line character should be the one used in Unix systems (\n).
  • Stick to the widely used Style Guide for Python Code and Docstring Conventions.
  • The unit test suite for the package should cover 100% of the code and all its tests must pass, otherwise no release will be made. 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 just a not yet written test. It should be easy 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. This is optional in alpha releases only.


Big thank-yous go to:

What’s in a name?

The author of the library is a Venezuelan guy who enjoys naming projects with Castilian (aka Spanish) words. As you may have guessed, “booleano” is the Castilian translation for “boolean”.

In case you wonder how would a native speaker pronounce it, it’d be something like “boo-leh-ah-noh”.