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 Common errors
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
Warnings
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.
Install
pip install dtale[arcticdb] Imports
- dtale
import dtale - show
from dtale import show
Quickstart
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()