{"id":4058,"library":"itables","title":"ITables","description":"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.","status":"active","version":"2.7.3","language":"en","source_language":"en","source_url":"https://github.com/mwouts/itables.git","tags":["DataFrames","interactive","Jupyter","Pandas","Polars","DataTables","notebook","Streamlit","Dash","Shiny"],"install":[{"cmd":"pip install itables","lang":"bash","label":"PyPI"},{"cmd":"conda install -c conda-forge itables","lang":"bash","label":"Conda"}],"dependencies":[{"reason":"Required to display Pandas DataFrames interactively.","package":"pandas","optional":true},{"reason":"Required to display Polars DataFrames interactively.","package":"polars","optional":true},{"reason":"Often a dependency of Pandas/Polars, implicitly used by itables for data handling.","package":"numpy","optional":true},{"reason":"Required for notebook integration (e.g., Jupyter, Colab).","package":"ipython","optional":true},{"reason":"Required for the ITables Jupyter Widget component.","package":"anywidget","optional":true},{"reason":"Enables ITables to display DataFrames from other libraries like cuDF, Modin, or PyArrow.","package":"narwhals","optional":true}],"imports":[{"note":"Used to activate interactive mode for all DataFrames in a notebook environment. Often called as `itables.init_notebook_mode()` after `import itables`.","symbol":"init_notebook_mode","correct":"from itables import init_notebook_mode"},{"note":"Used to display a specific DataFrame interactively when `init_notebook_mode(all_interactive=False)` or not used.","symbol":"show","correct":"from itables import show"},{"note":"Provides access to global ITables configuration options (e.g., `opt.lengthMenu`, `opt.maxBytes`).","symbol":"options","correct":"import itables.options as opt"}],"quickstart":{"code":"import pandas as pd\nimport itables\n\n# Activate interactive mode for all DataFrames\nitables.init_notebook_mode(all_interactive=True)\n\n# Create a sample DataFrame\ndata = {'col1': [1, 2, 3, 4, 5], 'col2': ['A', 'B', 'C', 'D', 'E']}\ndf = pd.DataFrame(data)\n\n# Display the DataFrame (will be interactive automatically)\ndf","lang":"python","description":"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."},"warnings":[{"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.","message":"Handling 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.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure `connected` is set appropriately for your environment. Re-execute all relevant notebook cells after changing this option.","message":"Offline 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.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Perform data modifications directly using Pandas or Polars operations in Python code.","message":"ITables 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.","severity":"gotcha","affected_versions":"All versions"},{"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.","message":"Changes 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.","severity":"deprecated","affected_versions":"Prior to v2.6.0"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}