Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial follow up #6388

Merged
merged 257 commits into from
Feb 26, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
f51521a
change
MarcSkovMadsen Jan 16, 2024
55bb1ae
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Jan 16, 2024
304cb99
some improvement
MarcSkovMadsen Jan 17, 2024
c38885b
add panel serve section
MarcSkovMadsen Jan 17, 2024
4f6c602
merge with main
MarcSkovMadsen Jan 17, 2024
65ed786
add resource
MarcSkovMadsen Jan 17, 2024
86fba4f
apply feedback from review
MarcSkovMadsen Jan 18, 2024
366f58c
simplify
MarcSkovMadsen Jan 18, 2024
250e7c2
add develop_notebook guide
MarcSkovMadsen Jan 18, 2024
0aa2373
add shift tab
MarcSkovMadsen Jan 18, 2024
764447a
words
MarcSkovMadsen Jan 18, 2024
46cf2a1
make less scary
MarcSkovMadsen Jan 18, 2024
67dd6fb
add tutorial develop in editor
MarcSkovMadsen Jan 18, 2024
0687e12
make more precise
MarcSkovMadsen Jan 18, 2024
91e20de
refactor
MarcSkovMadsen Jan 18, 2024
ea3803a
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Jan 18, 2024
f68c7d0
add pn.panel tutorial
MarcSkovMadsen Jan 19, 2024
e657f51
add pn.panel tutorial
MarcSkovMadsen Jan 19, 2024
2c2adfa
review changes
MarcSkovMadsen Jan 19, 2024
6355e37
review updates
MarcSkovMadsen Jan 19, 2024
aff2586
add to index
MarcSkovMadsen Jan 19, 2024
211933b
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Jan 20, 2024
562bbd0
update
MarcSkovMadsen Jan 20, 2024
38a6ab0
fix links
MarcSkovMadsen Jan 20, 2024
bc0feca
add missing code
MarcSkovMadsen Jan 20, 2024
2c544d0
add panel serve notebook
MarcSkovMadsen Jan 20, 2024
60ec4b1
align editor and notebook tutorials
MarcSkovMadsen Jan 20, 2024
bb68edf
align
MarcSkovMadsen Jan 20, 2024
33c4e65
align
MarcSkovMadsen Jan 20, 2024
e5b037b
feedback from usage
MarcSkovMadsen Jan 20, 2024
a8aaa9e
simplify
MarcSkovMadsen Jan 20, 2024
e4955ef
feedback session
MarcSkovMadsen Jan 20, 2024
45d63de
review
MarcSkovMadsen Jan 20, 2024
756dc53
review
MarcSkovMadsen Jan 20, 2024
930ce49
align
MarcSkovMadsen Jan 20, 2024
64aac80
feedback from review
MarcSkovMadsen Jan 20, 2024
78b173c
update links
MarcSkovMadsen Jan 20, 2024
8b1f488
fix admonitions
MarcSkovMadsen Jan 20, 2024
2d57353
update the index
MarcSkovMadsen Jan 20, 2024
2f8ceee
refactor beginner-intermediate
MarcSkovMadsen Jan 20, 2024
3e149a2
refactor
MarcSkovMadsen Jan 20, 2024
e1bf7d0
minor refactor
MarcSkovMadsen Jan 20, 2024
25d483a
improve formulation
MarcSkovMadsen Jan 20, 2024
60d75e3
refactor components
MarcSkovMadsen Jan 20, 2024
60f10f7
rename to basic
Jan 21, 2024
99ec2e8
add Panes tutorial and improve a lot
Jan 21, 2024
ce30a69
simplify and add markdown reference
Jan 21, 2024
06d4b09
feedback from live docs
Jan 21, 2024
4f0c31c
refactorer datastore tutorial
Jan 21, 2024
84de9cb
refactor
Jan 21, 2024
cb986ac
refactor
Jan 21, 2024
03531d6
move develop tutorial
Jan 21, 2024
ad92cd9
minor adjustments
Jan 21, 2024
5d67281
code review
Jan 22, 2024
b6d2d2a
add layout guide
Jan 22, 2024
4c0011f
review and fix
Jan 22, 2024
7100b6f
fix
Jan 22, 2024
a928def
pre-commit
MarcSkovMadsen Jan 22, 2024
68c9460
refactor
Jan 23, 2024
f0375f1
wip
Jan 23, 2024
0b50027
remove outline
Jan 23, 2024
1a30b12
add widgets
Jan 23, 2024
7873ae2
review
Jan 23, 2024
13480d2
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
Jan 23, 2024
b0e45a4
add chat input tutorial
Jan 23, 2024
09aee32
update
Jan 23, 2024
065af34
small fixes
Jan 23, 2024
081fa1b
implement review feedback
Jan 24, 2024
a817f58
feedback from review
Jan 24, 2024
e394b75
update chat bot
Jan 24, 2024
4799cc3
implement feedback
Jan 24, 2024
8139517
add parts of wind turbine report
Jan 24, 2024
36e725d
small improvements
Jan 24, 2024
54d119e
update resource list
Jan 24, 2024
6daf821
review feedback
Jan 24, 2024
ec48f09
update
Jan 26, 2024
93f277f
fix
Jan 26, 2024
b461c58
add image classifier
Jan 27, 2024
06a7df9
fix
Jan 27, 2024
bb5cb7c
change width/ height
Jan 27, 2024
31d4a58
wip
Jan 27, 2024
cd5079c
reorganize
Jan 28, 2024
547f1ae
update
Jan 28, 2024
28e3d7c
move outline here
Jan 28, 2024
823d3ba
add explore data set
Jan 28, 2024
64218b7
simplify
Jan 28, 2024
c00094d
add streaming dashboard example
Jan 28, 2024
543969b
add build dashboard
Jan 28, 2024
63164eb
Update doc/explanation/develop_seamlessly.md
MarcSkovMadsen Jan 29, 2024
9361093
Update doc/explanation/develop_seamlessly.md
MarcSkovMadsen Jan 29, 2024
0af4a98
Update doc/explanation/develop_seamlessly.md
MarcSkovMadsen Jan 29, 2024
e8ca133
Update doc/explanation/develop_seamlessly.md
MarcSkovMadsen Jan 29, 2024
d30f226
Update doc/tutorials/basic/build_chatbot.md
MarcSkovMadsen Jan 29, 2024
ad310d2
simplify
Jan 29, 2024
a62506b
Update doc/tutorials/basic/build_chatbot.md
MarcSkovMadsen Jan 29, 2024
438e574
Update doc/tutorials/basic/build_chatbot.md
MarcSkovMadsen Jan 29, 2024
141454d
Update doc/tutorials/basic/build_chatbot.md
MarcSkovMadsen Jan 29, 2024
7853225
Update doc/tutorials/basic/build_chatbot.md
MarcSkovMadsen Jan 29, 2024
9332896
simplify
Jan 29, 2024
66cc6fc
improve
Jan 29, 2024
88e3311
minor fixes
Jan 29, 2024
3081ed0
add templates
Jan 29, 2024
366af61
Merge origin/main
philippjfr Jan 29, 2024
5ac804c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 29, 2024
b728717
Fix spelling
philippjfr Jan 29, 2024
ecf7d2c
Optimize PNG images (lossless)
philippjfr Jan 29, 2024
f5b86a6
explain the templates
Jan 30, 2024
815d906
finalize templates
Jan 30, 2024
b3cc601
improve join community
Jan 30, 2024
5466059
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
Jan 30, 2024
bb16d1d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 30, 2024
47cc7fd
Optimize PNG images (lossless)
pre-commit-ci[bot] Jan 30, 2024
cbe7c4a
add installation
Jan 30, 2024
9eb984c
add plot and table events
Jan 30, 2024
84d98e6
Begin review and fix up admonitions
philippjfr Jan 30, 2024
16dbdde
Review display section
philippjfr Jan 30, 2024
f5becbc
Review Organize content sections
philippjfr Jan 30, 2024
a275639
use we more
MarcSkovMadsen Jan 31, 2024
504da32
move table and plot events
MarcSkovMadsen Feb 1, 2024
6633e16
restructure
MarcSkovMadsen Feb 1, 2024
d4b30d6
add monitoring dashboard
MarcSkovMadsen Feb 1, 2024
6cc48b0
monitoring dashboard image
MarcSkovMadsen Feb 1, 2024
bc065d1
Optimize PNG images (lossless)
MarcSkovMadsen Feb 1, 2024
cccb576
add indicators tutorial
MarcSkovMadsen Feb 1, 2024
4b4c7b6
change to wind turbine narrative
MarcSkovMadsen Feb 1, 2024
6ec4dbd
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 1, 2024
6f5e404
Optimize PNG images (lossless)
MarcSkovMadsen Feb 1, 2024
cd4cc7c
bar chart race
MarcSkovMadsen Feb 2, 2024
8b33f62
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 2, 2024
d10d4a2
simplify
MarcSkovMadsen Feb 2, 2024
8df0ec4
simplify
MarcSkovMadsen Feb 2, 2024
7a6a036
make responsive
MarcSkovMadsen Feb 2, 2024
1024cdb
align plot examples. Add altair example
MarcSkovMadsen Feb 2, 2024
a830f55
align panel and panes
MarcSkovMadsen Feb 2, 2024
731c77a
convert to wind example
MarcSkovMadsen Feb 2, 2024
b5a8921
clean up
MarcSkovMadsen Feb 2, 2024
cc3be52
size
MarcSkovMadsen Feb 3, 2024
e97d047
Optimize PNG images (lossless)
MarcSkovMadsen Feb 3, 2024
5306ec6
update size tutorial and admonitions
MarcSkovMadsen Feb 3, 2024
d784d90
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 3, 2024
3fc46c6
try organising in tabs
MarcSkovMadsen Feb 3, 2024
0288e69
improve
MarcSkovMadsen Feb 3, 2024
1ebedd6
simplify
MarcSkovMadsen Feb 3, 2024
9dd49e9
Update doc/tutorials/basic/panes.md
MarcSkovMadsen Feb 3, 2024
938d5d1
fix
MarcSkovMadsen Feb 3, 2024
829e3ad
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 3, 2024
a0966b6
align serve
MarcSkovMadsen Feb 3, 2024
878ce0f
Optimize PNG images (lossless)
MarcSkovMadsen Feb 3, 2024
4c6e449
add style and design
MarcSkovMadsen Feb 3, 2024
6ffadc8
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 3, 2024
5535978
review feedback and fix of section links
MarcSkovMadsen Feb 4, 2024
86d96e0
define target audience
MarcSkovMadsen Feb 4, 2024
8dde4ae
add align tutorial
MarcSkovMadsen Feb 4, 2024
1318347
Optimize PNG images (lossless)
MarcSkovMadsen Feb 4, 2024
4572b2f
add progressive layouts
MarcSkovMadsen Feb 4, 2024
dceeed0
fix reactive expressions
MarcSkovMadsen Feb 4, 2024
21d3727
fix issues
MarcSkovMadsen Feb 4, 2024
0bc77e8
add activity indicators
MarcSkovMadsen Feb 5, 2024
20cc223
Optimize PNG images (lossless)
MarcSkovMadsen Feb 5, 2024
fa9e75b
add caching tutorial
MarcSkovMadsen Feb 5, 2024
5c14217
Optimize PNG images (lossless)
MarcSkovMadsen Feb 5, 2024
c1bd855
minor fixes
MarcSkovMadsen Feb 5, 2024
ff1bdb7
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 5, 2024
db46d7f
finalize streaming dashboard
MarcSkovMadsen Feb 5, 2024
09b9898
fix
MarcSkovMadsen Feb 5, 2024
90730f4
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 6, 2024
d0e0883
reorganise the tutorial
MarcSkovMadsen Feb 6, 2024
d4d0bb4
fix issues
MarcSkovMadsen Feb 7, 2024
6a8a15f
fix issues
MarcSkovMadsen Feb 7, 2024
f16cc78
improve caching tutorial
MarcSkovMadsen Feb 8, 2024
defd791
improve panel and panes
MarcSkovMadsen Feb 8, 2024
075ce17
fix
MarcSkovMadsen Feb 8, 2024
8f689f9
build a dashboard
MarcSkovMadsen Feb 8, 2024
a046b28
fix
MarcSkovMadsen Feb 8, 2024
dd75d63
add deployment
MarcSkovMadsen Feb 9, 2024
634da8e
Optimize PNG images (lossless)
MarcSkovMadsen Feb 9, 2024
dcc48d2
change to Panel account
MarcSkovMadsen Feb 9, 2024
fc01afb
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 9, 2024
4ac075c
Optimize PNG images (lossless)
MarcSkovMadsen Feb 9, 2024
bc8d02e
commit changes
MarcSkovMadsen Feb 9, 2024
6fafbc6
add more orgs
MarcSkovMadsen Feb 9, 2024
9f0a023
add badge
MarcSkovMadsen Feb 9, 2024
add52fa
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 9, 2024
1fb2579
fix
MarcSkovMadsen Feb 9, 2024
475f0e2
clean up
MarcSkovMadsen Feb 9, 2024
0e9965b
review
MarcSkovMadsen Feb 10, 2024
dc11e03
maxime feedback
MarcSkovMadsen Feb 18, 2024
3c42ebc
fix test failure
MarcSkovMadsen Feb 18, 2024
8b85b33
minor fix
MarcSkovMadsen Feb 18, 2024
e54b4ff
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 18, 2024
fa8d1be
refactor explore data
MarcSkovMadsen Feb 18, 2024
ca5b174
move join community to community page
MarcSkovMadsen Feb 18, 2024
ab3545b
remove reference to topics
MarcSkovMadsen Feb 19, 2024
97fe1a3
use bokeh 3.3.0
MarcSkovMadsen Feb 19, 2024
244faff
maxime feedback
MarcSkovMadsen Feb 19, 2024
c46dfaa
Optimize PNG images (lossless)
MarcSkovMadsen Feb 19, 2024
cf341ee
update monitoring dashboard example
MarcSkovMadsen Feb 20, 2024
b1c9bb9
minor updates
MarcSkovMadsen Feb 21, 2024
a25ccfb
add explanations
MarcSkovMadsen Feb 21, 2024
f6665a9
explain animation
MarcSkovMadsen Feb 21, 2024
e9d0e17
pip first
MarcSkovMadsen Feb 21, 2024
37f1683
revert bokeh version to 3.4 dev
MarcSkovMadsen Feb 21, 2024
c245abd
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 21, 2024
5638003
add usage section
MarcSkovMadsen Feb 21, 2024
478667a
update todo app
MarcSkovMadsen Feb 21, 2024
51ccbb2
minor fixes
MarcSkovMadsen Feb 21, 2024
26ca4b7
improve language
MarcSkovMadsen Feb 22, 2024
1afb170
improve language
MarcSkovMadsen Feb 22, 2024
c42ab0e
improve language
MarcSkovMadsen Feb 22, 2024
7459ac8
improve language
MarcSkovMadsen Feb 22, 2024
89a4c32
improve language
MarcSkovMadsen Feb 22, 2024
9115f10
Optimize PNG images (lossless)
MarcSkovMadsen Feb 22, 2024
d386a95
fix build
MarcSkovMadsen Feb 23, 2024
5a48407
improve language
MarcSkovMadsen Feb 23, 2024
a257627
improve language
MarcSkovMadsen Feb 23, 2024
018563b
improve language
MarcSkovMadsen Feb 23, 2024
64c213e
fix tabset
MarcSkovMadsen Feb 23, 2024
2bd1f5e
improve language
MarcSkovMadsen Feb 23, 2024
0770c9c
improve language
MarcSkovMadsen Feb 23, 2024
0347401
improve language
MarcSkovMadsen Feb 23, 2024
1622aa7
improve language
MarcSkovMadsen Feb 23, 2024
e0c82ce
improve language
MarcSkovMadsen Feb 23, 2024
add5754
improve language
MarcSkovMadsen Feb 23, 2024
ce703ed
Optimize PNG images (lossless)
MarcSkovMadsen Feb 23, 2024
7cdd477
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 23, 2024
51c890e
update front page as agreed
MarcSkovMadsen Feb 23, 2024
950060d
improve formulation
MarcSkovMadsen Feb 24, 2024
2d5338c
make less overwhelming
MarcSkovMadsen Feb 24, 2024
a2d99de
improve language
MarcSkovMadsen Feb 24, 2024
d6dfdb4
refactor install instruction
MarcSkovMadsen Feb 24, 2024
5088547
reorder
MarcSkovMadsen Feb 24, 2024
93ccaa8
improve
MarcSkovMadsen Feb 24, 2024
9196270
make less overwhelming
MarcSkovMadsen Feb 24, 2024
d2c6fdb
refactor intermediate tutorial
MarcSkovMadsen Feb 24, 2024
9c6fa56
Make tutorial descriptions ready for release
MarcSkovMadsen Feb 24, 2024
0968f88
fix issue
MarcSkovMadsen Feb 24, 2024
8adeb93
improve getting started
MarcSkovMadsen Feb 25, 2024
aa8e4a2
Improve build an app. Align getting started icons
MarcSkovMadsen Feb 25, 2024
a2bf270
improve getting started
MarcSkovMadsen Feb 25, 2024
ddc4485
move community page
MarcSkovMadsen Feb 25, 2024
bd45ce6
Optimize PNG images (lossless)
MarcSkovMadsen Feb 25, 2024
06fb410
update outliers_declarative
MarcSkovMadsen Feb 25, 2024
4eaf8d3
Merge branch 'docs_fixes_1.4_a1_review' of https://github.com/holoviz…
MarcSkovMadsen Feb 25, 2024
c0444eb
revert change
MarcSkovMadsen Feb 25, 2024
a2d5437
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 25, 2024
d5e1aa9
review
MarcSkovMadsen Feb 25, 2024
f369a49
Merge branch 'main' of https://github.com/holoviz/panel into docs_fix…
MarcSkovMadsen Feb 25, 2024
c7031a4
align
MarcSkovMadsen Feb 25, 2024
b047d10
fix navigation
MarcSkovMadsen Feb 25, 2024
7c23451
fix order
MarcSkovMadsen Feb 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion doc/explanation/api/examples/outliers_declarative.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

