What’s New in Atoti Python 0.7.3?

Python 3.11 Compatibility, an Updated Way to Define Joins, Telemetry Changes Ahead. Hey Atoti Community! We’re super…

Hetal Kapadia
February 23, 2023
Scroll to read the aricle

What’s New in Atoti Python 0.7.3?

Python 3.11 Compatibility, an Updated Way to Define Joins, Telemetry Changes Ahead.

Hey Atoti Community! We’re super excited to announce our Atoti Python 0.7.3 release. Wondering what we have in store for you? While breaking nothing this release, we have some great updates ahead. Read on to see some of the changes we’ve implemented, or check out our changelog for the full list of updates.

Added

Python Compatibility

Excited by the promising performance improvements in Python 3.11, but bummed Atoti wasn’t compatible with it? Well, fret no more! With 0.7.3, Atoti is now compatible with Python 3.11.

First and Last

Sometimes need to know the first value of a measure along a given level? Same, TBH. That’s why we’ve added atoti.function.first(). For example, if we wanted to see how price changed since the launch of a product, we can easily do so using first()

table demonstrating atoti.function.first()

Note: we have added last() as well.

Changed

We collect telemetry data to help us understand the usage and performance of Atoti CE. This is non-personally identifiable information which details things like error messages, stack traces, and when and where (based on IP) sessions are create. Details regarding our telemetry capture are outlined in our EULA available on our website. Going forward, this feature can be disabled for paid users by installing the Atoti-plus plugin.

Deprecated

Table Join Mappings

You know we love to take full advantage of Atoti’s intelligence on table joins in our use cases: if two tables have columns with the same name, Atoti infers that the join ought to occur along those columns. We can also specify on what columns to join using mapping as can be seen from this snippet of our Intraday Liquidity notebook:

payment_tbl.join(time_tbl, mapping={"Settlement_Time": "Time"})

While you can still do so for now, going forward, set it as a condition like so:

payment_tbl.join(time_tbl, (payment_tbl[“Settlement_Time”] == time_tbl[“Time”]))

Roles in Security Implementation

Security features are available for paid Atoti users. Previously, we would use the roles parameter of atoti_plus.BasicSecurity.create_user() to define our roles, as can be seen from this example inspired by our Security Implementation notebook:

Inspire_manager = usc.basic.create_user("Inspire_manager", password="Password", roles=("ROLE_SHARE"))

While you can still do so for now, going forward, we’ll be dropping the role parameter and we can update the applicable roles like so: 

usc.individual_roles["Inspire_manager"].update(["ROLE_ADMIN"])

Note: the same is true for atoti_plus.KerberosSecurity.create_user().

Conclusion

Thank you for reading. As always, we’re constantly improving Atoti. This was a highlight of some of the changes in our Atoti 0.7.3 release. Have an idea or a question? Join the conversation on GitHub. For a complete list of changes, please visit our changelog.

Join our Community

Join our thriving article community and start sharing your insights today!

Like this post? Please share

Latest Articles

View all

Retail Banking Analytics with Atoti

Make smarter decisions by analyzing consumer credit cards and risk profiles. Retail banking, otherwise known as consumer...

Putting Python Code in Production

Python is great for research, but can you really use it for production quality projects? Python, once...

Changes ahead: Atoti Server 6.0-springboot3

ActiveViam is upgrading version 6.0 of Atoti Server from Spring Boot 2 to Spring Boot 3 to...
Documentation
Information
Follow Us

Atoti Free Community Edition is developed and brought to you by ActiveViam. Learn more about ActiveViam at activeviam.com

Follow Us