Skip to main content
Back to top
Ctrl
+
K
Getting Started
Tutorials
Explanation
Component Gallery
How-to
More
App Gallery
API Reference
Community
Upgrade Guide
FAQ
About
Developer Guide
GitHub
Twitter
Discourse
Discord
Getting Started
Tutorials
Explanation
Component Gallery
How-to
App Gallery
API Reference
Community
Upgrade Guide
FAQ
About
Developer Guide
GitHub
Twitter
Discourse
Discord
FOR USERS
Getting Started
Installation
Build an App
Core Concepts
Tutorials
Basic Tutorials
Build Hello World App
Develop in a Notebook
Develop in an Editor
Display Content with
pn.panel
Display Content with Panes
Display Performance with Indicators
Layouts Content
Control the Size
Aligning Content
Accept Inputs with Widgets
React to User Input
Reactive Expressions
Utilize Templates
Apply a Design
Enhance the Style
Optimize Performance with Caching
Display Activity
Update Progressively
Build a Dashboard
Deploy a Dashboard
Build a Report
Build Animation
Build an Image Classifier
Build a Monitoring Dashboard
Build Crossfiltering Dashboard
Build Streaming Dashboard
Build a Chat Bot
Build a Todo App
Intermediate Tutorials
Reactive Parameters
Reusable Components
Interactivity
Structure with a DataStore
Develop in an Editor
Serve Apps
Advanced Layouts
Build a Todo App
Testing the Todo App
Build a Server Side Video Camera Application
Expert Tutorials
Explanation
Develop Seamlessly Across Environments
APIs
API context
Param in Panel
Reactivity in Panel
Functions vs. Classes
Reactive API
Declarative API
Callbacks
Components
Components overview
Custom components
Linking
Panel + Juypter, Servers, etc.
Dependencies
Panel and Param
Panel and Bokeh
Technology comparisons
Panel vs Dash
Panel vs ipywidgets
Panel vs Voila
Panel vs Streamlit
Panel vs JavaScript
Panel vs Bokeh
Component Gallery
Panes
Alert
Audio
Bokeh
DataFrame
DeckGL
ECharts
Folium
GIF
HTML
HoloViews
IPyWidget
Image
JPG
JSON
LaTeX
Markdown
Matplotlib
PDF
PNG
Param
Perspective
Plotly
ReactiveExpr
Reacton
SVG
Str
Streamz
Textual
VTK
VTKJS
VTKVolume
Vega
Video
Vizzu
WebP
Widgets
ArrayInput
AutocompleteInput
Button
ButtonIcon
CheckBoxGroup
CheckButtonGroup
Checkbox
CodeEditor
ColorMap
ColorPicker
CrossSelector
DataFrame
DatePicker
DateRangePicker
DateRangeSlider
DateSlider
DatetimeInput
DatetimePicker
DatetimeRangeInput
DatetimeRangePicker
DatetimeRangeSlider
Debugger
DiscretePlayer
DiscreteSlider
EditableFloatSlider
EditableIntSlider
EditableRangeSlider
FileDownload
FileInput
FileSelector
FloatInput
FloatSlider
IntInput
IntRangeSlider
IntSlider
JSONEditor
LiteralInput
MenuButton
MultiChoice
MultiSelect
NestedSelect
PasswordInput
Player
RadioBoxGroup
RadioButtonGroup
RangeSlider
Select
SpeechToText
StaticText
Switch
Tabulator
Terminal
TextAreaInput
TextEditor
TextInput
TextToSpeech
Toggle
ToggleGroup
ToggleIcon
VideoStream
Layouts
Accordion
Card
Column
Divider
Feed
FlexBox
FloatPanel
GridBox
GridSpec
GridStack
Row
Swipe
Tabs
WidgetBox
Chat
ChatAreaInput
ChatFeed
ChatInterface
ChatMessage
PanelCallbackHandler
Global
Notifications
Indicators
BooleanStatus
Dial
Gauge
LinearGauge
LoadingSpinner
Number
Progress
TooltipIcon
Tqdm
Trend
Templates
Bootstrap
EditableTemplate
FastGridTemplate
FastListTemplate
GoldenLayout
Material
React
Slides
Vanilla
How-to
Prepare to develop
Develop in a notebook
Display Output in Notebooks
Preview Apps in JupyterLab
Publish a Notebook as a Dashboard Using the Layout Builder
Develop in other notebook environments
Develop in an editor
Configure VS Code
Configure PyCharm
Write apps in Markdown
Build apps
Construct individual components
Construct Panes
Access Pane Type
Access and Set Widget Values
Add or Remove Components from Panels
Styling components
Apply a Design
Toggling themes
Apply CSS
Customize a Design
Customize Loading Icon
Control Visibility
Style Altair Plots
Style Echarts Plots
Style Matplotlib Plots
Style Plotly Plots
Style Vega Plots
Interactivity
Add interactivity to a function
Add interactivity with generators
Add reactivity to components
Make interactive data workflows
Arranging components
Customize Spacing
Align Components
Control Size
Use specialized UIs and APIs
Build a sequential UI
Create a
Pipeline
Create a Non-Linear
Pipeline
Customize
Pipeline
Layout
Control
Pipeline
Flow
Build custom components
Combine Existing Components
Create Layouts With ReactiveHTML
Style your ReactiveHTML template
Create Panes with ReactiveHTML
Create Indicators With ReactiveHTML
ReactiveHTML component with callback
Widgets with ReactiveHTML
DataFrames and ReactiveHTML
Plot Viewer
Reactive Tables
Build a Custom Canvas Component
Build a Custom Leaflet Component
Wrapping Material UI components
Wrap a Vue component
Explicitly link parameters (Callbacks API)
Create High-Level Python Links with
.link
Create Low-Level Python Links Using
.watch
Link Two Objects in Javascript
Link Plot Parameters in Javascript
Link Many Objects in Javascript
Generate UIs from declared parameters (Declarative API)
Generate Widgets from
Parameters
Declare Custom Widgets
Declare parameter dependencies
Create nested UIs
Manage session tasks
Register Session Callbacks
Use Asynchronous Callbacks
Defer Bound Functions to Improve the User Experience
Defer Long Running Tasks to Improve the User Experience
Run Tasks at Session Start or End
Periodically Run Callbacks
Schedule Global Tasks
Modify Bokeh Models
Add notifications on connect and disconnect
Access Session State
Access and Manipulate the URL
Access HTTP Request State
Access Busyness state
Test and debug
Enable profiling and debugging
Enable the admin panel
Profile your Application
View application logs
Set up testing for an application
Test functionality and performance
Test UI rendering
Test operating capacity
Prepare to share
Apply Templates
Set a Template
Arrange Components in a Template
Toggle Modal
Customize Template Theme
Build a Custom Template
Improve Performance
Reuse sessions
Enable Throttling
Cache Data
Manually Cache
Automatically Cache
Improve Scalability
Load balancing
Launch multiple processes
Enable Automatic Threading
Set Up Manual Threading
Use Asynchronous Callbacks
Run synchronous functions asynchronously
Scaling with Dask
Add Authentication
Configuring Basic Authentication
Configuring OAuth
OAuth Providers
Authentication Templates
Accessing User information
Access Tokens
Authorization callbacks
Allowing Guest Users
Share your work
Configure the server
Launch a server on the command line
Launching a server dynamically
Serving multiple applications
Connect to a remote server via SSH
Configuring a reverse proxy
Serving static files
Integrate with other servers
Integrating Panel with Flask
Integrating Panel with FastAPI
Running Panel apps inside Django
Deploy applications
AWS: Amazon Web Services
Microsoft Azure
MyBinder
Google Cloud Platform (GCP)
Heroku
Hugging Face
Ploomber Cloud
Export apps
Embedding state
Save App to File
Access the Bokeh Model
Run panel in WebAssembly
Converting Panel applications
Using Panel in Pyodide & PyScript
Embedding in Sphinx documentation
Setting up JupyterLite
Migrate to Panel
Migrate from Streamlit
Serve Apps
Display Objects with Panes
Layout Objects
Accepting User Inputs with Widgets
Organize and Style with Templates
Show Activity
Add Interactivity with
pn.bind
Improve the performance with Caching
Session State
Create Chat Interfaces
Multi Page Apps
App Gallery
Altair Brushing
Deckgl Game Of Life
Gapminders
Glaciers
Hvplot Explorer
Iris Kmeans
Nyc Deckgl
Penguin Crossfilter
Penguin Kmeans
Portfolio Analyzer
Portfolio Optimizer
Streaming Videostream
Vtk Interactive
Vtk Slicer
Vtk Warp
Windturbines
Xgboost Classifier
API Reference
Cheat Sheet
Config
State
panel.io Package
panel.layout Package
panel.pane Package
panel.vtk Package
param Module
pipeline Module
panel.template Package
panel.bootstrap Package
panel.editable Package
panel.fast Package
panel.grid Package
panel.list Package
panel.golden Package
panel.material Package
panel.react Package
panel.slides Package
panel.vanilla Package
panel.util Package
viewable Module
panel.widgets Package
Community
Upgrade Guide
FAQ
About
Releases
Roadmap
FOR DEVELOPERS
Developer Guide
Extensions
Testing
WASM
Component Gallery
Layouts
Layouts
#