This section introduces a more advanced and powerful method of creating Panel apps using a declarative, class-based approach. It builds upon the simple app demonstrated in the [Getting Started > Build an app](../../../getting_started/build_app.md) tutorial, which utilized the reactive, function-based API.

![Getting Started App](../../../_static/images/getting_started_app.png)

While the reactive API approach is flexible, it intertwines domain-specific code with widget display code. This works well for small projects or those heavily focused on visualization. However, for larger, long-term projects used across various contexts like batch runs, command-line usage, notebooks, and deployed dashboards, it becomes crucial to separate domain logic from display technologies.

For such scenarios, Panel supports the use of objects declared with the separate [Param](http://param.holoviz.org) library. Param provides a GUI-independent way to capture and declare object parameters and dependencies, irrespective of any specific application or dashboard technology. This allows for modularization, making it easier to manage and reuse code across different environments.

In this approach, the app's logic is encapsulated within a class, separating concerns and promoting code organization. Let's walk through the steps:
In this approach, the app's logic is encapsulated within a class, separating concerns and promoting code organization.

Let's begin by reusing most of the code from the [Getting Started > Build an app](../../../getting_started/build_app.md) tutorial:

```{pyodide}
import hvplot.pandas
Expand Down
18 changes: 9 additions & 9 deletions doc/getting_started/build_app.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# {octicon}`tools;2em;sd-mr-1` Build an App
# {octicon}`mortar-board;2em;sd-mr-1` Build an App

By now, you should have [set up your environment and installed Panel](installation.md), so you're all set to dive in!

In this section, we'll walk through creating a basic interactive application using [NumPy](https://numpy.org/), [Pandas](https://pandas.pydata.org/), and [hvplot](https://hvplot.holoviz.org/). If you haven't installed `hvPlot` yet, you can do so with `pip install hvplot` or `conda install -c conda-forge hvplot`.
In this section, we'll walk through creating a basic interactive application using [NumPy](https://numpy.org/), [Pandas](https://pandas.pydata.org/), and [hvPlot](https://hvplot.holoviz.org/). If you haven't installed `hvPlot` yet, you can do so with `pip install hvplot` or `conda install -c conda-forge hvplot`.

Let's envision what our app will look like:

Expand Down Expand Up @@ -37,7 +37,7 @@ Next, we'll import the Panel JavaScript dependencies using `pn.extension(...)`.
pn.extension(design="material", sizing_mode="stretch_width")
```

Now, let's load the [UCI ML dataset](http://archive.ics.uci.edu/ml/datasets/Occupancy+Detection+) that measured the environment in a meeting room:
Now, let's load the [UCI ML dataset](http://archive.ics.uci.edu/ml/datasets/Occupancy+Detection+) that measured the environment in a meeting room. We'll speed up our application by caching (`@pn.cache`) the data across users:

```{pyodide}
@pn.cache
Expand All @@ -49,11 +49,9 @@ data = get_data()
data.tail()
```

We'll speed up our application by caching (`@pn.cache`) the data across users.

## Visualizing a Subset of the Data

Before diving into Panel, let's create a function that smooths one of our time series and identifies outliers. Then, we'll plot the result using hvplot:
Before diving into Panel, let's create a function that smooths one of our time series and identifies outliers. Then, we'll plot the result using hvPlot:

```{pyodide}
def transform_data(variable, window, sigma):
Expand Down Expand Up @@ -112,7 +110,7 @@ As long as you have a live Python process running, dragging these widgets will t

We'll organize our components in a nicely styled template (`MaterialTemplate`) and mark it `.servable()` to add it to our served app:

```{pyodide}
```python
pn.template.MaterialTemplate(
site="Panel",
title="Getting Started App",
Expand All @@ -129,20 +127,22 @@ Finally, we'll serve the app with:
panel serve app.ipynb --autoreload
```

Now, open the app in your browser at `http://localhost:5006/app`.
Now, open the app in your browser at [http://localhost:5006/app](http://localhost:5006/app).

It should look like this:

![Getting Started App](../_static/images/getting_started_app.png)

:::{note}
:::{tip}

If you prefer developing in a Python Script using an editor, you can copy the code into a file `app.py` and serve it.

```bash
panel serve app.py --autoreload
```

:::

## What's Next?

Now that you've experienced how easy it is to build a simple application in Panel, it's time to delve into some of the [core concepts](core_concepts.md) behind Panel.
18 changes: 10 additions & 8 deletions doc/getting_started/core_concepts.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Core Concepts
# {octicon}`telescope;2em;sd-mr-1` Core Concepts

In the previous section, we delved into [building a simple app](build_app.md). A Panel app like this makes exploration of various visualizations very easy, supporting types such as Matplotlib, Bokeh, Plotly, Altair, DataFrame, and various text and image types.

Expand All @@ -15,10 +15,10 @@ As you gear up to develop your Panel application, you'll encounter a couple of i
:::{dropdown} Interested in a class-based approach instead?
:margin: 4
:color: muted
Explore the same ['outlier' app built using a class-based declarative API](../explanation/api/examples/outliers_declarative.md). Study the [Explanation > APIs](../explanation/apis/index.md) section for a detailed discussion on each of the API options.
Explore the same ['outlier' app built using a class-based declarative API](../explanation/api/examples/outliers_declarative.md). Study the [Explanation > APIs](../explanation/api/index.md) section for a detailed discussion on each of the API options.
:::

2. **Development Environment:** Will you develop in a [notebook](https://jupyter.org/) or in an editor environment?
2. **Development Environment:** Will you develop in a notebook or in an editor environment?
- If you're unsure, starting in a notebook is recommended as you familiarize yourself with Panel. However, you can switch between them at any time.

### Notebook
Expand Down Expand Up @@ -54,17 +54,19 @@ Upon running that command, Panel launches a server that serves your app, opens a

<img src="https://assets.holoviz.org/panel/gifs/vscode_autoreload.gif" style="margin-left: auto; margin-right: auto; display: block;"></img>

```{note}
We recommend installing `watchfiles` to get the best user experience when using `--autoreload`.
```{tip}
We recommend installing [`watchfiles`](https://watchfiles.helpmanual.io) to get the best user experience when using `--autoreload`.
```

> Explore [How-to > Prepare to Develop](../how_to/prepare_to_develop.md) for more guidance on each development environment option.
```{tip}
Explore [How-to > Prepare to Develop](../how_to/prepare_to_develop.md) for more guidance on each development environment option.
```

## Control Flow

Panel operates on a powerful framework called [Param](https://param.holoviz.org/), which governs how information flows within your app. When a change occurs, such as the value of a slider or a manual update in your code, events are triggered for your app to respond to. Panel provides various methods for setting up this interactivity. Understanding the basics of Param is crucial to mastering Panel. However, it's not necessary to get started as a new, basic user.

So, what exactly is Param? It's a framework that enables Python classes to have attributes with defaults, type/value validation, and callbacks when values change. You can liken it to other frameworks like Python dataclasses, pydantic, and traitlets.
So, what exactly is Param? It's a framework that enables Python classes to have attributes with defaults, type/value validation, and callbacks when values change. You can liken it to other frameworks like Python dataclasses, [Pydantic](https://docs.pydantic.dev/latest/), and [Traitlets](https://traitlets.readthedocs.io).

Reactivity is a key concept in both Param and Panel. This means changes in one part of your app can automatically update other parts. Think of it like Excel, where altering one cell can prompt updates in cells that reference it. Param objects operate similarly.

Expand All @@ -74,7 +76,7 @@ In Panel, understanding the distinction between a Parameter's value and the Para
text = pn.widgets.TextInput()

text.value # 👈 The current value of the widget
text.param.value # 👈 A reference to the "value" Parameter, used in Panel to *bind* to the "value"
text.param.value # 👈 A reference to the "value" Parameter, used in Panel to bind to the "value"
```

We'll delve deeper into this later. For now, remember that parameter objects (whether associated with widgets or not) enable you to pass around a reference to a value that automatically updates if the original value changes.
Expand Down
2 changes: 1 addition & 1 deletion doc/getting_started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The getting started guides are for those who would like to **quickly try out Pan
::::{grid} 1 2 2 3
:gutter: 1 1 1 2

:::{grid-item-card} {octicon}`plug;2.5em;sd-mr-1` Installation
:::{grid-item-card} {octicon}`desktop-download;2.5em;sd-mr-1` Installation
:link: installation
:link-type: doc

Expand Down
4 changes: 2 additions & 2 deletions doc/getting_started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,11 @@ conda install panel watchfiles
:::::

```{tip}
We recommend also installing `watchfiles` while developing. This will provide a significantly better experience when using Panel's `--autoreload` feature. It's not needed for production.
We recommend also installing [`watchfiles`](https://watchfiles.helpmanual.io) while developing. This will provide a significantly better experience when using Panel's `--autoreload` feature. It's not needed for production.
```

:::{important}
Make sure Panel is installed in the same environment as JupyterLab/Jupyter Notebook (`conda install panel` or `pip install panel`) to ensure all features work correctly.
Make sure Panel is installed in the same environment as JupyterLab/Jupyter Notebook (`pip install panel` or `conda install panel`) to ensure all features work correctly.
:::

:::{seealso}
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/basic/develop_notebook.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ pn.panel("Hello World").servable()
```

```python
pn.panel("Hello Again").servable()
pn.panel("Hello Again")
```

Run the cells and save the notebook as `app.ipynb`.
Expand Down
8 changes: 4 additions & 4 deletions doc/tutorials/basic/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Please execute the following command to install the dependencies required by the
:sync: pip

```bash
pip install altair hvplot matplotlib numpy pandas panel plotly scipy
pip install altair hvplot matplotlib numpy pandas panel plotly scipy watchfiles
```

:::
Expand All @@ -25,15 +25,15 @@ pip install altair hvplot matplotlib numpy pandas panel plotly scipy
:sync: conda

```bash
conda install -y -c conda-forge altair hvplot matplotlib numpy pandas panel plotly scipy
conda install -y -c conda-forge altair hvplot matplotlib numpy pandas panel plotly scipy watchfiles
```

:::

::::

:::{important}
Is Panel installed together with JupyterLab/Jupyter Notebook in your working environment? If not, you need to make sure that `panel` is also installed in the same environment as JupyterLab/Jupyter Notebook (`conda install -c conda-forge panel` or `pip install panel`).
Is Panel installed together with JupyterLab/Jupyter Notebook in your working environment? If not, you need to make sure that `panel` is also installed in the same environment as JupyterLab/Jupyter Notebook (`pip install panel` or `conda install panel`).
:::

## Let's Get Started
Expand Down Expand Up @@ -94,9 +94,9 @@ align
widgets
pn_bind
state
caching
indicators_activity
progressive_layouts
caching
templates
design
style
Expand Down
Loading