django-report-tools - feedback wanted!
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 django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home