Registry / data / itables

itables

JSON →
library2.9.1pypypi✓ verified 23d ago

ITables (Interactive Tables) is a Python package that transforms Pandas or Polars DataFrames into interactive DataTables, enhancing data exploration within Jupyter notebooks, VS Code, Google Colab, and various Python applications like Streamlit, Dash, and Shiny. It provides features such as sorting, pagination, scrolling, and filtering directly in the browser. The library is actively maintained, with frequent releases, and is currently at version 2.7.3.

pip install itables
INSTALL
IMPORT
SIG · ITABLES
I
itables
datapythonv2.9.1
Install
1.7s avg
Import
134ms
Disk
22MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.9.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.140s · 24.3MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.7s · import 0.128s · 25MB
22MB installed
● package 22MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

init_notebook_mode
from itables import init_notebook_mode
Used to activate interactive mode for all DataFrames in a notebook environment. Often called as `itables.init_notebook_mode()` after `import itables`.
show
from itables import show
Used to display a specific DataFrame interactively when `init_notebook_mode(all_interactive=False)` or not used.
options
import itables.options as opt
Provides access to global ITables configuration options (e.g., `opt.lengthMenu`, `opt.maxBytes`).

This quickstart demonstrates how to install `itables`, initialize it for automatic interactive display of all Pandas DataFrames in a notebook, and then create and display a sample DataFrame.

import pandas as pd import itables # Activate interactive mode for all DataFrames itables.init_notebook_mode(all_interactive=True) # Create a sample DataFrame data = {'col1': [1, 2, 3, 4, 5], 'col2': ['A', 'B', 'C', 'D', 'E']} df = pd.DataFrame(data) # Display the DataFrame (will be interactive automatically) df
Debug
Known issues
gotchaHandling large datasets: By default, ITables downsamples large DataFrames to prevent performance issues (`maxBytes=64KB`). Setting `itables.options.maxBytes = 0` or a very large number can freeze your notebook or browser due to excessive data transfer to JavaScript.
fix
Adjust `itables.options.maxBytes` or `itables.options.maxRows` to manage data size. Filter your DataFrame in Python before displaying if interactivity is only needed for a subset of data.
affects: All versions
gotchaOffline vs. Online mode: `init_notebook_mode(connected=True)` loads DataTables libraries from a CDN, requiring internet. The default `connected=False` injects libraries for offline use. If you change the `connected` argument, you must re-execute all cells displaying interactive tables for the change to take effect.
fix
Ensure `connected` is set appropriately for your environment. Re-execute all relevant notebook cells after changing this option.
affects: All versions
gotchaITables provides read-only interaction. It allows for sorting, searching, and pagination, but you cannot edit or modify the underlying DataFrame data directly through the interactive table interface.
fix
Perform data modifications directly using Pandas or Polars operations in Python code.
affects: All versions
deprecatedChanges in core dependencies: Since v2.6.0, ITables has no direct package dependencies. Previously, `numpy`, `pandas`, and `IPython` were listed as dependencies. While not strictly 'breaking', users should be aware that these packages are still required for ITables to function with their respective DataFrame types and environments, but are now expected to be installed separately.
fix
Ensure `pandas` (or `polars`), `numpy`, and `IPython` are installed in your environment if you intend to use ITables with their features. If using the Jupyter Widget, `anywidget` is also required.
affects: Prior to v2.6.0
Errors
Common errors & fixes
itables table loading forever
The interactive table is stuck in a 'Loading...' state, often because the Jupyter notebook is not trusted, `itables.init_notebook_mode()` was not executed, or `connected=True` was used without an internet connection.
fix
First, ensure your Jupyter notebook is 'trusted' (usually an option under 'File' or in the command palette). Then, make sure to execute `import itables; itables.init_notebook_mode()` at the beginning of your notebook. If you used `init_notebook_mode(connected=True)`, verify that you have an active internet connection.
ModuleNotFoundError: No module named 'itables'
The `itables` package is not installed in the Python environment currently being used, or the environment is not correctly activated.
fix
Install the `itables` package using either `pip install itables` or `conda install itables -c conda-forge` in your active Python environment.
Javascript Error: require is not defined
This error typically appears in older Jupyter Lab installations where the JavaScript module loading mechanism ('require') is not correctly configured or recognized by `itables`.
fix
Update your Jupyter Lab installation to the latest version. If the issue persists, try restarting your Jupyter kernel and reloading the page, or reinstalling the Jupyter Lab extension for itables if applicable.
Upgrade
Version history
2.9.1latest on PyPI · released Jul 22, 2026
Audit
Dependencies
pandasoptionalRequired to display Pandas DataFrames interactively.
polarsoptionalRequired to display Polars DataFrames interactively.
numpyoptionalOften a dependency of Pandas/Polars, implicitly used by itables for data handling.
ipythonoptionalRequired for notebook integration (e.g., Jupyter, Colab).
anywidgetoptionalRequired for the ITables Jupyter Widget component.
narwhalsoptionalEnables ITables to display DataFrames from other libraries like cuDF, Modin, or PyArrow.
Agent activity
5 hits · last 30 days
node
4
Resources
itables — pip install itables · libregistry