Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
holoviz
GitHub Repository: holoviz/panel
Path: blob/main/pixi.toml
1979 views
1
[project]
2
name = "panel"
3
channels = ["pyviz/label/dev", "bokeh/label/rc", "conda-forge"]
4
platforms = ["linux-64", "osx-arm64", "osx-64", "win-64"]
5
6
[activation.env]
7
MPLBACKEND = "Agg"
8
PYTHONIOENCODING = "utf-8"
9
10
[tasks]
11
install = 'python -m pip install --no-deps --disable-pip-version-check -e .'
12
13
[environments]
14
test-310 = ["py310", "test-core", "test", "example", "test-example", "test-unit-task"]
15
test-311 = ["py311", "test-core", "test", "example", "test-example", "test-unit-task"]
16
test-312 = ["py312", "test-core", "test", "example", "test-example", "test-unit-task"]
17
test-313 = ["py313", "test-core", "test", "example", "test-example", "test-unit-task"]
18
test-ui = ["py312", "test-core", "test", "test-ui"]
19
test-core = ["py313", "test-core", "test-unit-task"]
20
test-bokeh37 = ["py310", "test-core", "test-unit-task", "bokeh37"]
21
test-type = ["py311", "type", "example", "test"]
22
docs = ["py311", "example", "doc"]
23
build = ["py311", "build"]
24
lint = ["py311", "lint"]
25
lite = ["py311", "lite"]
26
27
[dependencies]
28
nodejs = ">=18"
29
esbuild = "*"
30
nomkl = "*"
31
pip = "*"
32
# Required
33
bleach = "*"
34
bokeh = ">=3.7.0,<3.9.0a0"
35
linkify-it-py = "*"
36
markdown = "*"
37
markdown-it-py = "*"
38
mdit-py-plugins = "*"
39
numpy = "*"
40
packaging = "*"
41
pandas = ">=1.2"
42
param = ">=2.1.0,<3.0"
43
pyviz_comms = ">=2.0.0"
44
requests = "*"
45
tqdm = ">=4.48.0"
46
typing_extensions = "*"
47
48
[feature.py310.dependencies]
49
python = "3.10.*"
50
51
[feature.py311.dependencies]
52
python = "3.11.*"
53
54
[feature.py312.dependencies]
55
python = "3.12.*"
56
57
[feature.py312.activation.env]
58
COVERAGE_CORE = "sysmon"
59
60
[feature.py313.dependencies]
61
python = "3.13.*"
62
63
[feature.py313.activation.env]
64
COVERAGE_CORE = "sysmon"
65
66
[feature.example.dependencies]
67
# Optional dependencies - recommended
68
holoviews = ">=1.16.0"
69
jupyterlab = "*"
70
matplotlib-base = "*"
71
pillow = "*"
72
plotly = ">=4.0"
73
# Example dependencies
74
aiohttp = "*"
75
altair = "*"
76
bokeh_sampledata = "*"
77
croniter = "*"
78
dask-expr = "*"
79
datashader = "*"
80
fastparquet = "*"
81
folium = "*"
82
fsspec = "*"
83
graphviz = "*"
84
hvplot = "*"
85
ipyleaflet = "*"
86
ipympl = "*"
87
ipython_genutils = "*" # 2025-03: https://github.com/widgetti/ipyvolume/pull/446 (interim dependency)
88
ipyvolume = "*"
89
ipyvuetify = "*"
90
ipywidgets = "*"
91
ipywidgets_bokeh = "*"
92
jupyter_bokeh = ">=3.0.7"
93
networkx = ">=2.5"
94
# pydeck = ">=0.8" # Add back when it support ipywidgets 8.0
95
pyecharts = "*"
96
pygraphviz = "*"
97
pyinstrument = ">=4.0"
98
python-graphviz = "*"
99
pyvista = "*"
100
reacton = "*"
101
s3fs = "*"
102
scikit-image = "*"
103
scikit-learn = "*"
104
seaborn = "*"
105
streamz = "*"
106
textual = "*"
107
tqdm = ">=4.48.0"
108
vega_datasets = "*"
109
vtk = "*"
110
xarray = "*"
111
xgboost = "*"
112
113
# =============================================
114
# =================== TESTS ===================
115
# =============================================
116
[feature.test-core.dependencies]
117
psutil = "*"
118
pytest = "*"
119
pytest-asyncio = "*"
120
pytest-cov = "*"
121
pytest-github-actions-annotate-failures = "*"
122
pytest-rerunfailures = "<16.0" # See https://github.com/pytest-dev/pytest-rerunfailures/issues/303
123
pytest-xdist = "*"
124
125
[feature.bokeh37.dependencies]
126
bokeh = "3.7.*"
127
128
[feature.test.dependencies]
129
# Optional dependencies - recommended
130
holoviews = ">=1.16.0"
131
jupyterlab = "*"
132
matplotlib-base = "*"
133
pillow = "*"
134
plotly = ">=6.0"
135
# Optional dependencies - dev
136
watchfiles = "*"
137
# Test dependencies
138
altair = "*"
139
anywidget = "*"
140
bokeh-fastapi = "*"
141
bokeh_sampledata = "*"
142
caddy = "*"
143
cryptography = "*"
144
diskcache = "*"
145
fastapi = "*"
146
folium = "*"
147
ipympl = "*"
148
ipyvuetify = "*"
149
ipywidgets_bokeh = "*"
150
numba = "*"
151
polars = "*"
152
reacton = "*"
153
scipy = "*"
154
textual = "*"
155
156
[feature.test-unit-task.tasks] # So it is not showing up in the test-ui environment
157
test-unit = 'pytest panel/tests -n logical --dist loadgroup'
158
test-subprocess = 'pytest panel/tests --subprocess'
159
160
[feature.test-example.tasks]
161
test-docs = 'pytest panel/tests --docs'
162
test-example = 'pytest -n logical --dist loadscope --nbval-lax examples'
163
164
[feature.test-example.dependencies]
165
nbval = "*"
166
167
[feature.test-ui]
168
channels = ["microsoft"]
169
170
[feature.test-ui.dependencies]
171
playwright = { version = "!=1.51.0", channel = "microsoft" } # https://github.com/microsoft/playwright-python/issues/2791
172
pytest-playwright = { version = "*", channel = "microsoft" }
173
pytest-asyncio = "*"
174
jupyter_server = "*"
175
esbuild = "*"
176
packaging = "*"
177
178
[feature.test-ui.tasks]
179
_install-ui = 'playwright install chromium'
180
181
[feature.test-ui.tasks.test-ui]
182
cmd = 'pytest panel/tests/ui --ui --browser chromium -n logical --dist loadgroup'
183
depends-on = ["_install-ui"]
184
185
# =============================================
186
# ================== TYPES ====================
187
# =============================================
188
[feature.type.dependencies]
189
mypy = "*"
190
pytest = "*"
191
pandas-stubs = "*"
192
types-bleach = "*"
193
types-croniter = "*"
194
types-Markdown = "*"
195
types-psutil = "*"
196
types-requests = "*"
197
types-tqdm = "*"
198
typing-extensions = "*"
199
200
[feature.type.tasks]
201
test-type = 'mypy panel'
202
203
# =============================================
204
# =================== DOCS ====================
205
# =============================================
206
[feature.doc.activation.env]
207
MOZ_HEADLESS = "1"
208
PANEL_IPYWIDGET = "1"
209
OBJC_DISABLE_INITIALIZE_FORK_SAFETY = "YES"
210
SPHINX_APIDOC_OPTIONS = "members,show-inheritance"
211
212
[feature.doc.dependencies]
213
lxml = "*"
214
nbsite = ">=0.8.6rc9"
215
selenium = "*"
216
numpydoc = "*"
217
pydeck = ">=0.8" # Add back to examples, when it support ipywidgets 8.0
218
219
[feature.doc.tasks]
220
_docs-refmanual = 'sphinx-apidoc -e -o doc/api/ panel/ --ext-autodoc --ext-intersphinx'
221
_docs-convert-gallery = 'python scripts/gallery/convert_gallery.py'
222
_docs-generate = 'nbsite build --what=html --output=builtdocs --org holoviz --project-name panel --disable-parallel'
223
_docs-generate-parallel = 'nbsite build --what=html --output=builtdocs --org holoviz --project-name panel'
224
_docs-copy-panel-dist = 'cp -r ./panel/dist ./builtdocs/panel_dist'
225
_docs-pyodide = 'panel convert examples/gallery/*.ipynb doc/how_to/*/examples/*.md --to pyodide-worker --out ./builtdocs/pyodide/ --pwa --index --requirements doc/pyodide_dependencies.json --exclude examples/gallery/vtk*.ipynb'
226
docs-server = 'python -m http.server 5500 --directory ./builtdocs'
227
228
[feature.doc.tasks.docs-build]
229
depends-on = [
230
'_docs-refmanual',
231
'_docs-convert-gallery',
232
'_docs-generate',
233
'_docs-copy-panel-dist',
234
'_docs-pyodide',
235
]
236
237
[feature.doc.tasks.docs-build-parallel]
238
depends-on = [
239
'_docs-refmanual',
240
'_docs-convert-gallery',
241
'_docs-generate-parallel',
242
'_docs-copy-panel-dist',
243
'_docs-pyodide',
244
]
245
246
# =============================================
247
# ================== BUILD ====================
248
# =============================================
249
[feature.build.dependencies]
250
python-build = "*"
251
conda-build = "*"
252
253
[feature.build.tasks]
254
build-conda = 'bash scripts/conda/build.sh'
255
build-pip = 'python -m build .'
256
build-pyodide = 'python scripts/build_pyodide_wheels.py'
257
build-npm = { cmd = "npm pack .", cwd = "panel" }
258
259
# =============================================
260
# =================== LINT ====================
261
# =============================================
262
[feature.lint.dependencies]
263
pre-commit = "*"
264
265
[feature.lint.tasks]
266
lint = 'pre-commit run --all-files'
267
lint-install = 'pre-commit install -t=pre-commit'
268
269
# =============================================
270
# =================== LITE ====================
271
# =============================================
272
[feature.lite.dependencies]
273
pyviz_comms = ">=3.0.6"
274
jupyterlab-myst = "*"
275
jupyterlite-core = "*"
276
jupyterlite-pyodide-kernel = "*"
277
python-build = "*"
278
279
[feature.lite.tasks]
280
lite-build = "bash scripts/jupyterlite/build.sh"
281
# Service worker only work on 127.0.0.1
282
# https://jupyterlite.readthedocs.io/en/latest/howto/configure/advanced/service-worker.html#limitations
283
lite-server = "python -m http.server --directory ./lite/dist --bind 127.0.0.1"
284
285
286
# relock count: 0
287
288