Ibis is an open source Python framework to access data and perform analytical computations from different sources (e.g. sqlite, duckdb, postgres, spark, clickhouse, bigquery, and more), in a standard way. Use for questions related to configuring Ibis, or problems using Ibis that are not covered in the official tutorial.
From https://ibis-project.org/docs/3.2.0/tutorial/01-Introduction-to-Ibis:
Introduction to Ibis
Ibis is a Python framework to access data and perform analytical computations from different sources, in a standard way.
In a way, you can think of Ibis as writing SQL in Python, with a focus on analytics, more than simply accessing data. And aside from SQL databases, you can use it with other backends, including big data systems.
Why not simply use SQL instead? SQL is great and widely used. However, SQL has different flavors for different database engines, and SQL is very difficult to maintain when your queries are very complex. Ibis solves both problems by standardizing your code across backends and making it maintainable. Since Ibis is Python, you can structure your code in different files, functions, name variables, write tests, etc.
Based on the ibis/README.md it currently supports the following:
- Apache Impala
- Google BigQuery
- ClickHouse
- HeavyAI
- Dask
- DuckDb
- MySQL
- Pandas
- PostgreSQL
- PySpark
- Sqlite
References
- Project Homepage https://ibis-project.org/
- Reference document https://ibis-project.org/docs/
- GitHub repository https://github.com/ibis-project/ibis