New Ticket

TICKET_CREATE privileges are required to perform this operation. You don't have the required permissions

Login Close

Last modified 3 years ago Last modified on Jul 21, 2013 8:15:47 PM

Trac integration with Google Visualization API

This plugin has been developped in order to expose the data managed by Trac to widgets powered by Google Visualization API Google Charts API. See the list of GViz providers if you want to know more details about the data that is possible to export in the form of data tables.

On the other hand, it will also allow Trac users to write WikiFormatting text in order to insert different widgets built with different Google APIs. At present this includes:

  • iGoogle gadgets: The different Visualization Gadgets can be helpful to customize the way data managed by Trac itself gets rendered in wiki pages as well as third-party sites. Furthermore some other gadgets containing multiple informations and/or mini-applications may be pasted in wiki pages. This results in ease of use, code reuse to build attractive and useful Trac sites. Since iGoogle gadgets are displayed inside <iframe /> elements, security risks should be minimal ... however, consult the gadgets specification for more details.


(31 total rows)
Product Ticket Summary Status
dataviz #18 Separate GVizSystem and GVizModule ? new
dataviz #90 GViz provider for user accounts and stats new
dataviz #132 TracGViz easy installable new
dataviz #10 Implement other gadget border providers. new
dataviz #117 Multi-product data sources new
dataviz #16 Implement context navigation contributors to Trac Gadgets area. new
dataviz #119 Filter timeline events for a given resource new
dataviz #116 Declare testing libraries in tests_require assigned
dataviz #118 iGoogle gadget wiki processor new
dataviz #200 Integrate Google Fusion tables reopened
dataviz #177 Test cases for TracGViz<1.4 new
dataviz #1024 ValueError: Can't send unicode content new
dataviz #51 Infinite loop in VCS RPC using Hg backend accepted
dataviz #4 Implement GViz queries for tickets. new
dataviz #11 Provide a shortcut for CSS-based gadget borders new
dataviz #46 Support unicode values in DataTable.SingleValueToJS new
dataviz #120 Hook-able GViz query engine new
dataviz #58 Retrieve TracReports HTML via RPC new
dataviz #129 Bool values in HTML encoder new
dataviz #8 Implement GViz `reqId` parameter new
dataviz #12 Verify dimensions of border images new
dataviz #155 Implement `outFileName` parameter in TSV Response Format encoder new
dataviz #17 Add a page to view the images in a gadget border. new
dataviz #19 Separate GVizSystem and GVizModule ? new
dataviz #298 Bad rendering of image gadget borders new
dataviz #13 Implement local gadget borders with the help of Trac Resources. new
dataviz #15 Implement navigation links to Trac Gadgets area. new
dataviz #201 Upgrade version control RPC to support multiple repositories reopened
dataviz #14 Implement preview capabilities for gadgets and borders. new
dataviz #195 Import old tickets reopened
dataviz #102 Attribute error retrieving report data on PostgreSQL new


This plugin depends on the following components to be installed:

Copyright notice

This package is distributed under the Apache License 2.0 since it includes a verbatim copy of gviz_api module (version 1.0.0). This has been done so as to ease the installation process and provide the means to fall-back to this default implementation if recent versions of the Data Source Python Library is not installed in the target deployment environment. By downloading the plugin you also agree with the terms and statements in both the license and the additional copyright notice. You MUST read both these files before actually using the plugin.


Download the zipped source from here.


You can check out TracGViz from here using Mercurial, or browse the source with TracBrowser .


This plugin has been tested with Trac 0.11.1, 1.0 and Apache™ Bloodhound 0.5, 0.6. You can see some examples in action by browsing the gallery.

Provided that you can access the internet, you can try to install the plugin from the Python Package Index (PyPI).

$ easy_install TracGViz

Doing so the plugin will be available in all your Trac environments. In case of having internet connection and access to PyPI or a simlar repository, both these methods should automatically retrieve the external dependencies from there.

Alternately you can install the dependencies by hand, download the plugin and finally execute the following command:

$ easy_install /path/to/unpacked/

where x.y.z is the version of the plugin

If you want to install the plugin for a particular environment, follow the steps provided in the plugin installation guideline.


In order to enable TracGViz plugin, the only thing to do is to add the following lines in trac.ini.

tracgviz.* = enabled

If running Apache™ Bloodhound 0.6 multi-product plugin then single environment installations using /plugins folder will just work for data hosted by the global environment. Nevertheless for products it is still necessary to enable the plugin explicitly e.g. by running a command like shown below

$ trac-admin /path/to/bh/env product admin "product prefix" config set components "tracgviz.*" enabled

Use cases, reference specification and tutorials

After installing the plugin it should be very easy to use. There is a user guide with some tutorials about using the different features supported by TracGViz plugin. In a near future many screencasts will be available too.

Moreover you can browse previous support requests and, if you still cannot figure out how to do what you need you may also submit a support request.



Review the design guidelines for further details.

Bug / feature requests

Existing bugs and feature requests for TracGViz are here. If you have any issues, create a new ticket. If you have a cool and useful example that can be added to the docs or want to know how to do something specific, you may submit a support request.