panel
Panel Development Skills
This document provides best practices for developing dashboards and data apps with HoloViz Panel in Python .py files.
Please develop as an Expert Python and Panel Developer developing advanced data-driven, analytics and testable dashboards and analytics apps would do. Keep the code short, concise, documented, testable and professional.
Dependencies
Core dependencies provided with the panel Python package:
- panel: Core application framework
- param: A declarative approach to creating classes with typed, validated, and documented parameters. Fundamental to Panel's reactive programming model.
Optional panel-extensions:
- panel-material-ui: Modern Material UI components. To replace the panel native widgets within the next two years.
- panel-graphic-walker: Modern Tableau like interface. Can offload computations to the server and thus scale to large datasets.
Optional dependencies from the HoloViz Ecosystem:
More from marcskovmadsen/holoviz-mcp
panel-material-ui
Best practices for developing modern looking tools, dashboards and data apps using HoloViz Panel and Panel Material UI components.
10hvplot
Best practices for doing quick exploratory data analysis with minimal code and a Pandas .plot like API using HoloViews hvPlot.
7param
Use when building Python classes with validated, typed parameters using the Param library. Triggers include creating configuration classes, building reusable components with state, implementing reactive dependencies between parameters, adding type-safe attributes with bounds/constraints, creating testable parameterized classes, or when users mention param.Parameterized, @param.depends, or param.watch.
6panel-holoviews
Best practices for integrating HoloViews and hvPlot visualizations into Panel applications. Use when embedding HoloViews/hvPlot plots in Panel panes, preserving zoom/pan state across data refreshes with DynamicMap, composing DynamicMap overlays without type errors, using HoloViews streams (Selection1D, RangeXY, Tap, BoundsXY, Pipe, Buffer) with Panel, cross-filtering with link_selections, making HoloViews plots responsive in Panel layouts, or wiring Panel widgets to Bokeh plot properties with jslink.
6holoviews
Best practices for developing advanced, interactive, and publication-quality data visualizations using HoloViz HoloViews
6panel-custom-components
Build custom Panel components using JSComponent (vanilla JS, web components), ReactComponent (React/JSX), AnyWidgetComponent (AnyWidget spec for cross-platform), or MaterialUIComponent (Material UI themed). Use when wrapping JS libraries, creating interactive widgets, or building themed components. Includes decision guide, best practices, DOs/DON'Ts, and Playwright UI testing patterns.
6