-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpixi.toml
More file actions
113 lines (96 loc) · 3.35 KB
/
pixi.toml
File metadata and controls
113 lines (96 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[project]
authors = [
"Dan Allan <dallan@bnl.gov>",
"Brigitta Sipőcz <brigitta.sipocz@gmail.com>",
"Ross Barnowski <rossbar@caltech.edu>",
"Kyle Sunden <git@ksunden.space>",
]
channels = ["https://repo.mamba.pm/emscripten-forge", "conda-forge"]
description = "Add a short description here"
name = "executable-tutorials"
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64", "emscripten-wasm32"]
version = "0.1.0"
[feature.base]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
[feature.base.tasks]
build = { cmd = [
"sphinx-build",
".", # source directory
"_build/html", # target directory
"-n", # warn about missing references
"-W", # any warnings fail the build
"-T", # show tracebacks
"--keep-going", # do not stop on error
] }
clean = "rm -rf _build/*"
start = "jupyter lab --FileContentsManager.preferred_dir tutorials"
test = "bash ./test.sh"
serve = "python -m http.server 8000 -d _build/html"
[feature.base.activation]
# Workaround overrides JupyterLab configuration (at the environment level) to
# make double-clicking on a Jupytext Markdown file open that file as a
# notebook. This is important for the development workflow for contributors.
scripts = ["activate.sh"]
[feature.base.dependencies]
python = ">=3.11"
matplotlib-base = ">=3.9"
jupyterlab = ">=4.2"
jupyterlab-myst = ">=2.4"
pytest = ">=8.3.5,<9"
nbval = ">=0.11.0,<0.12"
jupytext = ">=1.17.1,<2"
ipympl = ">=0.9"
sphinx-thebe = ">=0.3.1"
[feature.base.pypi-dependencies]
sphinx = ">=8.0.2"
myst-nb = ">=1.1"
jupytext = ">=1.16"
sphinx-book-theme = ">=1.1"
sphinx-copybutton = ">=0.5"
sphinx-design = "*"
pytest-custom_exit_code = "*"
[feature.py312]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
[feature.py312.dependencies]
python = "3.12.*"
[feature.py313]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
[feature.py313.dependencies]
python = "3.13.*"
[feature.jupyterlite-runtime]
channels = ["https://repo.mamba.pm/emscripten-forge", "conda-forge"]
platforms = ["emscripten-wasm32"]
[feature.jupyterlite-runtime.dependencies]
xeus-python = "*"
python = ">=3.11"
matplotlib = ">=3.9"
ipympl = ">=0.9"
jupytext = ">=1.16"
[feature.jupyterlite-host]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
[feature.jupyterlite-host.dependencies]
jupyterlab = "~=4.2.4"
jupyterlite-core = "==0.4.0"
jupyterlite-xeus = "*"
notebook = "~=7.2.1"
jupyterlab-myst = ">=2.4"
jupytext = ">=1.16"
ipympl = ">=0.9"
[feature.jupyterlite-host.tasks]
setup_wasm = {cmd = "pixi install -e jupyterlite-runtime", inputs = ["pixi.lock"]}
convert_ipynbs = {cmd = "bash convert_all_jupyterlite.sh", inputs = ["tutorials/"], outputs = ["_build/ipynbs"]}
[feature.jupyterlite-host.tasks.build_wasm]
cmd = "jupyter lite build --XeusAddon.prefix=.pixi/envs/jupyterlite-runtime --contents _build/ipynbs/tutorials --output-dir _build/html/jupyterlite --settings-overrides=.binder/overrides.json --log-level DEBUG"
depends-on = ["setup_wasm", "convert_ipynbs"]
outputs = ["_build/html/jupyterlite/"]
inputs = ["pixi.lock", "tutorials/"]
[feature.jupyterlite-host.tasks.start_wasm]
cmd = "python -m http.server 8000 -d _build/html/jupyterlite/"
depends-on = ["build_wasm"]
[environments]
default = ["base"]
py312 = ["base", "py312"]
py313 = ["base", "py313"]
jupyterlite-runtime = ["jupyterlite-runtime"]
jupyterlite-host = ["jupyterlite-host"]