0.6.4 (2022-01-16)¶
Added¶
atoti-query
to query remote sessions without having to installatoti
(and itsjdk4py
dependency or another JDK) (#128).Support for
atoti.create_session()
’s app_extensions parameter.Support for mode parameter in
atoti.Session.query_mdx()
,atoti_query.QuerySession.query_mdx()
andatoti_query.QueryCube.query()
(#345).individual_roles
to manage the roles given to users on top of the ones that can be added by authentication providers.ClientCertificateConfig
to allow users to authenticate using client certificates.QuerySession
’s client_certificate parameter to authenticate against remote sessions using client certificates.use_client_secret_as_certificate
to use a client certificate to authenticate the atoti session against the OIDC provider.
Changed¶
atoti.experimental.create_date_hierarchy()
has been stabilized asatoti.Cube.create_date_hierarchy()
.
Deprecated¶
Support for Python 3.7. According to NEP 29, the next release of atoti will only support Python >= 3.8.
atoti with JupyterLab Docker image. The alternative is to install
atoti
,atoti-jupyterlab
andjupyter-server-proxy
like any other Python package in a Base Jupyter Notebook Docker container or in JupyterHub.To package an atoti app into a Docker image for deployment purposes, use the Project template’s Dockerfile instead.
Importing functions and classes from
atoti.query
. Instead, import them directly fromatoti
ifatoti
is installed and fromatoti-query
otherwise.atoti.query.create_basic_authentication()
andatoti.query.create_token_authentication()
. Useatoti_query.BasicAuthentication
andatoti_query.TokenAuthentication
instead.atoti.open_query_session()
. InstantiateQuerySession
directly instead.Giving a name to a
QuerySession
.
Fixed¶
Insertion of values in columns with special characters in their name (#411).
Handling of
None
elements of nullable arrays with :meth:atoti.Table.head` (#412).Error when changing
atoti.Level.comparator
and redefining a measure using thisatoti.Level
(#423).Wrong measure values when using a date
atoti.Level
with non-defaultatoti.Level.comparator
in an aggregation scope (#424).Error when creating one full
join()
and one partialjoin()
based on the same columns but with different names (#433).Connections to SQL databases not being released (#415).
Autocomplete for
atoti.Cube.hierarchies
andatoti.Cube.levels
(#418).Wrong results on cumulative aggregation with arrays (#442).
Wrong aggregates when chaining arithmetic operations with filtering measures (#426).
Access to the user content storage web editor (#427).
Creation of a constant array measure with mixed numeric types (#440).
Creation of a hierarchy with a data model containing partially joined tables (#444).
Configured
atoti.I18nConfig.default_locale
being ignored.Missing values when querying a non-slicing hierarchy created using
atoti.Cube.create_parameter_hierarchy_from_column()
(#416).Instances of
ZONED_DATE_TIME
not being converted from strings to dates inatoti.Table.head()
andatoti.Cube.query()
.