Skip to content


Ibis is a Python package that aims to provide a single API for composing analytical queries from a variety of database 'backends' - e.g., PostgeSQL, PySpark, Pandas, etc. The API closely resembles the PySpark DataFrame API - i.e., the aim is to represent SQL expressions using Python code.

Demo Objectives

  • How to read data from a database table.
  • How to create a new column.
  • How to join tables.
  • How to perform the split-apply-combine pattern.
  • How to define window functions.
  • How to create views.
  • How to enable lazy evaluation.

Running the Demo

This demo is contained within a single Jupyter notebook - demos/ibis/ibis_introduction.ipynb. Make sure you have the necessary Python package requirements installed into a Jupyter kernel for it to run successfully.