D-Tale

raw JSON →
3.22.0 verified Fri May 01 auth: no python

A web-based visualizer for pandas DataFrames, offering an intuitive GUI for data exploration, transformation, and analysis. Current version is 3.22.0, with regular releases every few months.

pip install dtale
error ModuleNotFoundError: No module named 'dtale'
cause dtale not installed or virtual environment not activated.
fix
Run pip install dtale in your environment, or activate the correct virtualenv.
error OSError: [Errno 98] Address already in use
cause Previous D-Tale instance still running on the same port, or port conflict.
fix
Close any running D-Tale instances (e.g., call .close() on the object) or specify a different port via dtale.show(df, host='localhost', port=12345).
error AttributeError: module 'dtale' has no attribute 'show'
cause Installed a wrong package named 'dtale' from a different source, or import path issue.
fix
Uninstall any conflicting packages (pip uninstall dtale) and reinstall the correct one (pip install dtale) from PyPI.
error ValueError: invalid mode: 'r' while trying to open D-Tale
cause D-Tale is trying to open a file or resource incorrectly, often due to missing dependencies or permissions.
fix
Ensure all required dependencies (flask, dash, etc.) are installed. Try restarting the Python interpreter.
error TypeError: show() got an unexpected keyword argument 'subprocess'
cause Using an older version of dtale (<3.14.0) that does not support the subprocess parameter.
fix
Upgrade dtale: pip install --upgrade dtale
breaking Version 3.22.0 fixes CWE-502 unsafe deserialization in Redis/Shelve backends. If you use those storage backends, upgrade immediately.
fix pip install --upgrade dtale
deprecated In older versions, the default behavior was to run a subprocess and open browser automatically. In recent versions, subprocess=False and open_browser=False are recommended for scripting.
fix Pass subprocess=False and open_browser=False to dtale.show()
gotcha Calling dtale.show() multiple times without closing previous instances can cause port conflicts. Always close with instance.close() or reuse the same instance.
fix Store the returned object and call .close() when done, or use subprocess=True to let it manage a separate process.
breaking In version 3.17.0, dash 3.0.0 support introduced breaking changes; custom code using dash internals may need updates.
fix Check dash integration if you have custom callbacks; ensure dash version compatibility.
pip install dtale[arcticdb]

Launch D-Tale UI for a DataFrame, disable subprocess and browser auto-open for script usage.

import pandas as pd
import dtale

df = pd.DataFrame({'x': [1,2,3], 'y': [4,5,6]})
d = dtale.show(df, subprocess=False, open_browser=False)
print('Data opened at:', d._main_url)
d.close()