Skip to main content

What is the Atoti Python SDK?

This SDK exposes the Atoti engine’s data modeling, measure, and configuration APIs through Python, so teams can build and iterate on analytics applications without needing Java expertise. It integrates with common Python tooling such as Pandas and JupyterLab, and this page assumes familiarity with Python and Atoti application concepts.

Why use the Atoti Python SDK?

The Atoti Python SDK is suitable when an Atoti application is built by teams working primarily in Python, or when integration with Python data tooling is a priority. It covers the most commonly used Atoti engine capabilities through a concise, expressive API. Key benefits include:
  • Access to Atoti engine APIs for building data models, defining measures, and configuring the server.
  • Integration with the Python ecosystem, including Pandas and JupyterLab.
  • A concise API that reduces the amount of code required for common tasks.
  • Accessibility for teams that include quants, data engineers, and other developers who work primarily in Python.
  • Reduced dependency on specialist Java expertise for analytics and application development tasks.
  • Access to performance tuning options including aggregate providers and partitioning strategies.

Who is the Atoti Python SDK for?

The Atoti Python SDK is designed for developers who build and deploy Atoti applications in Python. It is commonly used in financial institutions where Python is the primary development language for analytics work. Typical use cases include:
  • Defining the data model and semantic layer.
  • Implementing measures and aggregation logic.
  • Configuring data ingestion and refresh strategies.
  • Prototyping and iterating on Atoti applications in a notebook environment.
  • Building analytics applications with teams that include both engineers and quant developers.
The Python SDK is well suited for financial analytics use cases. Examples include VaR, expected shortfall, liquidity risk, and regulatory capital calculations such as FRTB.

What can be built with the Atoti Python SDK?

The Atoti Python SDK can be used to build the core parts of an Atoti application. Common tasks include:
  • Defining the data model, including tables, fields, and relationships.
  • Creating the semantic layer with dimensions, hierarchies, and measures.
  • Writing user-defined functions for custom metrics and aggregation logic.
  • Configuring data loading pipelines for in-memory and DirectQuery sources.
  • Setting up server configuration, security, and access control.
  • Connecting to data sources such as files, relational databases, cloud warehouses, and real-time streams.

What is the relationship to the Atoti Java SDK?

The Atoti Java SDK provides an alternative way to build Atoti applications. It is the native interface for configuring the Atoti engine and exposes all public engine APIs. The Python SDK covers the majority of use cases. Some low-level engine capabilities are only available through the Java SDK. Where full engine access or advanced configuration is required, the Java SDK is the appropriate choice. The Python SDK is regularly extended as new Java features are made available. The choice of SDK does not affect runtime performance or reliability. Applications built with either SDK run on the same Java engine.