Geraldo is a reports engine for Python and Django applications. It uses the power of ReportLab and PIL to generate reports with page header and footer, child bands, report begin and summary bands, agreggation and graphic elements, etc.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples Working on native charts support Jan 28, 2010
geraldo New Image.stretch to make images right dimensions Feb 4, 2013
reporting Created a README file for directory 'reporting' Mar 4, 2011
site Created a README file for directory 'reporting' Mar 4, 2011
testproject Just adding a shell script to run tests using a test project made wit… Jul 10, 2010
.gitignore Version 0.3.9-beta changes: Dec 21, 2009
.travis.yml Other fix in Travis file May 31, 2013
AUTHORS Updating file AUTHORS Apr 13, 2010
CHANGES Fixing CrossReferenceMatrix to force object_list to be a list (in case Jun 13, 2011
README Fixing author e-mail and website addresses Feb 26, 2010 Little changes to work with PyPI and setuptools Jan 29, 2009 Fixed expressions token replacing braces Jun 17, 2010 A few changes to fix reporlab dependency to be in the right way Aug 22, 2012



Geraldo is a reports generator created to work like ReportBuilder, QuickReport
or Jasper Reports. It has bands with fixed width and flexible height to show on
top, summary, page header, page footer, in table or each one for an object.

It is under GPL and works only with Django framework and Python language.

It depends on ReportLab library to work.

Our main long terms goals are (those with (x) are working):

Engine API

- Support to basic bands:
 - Page header (x)
 - Page footer (x)
 - Report top/begin (x)
 - Report summary (x)
 - Detail (x)
 - Group (x)
 - Child bands (x)
 - Table details
- Support graphics (x)
- Support charts - use graphics.Image to set a rendered char image (x)
 - Support with no dependency on charts generators
- Support aggregation fields (x)
- Support expression (x)
- Support calculated fields (x)
- Support multiples group bands (x)
- Support band-width in widgets (x)
- Support stylizing widgets (font, colors, borders and alignments) (x)
- Support subreports (x)
- Report inheritance and composition (x)
- Support canvas drawing
- Reports merging (many reports at once) (x)
- Multiple columns
- Events system (x)
- Caching (x)
- Map/Reduce generating
- Drill down reports


- Best use of PDF generator (x)
- Export to HTML and maybe to TXT
- Export/import structure to/from a XMLized format

User interaction

- Have a GUI tool to design reports, if possible to be used in a web browser
- Have a way to create and print reports using a server, with no low leve coding
- Have a explicit, clear and full documentation (x)


- ReportLab
- If you use Image graphic element, Python Imaging Library (PIL) is also necessary

Marinho Brandao