Skip to content
Reporting and data retrieval app for Open edX
Branch: master
Clone or download
thraxil Merge pull request #96 from appsembler/travis-pypi-releases
set up TravisCI automated PyPI releases
Latest commit eaf89f9 Apr 29, 2019



Travis Codecov

Reporting and data retrieval app for Open edX.

Notice and Development Status

12 APR 2019 - Hawthorn Pre-release

Hawthorn 0.3.0 pre-release is now available!

  • Figures 0.3.0 supports Hawthorn
  • Uses the new plugin capability introduced in Open edX Hawthorn
  • Includes a standalone development mode. See the developer quickstart guide

Run the following to install Figures 0.3.0 prerelease for evaluation:

pip install

For installing for development, such as with docker devstack:

Navigate to the workspace directory (./src/ if installing in devstack)

git clone -b develop

For Hawthorn docker devstack, shell to the lms and run:

cd /edx/src/figures
pip install -e .

Figures on PyPI

Figures is avaible on PyPI

  • 0.1.6 is the community release for Ficus and Ginkgo

Release 0.3.0 will be available on PyPI after release candidate testing


Figures is a reporting and data retrieval app. It plugs into the edx-platform LMS app server. Its goal is to provide site-wide and cross-course analytics that compliment Open edX's traditional course-centric analytics.

To evolve Figures to meet community needs, we are keeping in mind as principles the following features, which Jill Vogel outlined in her lightweight analytics post on ed Xchange:

  • Real time (or near real time) updates
  • Lightweight deployment
  • Flexible reporting
  • Simpler contributions

Please refer to the Figures design document for more details on goals and architecture.


For all Open edX releases:

  • Python (2.7)

For Hawthorn:

  • Django (1.11)

For Ficus and Ginkgo:

  • Django (1.8)



Go here for instructions to install and run Figures in devstack.


Go here for instructions to install Figures in production.

Project Architecture


The Figures user interface is a JavaScript Single Page Application (SPA) built with React and uses the create-react-app build scaffolding generator.


The Figures back-end is a reusable Django app. It contains a set of REST API endpoints that serve a dual purpose of providing data to the front-end and to remote clients.


TODO: Improve the testing instructions

The unit tests should be able to run on any OS that supports Python 2.7.x

Clone the repo:

Go to the project directory:

cd figures

Create a virtualenv for Python 2.7.x.

Install required Python packages:

pip install -r devsite/requirements.txt

From the figures repository root directory:


If all goes well, the Figures unit tests will all complete succesfully


  • Open edX "Hawthorn" will provide a plug-in architecture. This will hopefully simplify Figures installation even more
  • Downloadable report files
  • Plugin architecture to extend Figures for custom data sources

How to Contribute

TODO: Add details here or separate CONTRIBUTING file to the root of the repo

Reporting Issues

If you find bugs or run into issues, please submit an issue ticket to the Figures issue tracker on Github.

Reporting Security Issues

Please do not report security issues in public. Please email

You can’t perform that action at this time.