https://github.com/mwouts/itables
Pandas DataFrames as Interactive DataTables
https://github.com/mwouts/itables
datatables jupyter pandas polars python quarto shiny streamlit-component visual-studio-code
Last synced: 11 days ago
JSON representation
Pandas DataFrames as Interactive DataTables
- Host: GitHub
- URL: https://github.com/mwouts/itables
- Owner: mwouts
- License: mit
- Created: 2019-04-15T22:09:44.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T01:18:49.000Z (6 months ago)
- Last Synced: 2024-10-29T11:31:49.318Z (6 months ago)
- Topics: datatables, jupyter, pandas, polars, python, quarto, shiny, streamlit-component, visual-studio-code
- Language: Jupyter Notebook
- Homepage: https://mwouts.github.io/itables/
- Size: 45.7 MB
- Stars: 786
- Watchers: 13
- Forks: 57
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Support: docs/supported_editors.md
Awesome Lists containing this project
- awesome-shiny-extensions - itables - Display pandas and polars data frames as interactive DataTables that you can sort, paginate, scroll, and filter. (Shiny for Python / Python - Table)
- awesome-jupyter - ITables - Pandas and Polars DataFrames rendered as interactive [datatables-net](https://datatables.net/) tables. (Tables)
- best-of-jupyter - GitHub - 19% open · ⏱️ 05.04.2025): (Interactive Widgets & Visualization)
- awesome-jupyter-resources - GitHub - 10% open · ⏱️ 17.08.2022): (交互式小部件和可视化)
README

[](https://github.com/mwouts/itables/actions)
[](https://codecov.io/github/mwouts/itables?branch=main)
[](LICENSE)
[](https://pypi.python.org/pypi/itables)
[](https://anaconda.org/conda-forge/itables)
[](https://pypi.python.org/pypi/itables)
[](https://github.com/psf/black)
[](https://mwouts.github.io/itables/widget.html)
[](https://mwouts.github.io/itables/dash.html)
[](https://itables.streamlit.app)This packages changes how Pandas and Polars DataFrames are rendered in Jupyter Notebooks.
With `itables` you can display your tables as interactive [DataTables](https://datatables.net/)
that you can sort, paginate, scroll or filter.ITables is just about how tables are displayed. You can turn it on and off in just two lines,
with no other impact on your data workflow.The `itables` package only depends on `numpy`, `pandas` and `IPython`
which you must already have if you work with Pandas in Jupyter (add `polars`, `pyarrow` if you
work with Polars DataFrames).## Documentation
Browse the [documentation](https://mwouts.github.io/itables/) to see
examples of Pandas or Polars DataFrames rendered as interactive DataTables.## Quick start
Install the `itables` package with either
```shell
pip install itables
```or
```shell
conda install itables -c conda-forge
```Activate the interactive mode for all series and dataframes with
```python
import itablesitables.init_notebook_mode()
```
and then render any DataFrame as an interactive table that you can sort, search and explore:
If you prefer to render only selected DataFrames as interactive tables, call `itables.init_notebook_mode(all_interactive=False)`, then use `itables.show` to show just one Series or DataFrame as an interactive table:
Since ITables v1.0, the [jQuery](https://jquery.com/) and [DataTables](https://datatables.net/) libraries and CSS
are injected in the notebook when you execute `init_notebook_mode` with its default argument `connected=False`.
Thanks to this the interactive tables will work even without a connection to the internet.If you prefer to load the libraries dynamically (and keep the notebook lighter), use `connected=True` when you
execute `init_notebook_mode`.## Supported notebook environments
ITables works in all the usual Jupyter Notebook environments, including Jupyter Notebook, Jupyter Lab, Jupyter nbconvert (i.e. the tables are still interactive in the HTML export of a notebook), Jupyter Book, Google Colab and Kaggle.
You can also use ITables in [Quarto](https://mwouts.github.io/itables/quarto.html) HTML documents, and in RISE presentations.
ITables works well in VS Code, both in Jupyter Notebooks and in interactive Python sessions.
## ITables in Python applications
Last but not least, ITables is also available as
- a [Jupyter Widget](https://mwouts.github.io/itables/widget.html)
- a [Dash](https://mwouts.github.io/itables/dash.html) component
- a [Streamlit](https://mwouts.github.io/itables/streamlit.html) component,
- and it also works in [Shiny](https://mwouts.github.io/itables/shiny.html) applications.## Licence
ITables is developed by [Marc Wouts](https://github.com/mwouts) on [GitHub](https://github.com/mwouts/itables),
under a MIT license.ITables is a wrapper for [datatables.net](https://datatables.net/) which is developed by Allan Jardine
[(sponsor him!)](https://github.com/sponsors/AllanJard), also under a MIT license.