0.8.10 (March 05, 2024)#
Added#
Ability to change
atoti.Hierarchy.dimension_default
.Ability to configure the
dark_theme_logo
.
Changed#
Upgraded Atoti UI to 5.1.15.
CumulativeScope
,OriginScope
, andSiblingsScope
’s attributes have been made public.atoti-jupyterlab
’s dependency on JupyterLab has been bumped to >= 4.1 which has built-in support for rendering Mermaid diagrams.atoti.tables.Tables.schema
will thus always produce a Mermaid diagram which means Graphviz is no longer required.The Java application started when initilializing a
Session
has been migrated to Spring Boot 3. This may require changes in the extra_jars passed to its__init__()
method.
Deprecated#
Passing a
Set
to:atoti.Session.__init__()
’s extra_jars or java_options parametersatoti.Cube.query()
oratoti_query.QueryCube.query()
’s levels parameteratoti.Cube.create_parameter_simulation()
’s levels parameteratoti.Cube.create_parameter_hierarchy_from_members()
’s members parameter
Pass a
Sequence
instead:tt.Session( - java_options={"-Xmx:32G"} + java_options=["-Xmx:32G"] )
Passing a
Sequence
to:Pass a
Set
instead:tt.MultiColumnArrayConversion( - column_prefixes=["QUANTITY"] + column_prefixes={"QUANTITY"} )
Passing an int to
load_kafka
’s batch_duration. Pass atimedelta
instead:+ from datetime import timedelta table.load_kafka( bootstrap_server, topic, group_id=group_id, - batch_duration=2_500, + batch_duration=timedelta(seconds=2.5), )
The constructor of
OriginScope
accepting a variadic levels parameter. Pass a named levels argument of typeSet
instead:tt.OriginScope( - l["Product"], l["Date"] + levels={l["Product"], l["Date"]} )
This will improve the legibility of errors raised when passing invalid levels in a future release.
Fixed#
Runtime type checking of collections. The deprecations related to
Sequence
andSet
mentioned above were made to get rid ofCollection
throughout the API because the runtime type checking mechanism used by Atoti (powered by Pydantic) does not validateCollection
.For instance, thanks to this change,
tt.Session(extra_jars="some.jar")
will raise an error indicating ‘str’ instances are not allowed as a Sequence value since extra_jars must be aSequence
of paths. Before, it would have unexpectedly added the pathss
,o
,m
,e
,.
,j
,a
,r
to the classpath.load_kafka()
’s batch_duration parameter not behaving as documented.pip install “atoti[jupyterlab]==x.y.z” sometimes trying to download more versions of
atoti-jupyterlab
thanx.y.z
before figuring out that they are not compatible.