skillfed

itables

Python DataFrames as interactive DataTables

itables v2.9.1 1.5M downloads/30d#3,795 on PyPI970
Permissive license MIT License Copyright (c) 2019-2026 Marc Wouts Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) Active released

What it is and what it does

itables is a display layer for DataFrames in Jupyter notebooks and web applications. It wraps the DataTables.net JavaScript library to turn static table output into interactive, sortable, filterable, paginated tables. Since v2.6.0, it has no runtime dependencies—it works out of the box in Jupyter, Dash, Streamlit, Shiny, Panel, or Marimo. You activate it with a two-line import and call, then all DataFrames render interactively; you can also selectively show only specific tables. With Narwhals installed, it can display DataFrames from other libraries. The package is purely about rendering; it does not modify your data or workflow.

Use it for:

  • Explore large datasets in Jupyter by sorting, filtering, and paginating without writing custom display code.
  • Build interactive dashboards in Dash or Streamlit that let users explore tabular data without backend logic.
  • Export Jupyter notebooks to HTML with interactive tables preserved via nbconvert.
  • Display results in Shiny or Panel applications where users need to search and sort data on the fly.
  • Render DataFrames from multiple libraries with a single consistent interface using Narwhals.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Renders Pandas and Polars DataFrames as interactive, sortable, filterable tables in Jupyter notebooks and web applications without adding runtime dependencies.

Yes. itables is actively maintained, has no runtime dependencies, supports Python 3.9 through 3.14, carries permissive MIT licensing, and solves a real friction point in data exploration. Install it if you work with DataFrames in notebooks or web apps and want interactive table display without extra configuration.

Install

itables on PyPI

pip

pip install itables

uv

uv add itables

poetry

poetry add itables

Installing itables

Before you install

Low friction: pure Python wheel with zero runtime dependencies. Active maintenance—last commit 2026-08-14, release 23 days ago. Supports Python 3.9 through 3.14.

License in practice

MIT License (permissive). You may use, modify, and distribute itables freely in commercial and private projects with minimal restrictions; include the license text in distributions.

Quickstart

pip install itables

import itables
itables.init_notebook_mode()

# Then display any DataFrame as an interactive table in your notebook

Requires Jupyter or a supported notebook environment (Jupyter Notebook, Lab, Colab, VS Code, etc.) or a web framework (Dash, Streamlit, Shiny, Panel, Marimo). Optional: anywidget for Jupyter Widget mode.

Verify before relying

  • Whether the package works with all Narwhals-supported dataframe libraries without additional configuration.
  • Performance characteristics when rendering very large DataFrames.
  • Customization options for table styling, column formatting, or DataTables configuration.

Package facts

License MIT License Copyright (c) 2019-2026 Marc Wouts Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 23 days since the last release
Last repo commit
First released
Downloads 1,537,096/month — #3,795 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: itables-2.9.1-py3-none-any.whl

Keywords: DataTables, Interactive, Javascript, Narwhals, Pandas, Polars

Development Status :: 5 - Production/StableFramework :: DashFramework :: JupyterIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Typing :: Typed

Tags

interactive dataframe displaypandas jupyter table renderingpolars notebook visualizationsortable filterable tablesdatatables integration pythondataframe exploration widgetinteractive data tables
jupyter-widgetdata-explorationinteractive-visualization

More Dynamic Content packages