0.6.5 (March 25, 2022)#
Added#
columns parameter to
atoti.Session.read_csv(),atoti.Session.read_parquet(),atoti.Table.load_csv(), andatoti.Table.load_parquet()to rename or filter columns to be loaded in aatoti.Table(issue #462).Support for isolated
atoti.Tabledeletion (issue #85).del session.tables[table_name]
atoti_query.OAuth2ResourceOwnerPasswordAuthenticationto authenticate programmatically against a session secured with OIDC.atoti.math.isnan()to compare measures toNaN(issue #414).context parameter to
atoti.Cube.query(),atoti_query.QueryCube.query(),atoti.Session.query_mdx()andatoti_query.QuerySession.query_mdx()(issue #517).DefaultRolescan be granted to users who had no roles granted byIndividualRolesandRoleMappingin an OIDC secured session.
User interface#
atoti_plus.app_extension.ADVANCED_APP_EXTENSIONto activate advanced features of the app.Style section at the bottom of the atoti sidebar (for widgets supporting it):
Changed#
Creating and configuring a session is done by passing the corresponding parameters to
atoti.Session.__init__().- session = tt.create_session( - config={ - "authentication": {"basic": {"realm": "Example"}}, - "port": 9090, - } - ) + session = tt.Session( + authentication=tt.BasicAuthenticationConfig(realm="Example"), + port=9090, + )
Passing a
atoti.UserContentStorageConfigpointing to a local H2 database will automatically migrate the database to H2 v2 format during session startup.
User interface#
Upgraded ActiveUI to 5.0.8 (issue #223, issue #288, issue #320, issue #367).
Deprecated#
atoti.create_session(). Instantiateatoti.Sessiondirectly instead.atoti_aws.create_aws_key_pair()andatoti_aws.create_aws_kms_config(). Instantiateatoti_aws.AwsKeyPairandatoti_aws.AwsKmsConfigdirectly instead.atoti_azure.create_azure_key_pair(). Instantiateatoti_azure.AzureKeyPairdirectly instead.atoti.level.Level.comparator.instead of
atoti.comparator.ASCENDINGandatoti.comparator.DESCENDING, useatoti.NaturalOrder.instead of
atoti.comparator.first_members(), useatoti.CustomOrder.
atoti_kafka.create_deserializer(). Use the defaultJSON_DESERIALIZERinstead.Passing timeouts as instances of
int. Usedatetime.timedeltainstead.
Removed#
Support for Python 3.7.
Fixed#
Unnecessary creation of index
atoti.Columnwhen usingatoti.Cube.create_parameter_hierarchy_from_members().Iteration over
atoti.Cube.levelswhen multiple hierarchies have the same name.Running a
query()on a cube based on an emptyTable(issue #459).Data loading after having called
atoti.Cube.create_date_hierarchy()(issue #409).Error handling of invalid
atoti.create_session()’s app_extensions parameter (issue #454).Measures reordering in the UI (issue #390).
atoti.Session.create_cube()performance issue (issue #445).Ability to hide hierarchies (issue #466).
Documentation of
atoti.agg.quantile()andatoti.array.quantile()(issue #485).Measure creation on an empty
atoti.Cube(issue #460).Readability of query errors (issue #421).