Changelog

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.4.2 (2020-07-16)

Added

  • Kafka streaming data source through store.Store.load_kafka().

  • session.Session.endpoint() decorator adds HTTP endpoints to the session from a Python callback.

  • array.sort() has a new ascending parameter. True by default, it allows to choose the sorting order.

  • scope.cumulative() has a new dense parameter. False by default, it allows to choose whether to include all of a level’s members in the cumulative aggregation, even those for which the underlying measure has no values.

  • Atoti+ now supports i18n. en-US is the only locale supported by default but additional locales can be made available by providing custom translation files. These can be configured with config.create_config() A good starting point for adding new locales is to use the template containing all the translatable items, which can be obtained by using session.Session.export_translations_template().

  • The Gauss error function math.erf() and its complementary math.erfc() (#92).

Changed

  • The name_attribute parameter used to select the displayed username when using an OpenID Connect can be configured.

  • The scope parameter used to select the requested scopes when using an OpenID Connect provider can be configured. The openid scope is always passed by default.

Fixed

  • Missing images in the tutorial (#80).

  • Wrong results when using where() (#17).

  • Issue when reading pandas DataFrame with NaN (#77).

  • hierarchy.Hierarchy.isin() and level.Level.isin() can be used with more than 2 values (#93).

  • Issue with array types not displayed correctly in the stores schema.

  • Issue when joining a column of type int to a column of type long if the store is based on a parquet file (#76).

0.4.1.0 (2020-06-17)

Added

  • New tutorial exploring the main basic features of atoti.

  • rank() returns a measure ranking the members of a given hierarchy based on the value of another measure.

  • array.prefix_sum() performs the prefix sum of array measures.

  • Hierarchies can have the same name if they are in different dimensions. To avoid conflicts, a hierarchy can be accessed via a tuple containing the dimension and the hierarchy: cube.hierarchies["Product", "Size"].

Changed

  • Bumped the minimal required version of JupyterLab to 2.1.

  • Upgraded from ActiveUI SDK 4.3.7 to 4.3.8.

  • Better messages for Java known errors (#43).

  • The Auth0 support in Atoti+ has been replaced by the more general OpenID Connect authentication protocol. The structure of the configuration can be seen in the configuration tutorial.

Fixed

  • filter()’s measure parameter accepts any value that can be converted to a measure (#22).

  • filter() and where() support inequalities on dates as conditions.

  • Issue when loading data into a scenario with truncate set to True (#53).

  • Issue with agg.quantile() combined with scope.origin().

  • Issue when aggregating .VALUE measures using any of the agg.xxx functions (#52).

  • Type issue that sometimes happened when chaining operators such as array.quantile() and date_shift().

  • Blinking cell updates not appearing in pivot tables with real time queries.

0.4.0 (2020-05-25)

Added

Changed

Removed

  • BREAKING: simulation.Priority. Directly pass numbers to rank simulation rules instead.

  • BREAKING: Cube.create_bucketing() has moved to Cube._setup_bucketing() and is not part of the public API anymore. It might change in future releases without notice.

  • BREAKING: config.create_config()’s properties parameter. max_memory can be passed directly as a named-parameter instead. The other properties have been removed.

  • BREAKING: pow(measure_a, measure_b) replaced by measure_a ** measure_b.

Fixed

  • Inability to install atoti alongside Python > 3.7 when using Conda.

  • Issue with filter() not being aggregated correctly (#17, #28).

  • Metadata DBs created in atoti can be used in Atoti+ and reciprocally (#15).

  • Inability to create some measures or hierarchies after some partial joins (#4, #10).

  • Inability to load CSV folders from AWS S3 storage.

  • Slow read of files on AWS S3 when anonymous due to multiple timeouts in the credentials provider (#26).

  • Inability to use wildcards on fields types other than strings.

  • Inability to use numeric levels for measure simulations.

0.3.1 (2020-04-14)

First public release of atoti.