Skip to content
This repository

Light-weight Python OLAP framework for multi-dimensional data analysis

Merge pull request #185 from nonsleepr/master

Typo fix in statutils
latest commit cbdbef34dc
Stefan Urbanek authored April 15, 2014
Octocat-spinner-32 bin [slicer] print number of tested cubes March 28, 2014
Octocat-spinner-32 cubes Typo fix in statutils April 15, 2014
Octocat-spinner-32 doc Correct documentation around /cubes/<name>/members April 15, 2014
Octocat-spinner-32 examples Corrected the python source encoding header; added where necessary March 22, 2014
Octocat-spinner-32 goodies Added some syntax candy February 18, 2014
Octocat-spinner-32 incubator Separated dictionary metadata management February 11, 2014
Octocat-spinner-32 models Renamed date/time to base_date/base_time and moved to internal dir February 13, 2014
Octocat-spinner-32 tests Update the level info dictionary with template's info (if exists) March 25, 2014
Octocat-spinner-32 .gitignore initial work on ressurecting the mongo backend and making it work wit… April 03, 2013
Octocat-spinner-32 .hgignore initial commit after extraction from brewery January 10, 2011
Octocat-spinner-32 .hgtags Added tag v0.6 for changeset 39416fc0d89e April 25, 2011
Octocat-spinner-32 .travis.yml fixed travis config file March 09, 2012
Octocat-spinner-32 AUTHORS added more authors and credits December 09, 2013
Octocat-spinner-32 CHANGES No CHANGES file any more. November 06, 2013
Octocat-spinner-32 LICENSE moved cross_table to aggregation results; minor fixes July 03, 2012
Octocat-spinner-32 README.markdown added link to dev documentation January 07, 2014
Octocat-spinner-32 jsonschema.json Share attribute properties in cube schema; fixed dimension schema November 20, 2013
Octocat-spinner-32 requirements-optional.txt whoosh no longer even an optional requirement March 07, 2014
Octocat-spinner-32 requirements.txt Preliminary model validation using jsonschema (added dependency) November 20, 2013
Octocat-spinner-32 Don't forget to install the base model; + test February 13, 2014

Cubes - Online Analytical Processing Framework for Python


Cubes is a light-weight Python framework and set of tools for Online Analytical Processing (OLAP), multidimensional analysis and browsing of aggregated data.

Focus on data analysis, in human way

Purpose is to provide a framework for giving analyst or any application end-user understandable and natural way of presenting the multidimensional data. One of the main features is the logical model, which serves as abstraction over physical data to provide end-user layer.


  • OLAP and aggregated browsing (default backend is for relational databse - ROLAP)
  • multidimensional analysis
  • logical view of analysed data - how analysts look at data, how they think of data, not not how the data are physically implemented in the data stores
  • hierarchical dimensions (attributes that have hierarchical dependencies, such as category-subcategory or country-region)
  • localizable metadata and data
  • OLAP server (WSGI HTTP server with JSON API based on Wergzeug)


Latest release documentation:

Development documentation:

See examples directory for simple examples and use-cases. Also see:

for more complex examples.


Github source repository:


Developed using python 2.7.

Most of the requirements are soft (optional) and need to be satisfied only if certain parts of cubes are being used.


If you have questions, problems or suggestions, you can send a message to the Google group or write to the author.

Report bugs using github issue tracking:


If you are browsing the code and you find something that:

  • is over-complicated or not obvious
  • is redundant
  • can be done in better Python-way

... please let it be known.


Cubes is written and maintained by Stefan Urbanek (@Stiivi on Twitter) and various contributors. See AUTHORS file for more information.


Cubes is licensed under MIT license with following addition:

If your version of the Software supports interaction with it remotely 
through a computer network, the above copyright notice and this permission 
notice shall be accessible to all users.

Simply said, that if you use it as part of software as a service (SaaS) you have to provide the copyright notice in an about, legal info, credits or some similar kind of page or info box.

For full license see the LICENSE file.

Something went wrong with that request. Please try again.