Display Pandas and Polars DataFrames as interactive, sortable, and searchable DataTables in Jupyter notebooks and Python applications.
ITables is a Python library that converts Pandas and Polars DataFrames into interactive DataTables within Jupyter notebooks and Python applications. It solves the problem of static, hard-to-explore table displays by enabling sorting, pagination, scrolling, and filtering directly in the output.
Data scientists, analysts, and developers working in Jupyter environments or building data-centric Python applications with Dash, Streamlit, or Shiny who need interactive data exploration.
Developers choose ITables for its simplicity, zero-dependency design, and seamless integration across multiple platforms, allowing interactive data exploration without disrupting existing data workflows.
Python DataFrames as Interactive DataTables
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Since v2.6.0, ITables has no Python dependencies, working out of the box with Pandas or Polars for instant setup, as explicitly stated in the README.
It seamlessly supports Jupyter Notebook, Lab, Google Colab, VS Code, Quarto, and RISE presentations, ensuring interactive tables work across diverse data science tools.
Available as drop-in components for Dash, Streamlit, Shiny, and as a Jupyter Widget, enabling quick adoption in various Python applications without complex configuration.
Users can toggle interactive mode globally or use 'itables.show' for specific DataFrames, offering precise control without altering underlying data pipelines.
ITables relies on the DataTables.net library, requiring client-side JavaScript execution, which fails in JS-disabled environments and adds overhead for server-heavy applications.
The Jupyter Widget requires 'anywidget', and extended DataFrame support needs Narwhals, adding complexity beyond the core zero-dependency promise.
For very large datasets, all data is sent to the browser, causing potential performance lags in sorting and filtering, as ITables lacks built-in server-side data handling.