Hi Everyone!

A bit of backstory - I work in the environmental sector, mostly designing 
data-driven reporting apps in Django. Think along the lines of CO2 
reporting, environmental audits, that sort of thing. Most projects tend to 
consist of a whole lot of CRUD, accompanied by a bunch of reporting pages 
with graphs, tables etc.

After designing a few such apps, it started to become apparent that we 
needed a way to better organise the large number of related charts and 
tables we had to deal with every day. We also needed something that 
abstracted away all the painful details of working with particular charting 
packages, which all tend to have their own uniquely hideous APIs.

After talking to some of the lovely people at Djangocon EU this year, it 
seemed as though this was something that other might find useful, so I had 
a talk to the higher-ups at work and they've allowed me to release it under 
a BSD license.

So, announcing.. django-report-tools!

https://github.com/evanbrumley/django-report-tools
http://django-report-tools.readthedocs.org

In a nutshell, it lets you create things like this:


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
>
>

That's a more or less fully-functional example. As you can see, it 
basically allows you to write your report using the same declarative syntax 
as you'd use to write Django forms or models. You could include the Google 
jsapi in your page header, stick that in a template with {{ 
report.pie_chart }} and a pony pie chart would appear on your page.

This is my first time releasing a django/python package, so I'm sure I've 
screwed things up in lots of interesting ways. I'd love any feedback anyone 
can offer!

Kind regards,

Evan

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/8__CW4Gq3p0J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to