0.6.5 (March 25, 2022)#
Added#
columns parameter to
read_csv(),read_parquet(),load_csv(), andload_parquet()to rename or filter columns to be loaded in aTable(issue #462).Support for isolated
Tabledeletion (issue #85).del session.tables[table_name]
atoti_query.OAuth2ResourceOwnerPasswordAuthenticationto authenticate programmatically against a session secured with OIDC.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).atoti_plus.security.DefaultRolescan be granted to users who had no roles granted byatoti_plus.security.IndividualRolesandatoti_plus.security.RoleMappingin 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
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, useNaturalOrder.instead of
atoti.comparator.first_members(), useCustomOrder.
atoti_kafka.create_deserializer(). Use the default~atoti_kafka.deserializer.JSON_DESERIALIZERinstead.Passing timeouts as instances of
int. Usedatetime.timedeltainstead.
Removed#
Support for Python 3.7.
Fixed#
Unnecessary creation of index
Columnwhen usingcreate_parameter_hierarchy_from_members().Iteration over
levelswhen multiple hierarchies have the same name.Running a
query()on a cube based on an emptyTable(issue #459).Data loading after having called
create_date_hierarchy()(issue #409).Error handling of invalid
create_session()’s app_extensions parameter (issue #454).Measures reordering in the UI (issue #390).
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
Cube(issue #460).Readability of query errors (issue #421).