2011-09-29 by Stefan Urbanek

Cubes 0.7 released

I am happy to announce another release of Cubes - Python OLAP framework for multidimensional data aggregation and browsing.

This release, besides some new features, renames Cuboid to more appropriate Cell. This introduces backward python API incompatibility.

Main source repository has changed to Github https://github.com/Stiivi/cubes

Changes

  • Class ‘Cuboid’ was renamed to more correct ‘Cell’. ‘Cuboid’ is a part of cube with subset of dimensions.
  • all APIs with ‘cuboid’ in their name/arguments were renamed to use ‘cell’ instead
  • Changed initialization of model classes: Model, Cube, Dimension, Hierarchy, Level to be more “pythony”: instead of using initialization dictionary, each attribute is listed as parameter, rest is handled from variable list of key word arguments
  • Improved handling of flat and detail-less dimensions (dimensions represented just by one attribute which is also a key)

Model Initialization Defaults:

  • If no levels are specified during initialization, then dimension name is considered flat, with single attribute.
  • If no hierarchy is specified and levels are specified, then default hierarchy will be created from order of levels
  • If no levels are specified, then one level is created, with name default and dimension will be considered flat

Note: This initialization defaults might be moved into a separate utility function/class that will populate incomplete model (see Issue #8 )

New features

Slicer server:

  • changed to handle multiple cubes within model: you have to specify a cube for /aggregate, /facts,… in form: /cube//
  • reflect change in configuration: removed view, added view_prefix and view_suffix, the cube view name will be constructed by concatenating view prefix + cube name + view suffix
  • in aggregate drill-down: explicit dimension can be specified with drilldown=dimension:level, such as: date:month

This change is considered final and therefore we can mark it is as API version 1.

Links:

If you have any questions, comments, requests, do not hesitate to ask.

2011-04-25 by Stefan Urbanek

Cubes 0.6 released

New version of Cubes - Python OLAP framework and server - was released.

Cubes is a framework for:

Notable changes:

  • added ‘details’ to cube metadata - attributes that might contain fact details which are not relevant to aggregation, but might be interesting when displaying facts (such as contract name or notes)
  • added ordering of facts in aggregation browser

SQL

  • SQL denormalizer can now, by request, automatically add indexes to level key columns
  • one detail table can be used more than once in SQL denomralizer (such as an organisation for both - supplier and requestor), added key alias to joins in model description, see joins documentation for more information.

Slicer server

  • added log a and log_level configuration options (under [server])
  • added format= parameter to /facts, accepts json and csv
  • added fields= parameter to /facts - comma separated list of returned fields in CSV (see API)
  • limit number of facts returned in JSON (configurable by json_record_limit in [server] section), CSV can return whole dataset and will do it iteratively (we do not want to consume all of our memory, do we?)

Also many bugs were fixed, including localization in fact(s) retrieval and pagination. Sharing of single SQLAlchemy engine and model within server thread was added for performance reasons.

Enjoy.

Previous Page