{"id":13425225,"url":"https://github.com/mwouts/itables","last_synced_at":"2026-02-02T00:24:50.278Z","repository":{"id":37406204,"uuid":"181572634","full_name":"mwouts/itables","owner":"mwouts","description":"Pandas DataFrames as Interactive DataTables","archived":false,"fork":false,"pushed_at":"2025-05-07T23:43:33.000Z","size":61722,"stargazers_count":860,"open_issues_count":41,"forks_count":60,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-08T00:29:00.743Z","etag":null,"topics":["datatables","jupyter","pandas","polars","python","quarto","shiny","streamlit-component","visual-studio-code"],"latest_commit_sha":null,"homepage":"https://mwouts.github.io/itables/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mwouts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supported_editors.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-15T22:09:44.000Z","updated_at":"2025-05-03T10:13:06.000Z","dependencies_parsed_at":"2023-09-30T00:20:21.772Z","dependency_job_id":"66cbbac8-66d1-4bd8-ab2c-650ed1316bcb","html_url":"https://github.com/mwouts/itables","commit_stats":{"total_commits":269,"total_committers":7,"mean_commits":38.42857142857143,"dds":"0.029739776951672847","last_synced_commit":"0633ab86d2be549715ae619f7b7827650308a4db"},"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwouts%2Fitables","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwouts%2Fitables/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwouts%2Fitables/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwouts%2Fitables/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwouts","download_url":"https://codeload.github.com/mwouts/itables/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253645441,"owners_count":21941315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datatables","jupyter","pandas","polars","python","quarto","shiny","streamlit-component","visual-studio-code"],"created_at":"2024-07-31T00:01:07.741Z","updated_at":"2026-02-02T00:24:50.273Z","avatar_url":"https://github.com/mwouts.png","language":"Python","readme":"![ITables logo](https://raw.githubusercontent.com/mwouts/itables/3f8e8bd75af7ad38a500518fcb4fbbc370ea6c4c/itables/logo/wide.svg)\n\n[![CI](https://github.com/mwouts/itables/actions/workflows/continuous-integration.yml/badge.svg?branch=main)](https://github.com/mwouts/itables/actions)\n[![codecov.io](https://codecov.io/github/mwouts/itables/coverage.svg?branch=main)](https://codecov.io/github/mwouts/itables?branch=main)\n[![MIT License](https://img.shields.io/github/license/mwouts/itables)](LICENSE)\n[![Pypi](https://img.shields.io/pypi/v/itables.svg)](https://pypi.python.org/pypi/itables)\n[![Conda Version](https://img.shields.io/conda/vn/conda-forge/itables.svg)](https://anaconda.org/conda-forge/itables)\n[![pyversions](https://img.shields.io/pypi/pyversions/itables.svg)](https://pypi.python.org/pypi/itables)\n ![PyPI - Types](https://img.shields.io/pypi/types/itables)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Jupyter Widget](https://img.shields.io/badge/Jupyter-Widget-F37626.svg?style=flat\u0026logo=Jupyter)](https://mwouts.github.io/itables/apps/widget.html)\n[![Dash Component](https://img.shields.io/badge/Dash-Plotly-1098F7.svg?style=flat\u0026logo=Plotly)](https://mwouts.github.io/itables/apps/dash.html)\n[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_red.svg)](https://itables.streamlit.app)\n\nThis package changes how Pandas and Polars DataFrames are rendered in Python notebooks and applications.\nWith `itables` you can display your tables as interactive [DataTables](https://datatables.net/)\nthat you can sort, paginate, scroll or filter.\n\nITables is just about how tables are displayed. You can turn it on and off in just two lines,\nwith no other impact on your data workflow.\n\nSince v2.6.0, ITables has no dependencies. It works out of the box with Pandas or Polars in Jupyter, Dash, Streamlit, or Marimo—you only need these packages installed. The Jupyter Widget is the sole exception, requiring `anywidget`. With Narwhals installed, ITables can also display DataFrames from other libraries like cuDF, Modin or PyArrow.\n\n## Documentation\n\nBrowse the [documentation](https://mwouts.github.io/itables/) to see\nexamples of Pandas or Polars DataFrames rendered as interactive DataTables.\n\n## Quick start\n\nInstall the `itables` package with either\n```shell\npip install itables\n```\n\nor\n```shell\nconda install itables -c conda-forge\n```\n\nActivate the interactive mode for all series and dataframes in Jupyter with\n```python\nimport itables\n\nitables.init_notebook_mode()\n```\nand then render any DataFrame as an interactive table that you can sort, search and explore:\n![df](docs/df_example.png)\n\nIf 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:\n![show](docs/show_df.png)\n\n\n## ITables in Notebooks\n\nITables 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.\n\nYou can also use ITables in [Quarto](https://mwouts.github.io/itables/quarto.html) HTML documents, and in RISE presentations.\n\nITables works well in VS Code, both in Jupyter Notebooks and in interactive Python sessions.\n\n## ITables in Python applications\n\nITables is also available as\n- a [Jupyter Widget](https://mwouts.github.io/itables/widget.html)\n- a [Dash](https://mwouts.github.io/itables/dash.html) component\n- a [Streamlit](https://mwouts.github.io/itables/streamlit.html) component,\n- and it also works in [Shiny](https://mwouts.github.io/itables/shiny.html) applications.\n\n## Licence\n\nITables is developed by [Marc Wouts](https://github.com/mwouts) on [GitHub](https://github.com/mwouts/itables),\nunder an MIT license.\n\nITables is a wrapper for [datatables.net](https://datatables.net/) which is developed by Allan Jardine\n[(sponsor him!)](https://github.com/sponsors/AllanJard), also under an MIT license.\n","funding_links":["https://github.com/sponsors/AllanJard"],"categories":["HTML","Interactive Widgets \u0026 Visualization","Python","交互式小部件和可视化","Tables","Shiny for Python"],"sub_categories":["Python - Table"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwouts%2Fitables","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwouts%2Fitables","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwouts%2Fitables/lists"}