views:

339

answers:

4

I have a question for those of you doing web work with python. Is anyone familiar with a python based reporting tool? I am about to start on a pretty big web app and will need the ability to do some end user reporting (invoices, revenue reports, etc). It can be an existing django app or anything python based so I can hook into it. Thanks!

Mark

+5  A: 

ReportLab

Welcome to the ReportLab Open Source site. ReportLab is a library for programatically creating PDF documents. It's a fast, flexible, cross platform solution written in Python.

Matthew Talbert
Hi Matthew. that may actually work! I appreciate the suggestion. I would vote you up, but I don't have the points yet.
Mark Freeman
+3  A: 

Or go a little higher level than reportlab: xhtml2pdf (built on top of reportlab)

From the website:

  • Translates HTML and CSS input into PDF files
  • Is written pure Python and therefore platform independent
  • Supports document specifics like columns, headers, footers, page numbers, custom Postscript and TrueType fonts, etc.
  • Best support for frameworks like Django, Turbogears, CherryPy, Pylons, WSGI
  • Simple integration into Python programms
  • Also available as stand alone command line tool for Windows, MacOS X and Linux
Will Hardy
+1  A: 

Most reporting tools are stuck in the '80s: a time when you 'painted' a report intended to be printed that completely lacked integration with other reports.

Sometimes we still need that. If you need to print an invoice, you're pretty much stuck with that kind of functionality. But in general, most reporting these days consists of multiple queries/charts/graphs/tables per page with drill-down built directly into it.

If you've got enough of a need go with an OLAP tool - then you don't even code the reports, your users (theoretically) can. If not, I've seldom seen a scenario in which a "reporting tool" was better than using something like Chart Director with a language like php, perl, python, ruby, etc.

KenFar
A: 

Also have a look at myDBR a tool that allows you to define your reports in the database (using stored procedures) and then takes care of the layout and formatting of the data.

Even though myDBR is a PHP application, it does not require any PHP coding, just install the application and embed it as iframe in your own app.

Wolfgang