Skip to content

lordoftheflies/django-report-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-report-tools

Django Report Tools aims to take the pain out of putting charts, graphs and tables into your Django projects. It provides a nice class-based framework to restore a little bit of elegance to your application's complex data views.

Features

  • Define your reports using the same syntax as Django forms and models
  • Use built-in 'renderers' to avoid the hassle of dealing with various charting technologies (currently only the Google Visualization Toolkit is supported)
  • Enter chart data in a standardised format
  • Build a simple API, allowing for the creation of chart exports or a 'save to dashboard' feature.

Release Notes - 0.2.2

  • Updated for Django 1.6 compatibility
  • Increased tox coverage

Release Notes - 0.2.1

  • Fixed a JSON encoding bug that broke Python 2.6 compatibility.
  • Added a tox.ini and setup.py test support so I can test and prevent these sorts of bug in the future.

Release Notes - 0.2

  • Updated for Django 1.5 compatibility
  • Fixed an XSS vector in the Google Charts renderer
  • Updated to the most recent GViz API

A fully-functional example report -----------------

The following example implements a report with a simple pie chart, rendered using the Google Visualization Toolkit.

from report_tools.reports import Report
from report_tools.chart_data import ChartData
from report_tools.renderers.googlecharts import GoogleChartsRenderer
from report_tools import charts


class MyReport(Report):
    renderer = GoogleChartsRenderer

    pie_chart = charts.PieChart(
        title="A nice, simple pie chart",
        width=400,
        height=300
    )

    def get_data_for_pie_chart(self):
        data = ChartData()

        data.add_column("Pony Type")
        data.add_column("Population")

        data.add_row(["Blue", 20])
        data.add_row(["Pink", 20])
        data.add_row(["Magical", 1])

        return data

Read on in the documentation for a full explanation and lots more examples.

Project Home: http://github.com/evanbrumley/django-report-tools

Documentation: http://django-report-tools.readthedocs.org

Installation

To install django-report-tools simply use: :

$ pip install django-report-tools

Or alternatively: :

$ easy_install django-report-tools

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • Shell 3.3%