Bach is Objectiv’s data modeling library to build & compose models with familiar pandas-like dataframe operations in your notebook. It uses an SQL abstraction layer that enables models to run on the full dataset. As all data storage and processing is handled by the database, local memory does not limit the size of the data that can be analyzed. See more details on this in the Core Concepts. Any model you build can subsequently be output to SQL with a single command, for use in tools like BI or dbt.

Bach also specifically includes a set of operations to work with datasets that embrace the open analytics taxonomy.

The package can be installed from PyPI:

pip install objectiv-bach

How to use

Once your app is tracking data, follow the steps on Usage to work with Bach.

If you just want to get a taste of what you can do with Objectiv Bach, There is a demo available that enables you to run the full Objectiv pipeline on your local machine. It includes our website as a demo app, a Jupyter Notebook environment with working Bach-powered models and a Metabase environment to output data to.

The two main data classes in Bach are the DataFrame and Series:

  • A DataFrame represents data in a tabular form, with all rows having the same columns, and each column having a specific data type and a distinct name.
  • A Series object represents a single column in a DataFrame, with different subclasses per data type that allow for type specific operations.