CLI#
显示代码单元格内容
import atexit
import hashlib
import os
import pathlib
import pprint
import shutil
import tempfile
from IPython.display import *
RTD = os.environ.get("READTHEDOCS")
The jupyter lite
(or jupyter-lite
) CLI provides tools for lifecycle of combining…
the core JupyterLite static assets
extra application features like Lab Extensions and settings
kernel-specific resources like Python wheels
user-authored content like Notebooks
… into a ready-to-deploy (and optionally reproducible) Jupyter sites which require an HTTP server, but no application server.
安装#
!pip install jupyterlite-core
!jupyter lite --version
Requirement already satisfied: jupyterlite-core in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (0.3.0)
Requirement already satisfied: doit<1,>=0.34 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core) (0.36.0)
Requirement already satisfied: jupyter-core>=4.7 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core) (5.7.2)
Requirement already satisfied: cloudpickle in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from doit<1,>=0.34->jupyterlite-core) (3.0.0)
Requirement already satisfied: importlib-metadata>=4.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from doit<1,>=0.34->jupyterlite-core) (7.1.0)
Requirement already satisfied: platformdirs>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-core>=4.7->jupyterlite-core) (4.2.0)
Requirement already satisfied: traitlets>=5.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-core>=4.7->jupyterlite-core) (5.14.2)
Requirement already satisfied: zipp>=0.5 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from importlib-metadata>=4.4->doit<1,>=0.34->jupyterlite-core) (3.17.0)
DEPRECATION: sphinxext-rediraffe main has a non-standard version number. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of sphinxext-rediraffe or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
0.3.0
附加组件依赖项#
一些不同插件的额外功能有额外的依赖项。
pip install jupyterlite-core[contents] # jupyter_server for contents API indexing
pip install jupyterlite-core[serve] # tornado for better local previewing with `serve`
pip install jupyterlite-core[check] # validate more data with jsonschema
pip install jupyterlite-core[lab] # a known-compatible jupyterlab (entails `contents`, `serve`, `check`)
…或者,对于所有内容
pip install jupyterlite-core[all] # all of the above!
!pip install jupyterlite-core[all]
显示代码单元格输出
Requirement already satisfied: jupyterlite-core[all] in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (0.3.0)
Requirement already satisfied: doit<1,>=0.34 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (0.36.0)
Requirement already satisfied: jupyter-core>=4.7 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (5.7.2)
Requirement already satisfied: jsonschema>=3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (4.21.1)
Requirement already satisfied: jupyter-server in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (2.13.0)
Requirement already satisfied: jupyterlab-server<3,>=2.8.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (2.25.4)
Requirement already satisfied: jupyterlab<4.2,>=4.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (4.1.5)
Requirement already satisfied: libarchive-c>=4.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (5.1)
Requirement already satisfied: notebook<7.2,>=7.1.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (7.1.2)
Requirement already satisfied: pkginfo in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (1.10.0)
Requirement already satisfied: tornado>=6.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlite-core[all]) (6.4)
Requirement already satisfied: cloudpickle in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from doit<1,>=0.34->jupyterlite-core[all]) (3.0.0)
Requirement already satisfied: importlib-metadata>=4.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from doit<1,>=0.34->jupyterlite-core[all]) (7.1.0)
Requirement already satisfied: attrs>=22.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema>=3->jupyterlite-core[all]) (23.2.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema>=3->jupyterlite-core[all]) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema>=3->jupyterlite-core[all]) (0.34.0)
Requirement already satisfied: rpds-py>=0.7.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema>=3->jupyterlite-core[all]) (0.18.0)
Requirement already satisfied: platformdirs>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-core>=4.7->jupyterlite-core[all]) (4.2.0)
Requirement already satisfied: traitlets>=5.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-core>=4.7->jupyterlite-core[all]) (5.14.2)
Requirement already satisfied: async-lru>=1.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2.0.4)
Requirement already satisfied: httpx>=0.25.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.27.0)
Requirement already satisfied: ipykernel in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (6.29.3)
Requirement already satisfied: jinja2>=3.0.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (3.1.3)
Requirement already satisfied: jupyter-lsp>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2.2.4)
Requirement already satisfied: notebook-shim>=0.2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.2.4)
Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (24.0)
Requirement already satisfied: anyio>=3.1.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (4.3.0)
Requirement already satisfied: argon2-cffi in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (23.1.0)
Requirement already satisfied: jupyter-client>=7.4.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (8.6.1)
Requirement already satisfied: jupyter-events>=0.9.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (0.10.0)
Requirement already satisfied: jupyter-server-terminals in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (0.5.3)
Requirement already satisfied: nbconvert>=6.4.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (7.16.3)
Requirement already satisfied: nbformat>=5.3.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (5.10.3)
Requirement already satisfied: overrides in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (7.7.0)
Requirement already satisfied: prometheus-client in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (0.20.0)
Requirement already satisfied: pyzmq>=24 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (25.1.2)
Requirement already satisfied: send2trash>=1.8.2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (0.18.1)
Requirement already satisfied: websocket-client in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-server->jupyterlite-core[all]) (1.7.0)
Requirement already satisfied: babel>=2.10 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.8.1->jupyterlite-core[all]) (2.14.0)
Requirement already satisfied: json5>=0.9.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.8.1->jupyterlite-core[all]) (0.9.24)
Requirement already satisfied: requests>=2.31 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.8.1->jupyterlite-core[all]) (2.31.0)
Requirement already satisfied: idna>=2.8 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from anyio>=3.1.0->jupyter-server->jupyterlite-core[all]) (3.6)
Requirement already satisfied: sniffio>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from anyio>=3.1.0->jupyter-server->jupyterlite-core[all]) (1.3.1)
Requirement already satisfied: certifi in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2024.2.2)
Requirement already satisfied: httpcore==1.* in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (1.0.4)
Requirement already satisfied: h11<0.15,>=0.13 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.14.0)
Requirement already satisfied: zipp>=0.5 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from importlib-metadata>=4.4->doit<1,>=0.34->jupyterlite-core[all]) (3.17.0)
Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jinja2>=3.0.3->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2.1.5)
Requirement already satisfied: python-dateutil>=2.8.2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-client>=7.4.4->jupyter-server->jupyterlite-core[all]) (2.9.0)
Requirement already satisfied: python-json-logger>=2.0.4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (6.0.1)
Requirement already satisfied: rfc3339-validator in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (0.1.1)
Requirement already satisfied: beautifulsoup4 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (4.12.3)
Requirement already satisfied: bleach!=5.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (6.1.0)
Requirement already satisfied: defusedxml in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (0.3.0)
Requirement already satisfied: mistune<4,>=2.0.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (3.0.2)
Requirement already satisfied: nbclient>=0.5.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (0.10.0)
Requirement already satisfied: pandocfilters>=1.4.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (1.5.0)
Requirement already satisfied: pygments>=2.4.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (2.17.2)
Requirement already satisfied: tinycss2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (1.2.1)
Requirement already satisfied: fastjsonschema in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from nbformat>=5.3.0->jupyter-server->jupyterlite-core[all]) (2.19.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from requests>=2.31->jupyterlab-server<3,>=2.8.1->jupyterlite-core[all]) (3.3.2)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from requests>=2.31->jupyterlab-server<3,>=2.8.1->jupyterlite-core[all]) (2.2.1)
Requirement already satisfied: ptyprocess in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from terminado>=0.8.3->jupyter-server->jupyterlite-core[all]) (0.7.0)
Requirement already satisfied: argon2-cffi-bindings in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from argon2-cffi->jupyter-server->jupyterlite-core[all]) (21.2.0)
Requirement already satisfied: comm>=0.1.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.2.2)
Requirement already satisfied: debugpy>=1.6.5 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (1.8.1)
Requirement already satisfied: ipython>=7.23.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (8.22.2)
Requirement already satisfied: matplotlib-inline>=0.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.1.6)
Requirement already satisfied: nest-asyncio in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (1.6.0)
Requirement already satisfied: psutil in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (5.9.8)
Requirement already satisfied: six>=1.9.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (1.16.0)
Requirement already satisfied: webencodings in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (0.5.1)
Requirement already satisfied: decorator in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (5.1.1)
Requirement already satisfied: jedi>=0.16 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.19.1)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (3.0.42)
Requirement already satisfied: stack-data in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.6.2)
Requirement already satisfied: pexpect>4.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (4.9.0)
Requirement already satisfied: fqdn in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (1.5.1)
Requirement already satisfied: isoduration in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (2.4)
Requirement already satisfied: uri-template in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (1.3.0)
Requirement already satisfied: webcolors>=1.11 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (1.13)
Requirement already satisfied: cffi>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server->jupyterlite-core[all]) (1.16.0)
Requirement already satisfied: soupsieve>1.2 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server->jupyterlite-core[all]) (2.5)
Requirement already satisfied: pycparser in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server->jupyterlite-core[all]) (2.21)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.8.3)
Requirement already satisfied: wcwidth in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.2.13)
Requirement already satisfied: arrow>=0.15.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (1.3.0)
Requirement already satisfied: executing>=1.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2.0.1)
Requirement already satisfied: asttokens>=2.1.0 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (2.4.1)
Requirement already satisfied: pure-eval in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<4.2,>=4.1.1->jupyterlite-core[all]) (0.2.2)
Requirement already satisfied: types-python-dateutil>=2.8.10 in /home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/conda/stable/lib/python3.11/site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server->jupyterlite-core[all]) (2.9.0.20240316)
DEPRECATION: sphinxext-rediraffe main has a non-standard version number. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of sphinxext-rediraffe or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
安装内核#
该 jupyterlite-core
包提供了构建 JupyterLite 网站的核心功能,默认情况下不会安装任何内核。
如果您想在 JupyterLite 部署中包含内核,则需要在构建站点之前安装它。
例如,要包含基于 Pyodide 的 Python 内核
pip install jupyterlite-pyodide-kernel
快速入门#
安装完成后,可以使用以下命令访问本地托管的空 JupyterLite 站点:
jupyter lite serve
这将
Lite 目录#
当您运行 jupyter lite
命令时,它假定您当前的工作目录是 JupyterLite 站点的部分内容。您可以使用 --lite-dir
覆盖此设置。默认情况下,构建的站点将创建在 _output
中,但可以使用 --output-dir
覆盖。
显示代码单元格内容
if "TMP_DIR" not in globals():
TMP_DIR = pathlib.Path(tempfile.mkdtemp(prefix="_my_lite_dir_"))
def clean():
shutil.rmtree(TMP_DIR)
atexit.register(clean)
os.chdir(TMP_DIR)
print(pathlib.Path.cwd())
/tmp/_my_lite_dir_8_4x0yqa
知名文件#
您 --lite-dir
中的一些具有特殊含义的文件
查看路径… |
… 查找名为 |
… 的文件,如果找到 |
---|---|---|
|
|
与 |
|
|
与 |
|
|
逐字复制到 |
|
|
逐字复制到 |
|
|
逐字复制到 |
有关 合并内容 的更多信息,请参见。
用法#
常用参数#
以下所有参数都在 jupyter_lite_config.json#LiteBuildConfig
中配置。
参数 |
描述 |
默认值 |
环境变量 |
---|---|---|---|
|
站点的配置和内容 |
当前工作目录 |
|
|
可托管站点的创建位置 |
|
|
|
下载的缓存目录 |
|
|
|
通过入口点名称禁用特定插件 |
||
|
作为基础的备用站点 |
捆绑 |
|
|
要复制到 |
|
|
|
永远不应包含在 |
各种 |
|
|
永远不应包含在 |
||
|
存档路径 |
|
|
|
在 |
|
|
|
在网站 URL 前添加的 URL 前缀 |
|
|
|
可选地启用额外的可重复构建措施(尽力而为!) |
|
|
|
包含扩展的文件夹路径、 |
||
|
不要复制任何内容,例如从 |
|
|
|
要启用的其他设置覆盖 |
附加组件配置#
一些构建时附加组件提供自己的 CLI 标志和可配置值。这些也可能在 jupyter-lite.json
中配置运行时选项。
PyodideAddon
#
参数 |
描述 |
默认值 |
环境变量 |
---|---|---|---|
|
Pyodide 发行版(或 .bz2 存档)的路径或 URL |
|
PipliteAddon
#
参数 |
描述 |
默认值 |
环境变量 |
---|---|---|---|
|
在运行时提供给 Pyodide 内核的额外轮子 |
所有参数都可以通过 jupyter_lite_config.json
在 jupyter lite
启动的目录中配置,或者通过 --config
给出。
提示
有关高级示例,请参见用于此文档的 配置。
帮助#
CLI 在 --help
(或 -h
)下提供自己的文档。
!jupyter lite --help
显示代码单元格输出
A Jupyter Application
Subcommands
===========
Subcommands are launched as `jupyter cmd [args]`. For information on using
subcommand 'cmd', do: `jupyter cmd -h`.
list
describe a JupyterLite site
status
report about what a JupyterLite build _might_ do
init
initialize a JupyterLite site from an app archive baseline
build
build a JupyterLite site, including user content
check
verify a JupyterLite site, using available schema and rules
serve
serve a JupyterLite site, using best available HTTP server
archive
build a JupyterLite app archive, which can be used as a baseline
doit
use the full doit CLI, see https://pydoit.org/contents.html
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
--debug
set log level to logging.DEBUG (maximize logging output)
Equivalent to: [--Application.log_level=10]
-y
Answer yes to any questions instead of prompting.
Equivalent to: [--JupyterApp.answer_yes=True]
--ignore-sys-prefix
Do not copy anything from sys.prefix
Equivalent to: [--LiteBuildConfig.ignore_sys_prefix=True]
--no-sourcemaps
Strip all sourcemaps from applications and extensions
Equivalent to: [--LiteBuildConfig.no_sourcemaps=True]
--no-unused-shared-packages
Remove shared packages not used by --apps
Equivalent to: [--LiteBuildConfig.no_unused_shared_packages=True]
--no-libarchive
Do not try to use libarchive-c for archive operations
Equivalent to: [--LiteBuildConfig.no_libarchive=True]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Application.log_level]
--config=<Unicode>
Full path of a config file.
Default: ''
Equivalent to: [--JupyterApp.config_file]
--disable-addons=<typedtuple-item-1>...
skip loading `entry_point` for these addons. TODO: should be a dict
Default: ()
Equivalent to: [--LiteBuildConfig.disable_addons]
--app-archive=<CPath>
The app archive to use. env: JUPYTERLITE_APP_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.app_archive]
--apps=<typedtuple-item-1>...
the Lite apps to explicitly include in build e.g. lab, tree, repl
Default: ()
Equivalent to: [--LiteBuildConfig.apps]
--lite-dir=<CPath>
The root folder of a JupyterLite project. env: JUPYTERLITE_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.lite_dir]
--contents=<typedtuple-item-1>...
Contents to add and index
Default: ()
Equivalent to: [--LiteBuildConfig.contents]
--ignore-contents=<tuple-item-1>...
Path regular expressions that should never be included as contents
Default: ()
Equivalent to: [--LiteBuildConfig.ignore_contents]
--extra-ignore-contents=<tuple-item-1>...
Additional path regular expressions that should never be included as
contents
Default: ()
Equivalent to: [--LiteBuildConfig.extra_ignore_contents]
--settings-overrides=<typedtuple-item-1>...
Specific overrides.json to include
Default: ()
Equivalent to: [--LiteBuildConfig.settings_overrides]
--output-dir=<CPath>
Where to build the JupyterLite site. env: JUPYTERLITE_OUTPUT_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_dir]
--output-archive=<CPath>
Archive to create. env: JUPYTERLITE_OUTPUT_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_archive]
--source-date-epoch=<CInt>
Trigger reproducible builds, clamping timestamps to this value
Default: 0
Equivalent to: [--LiteBuildConfig.source_date_epoch]
--port=<CInt>
[serve] the port to (insecurely) expose on http://127.0.0.1. env:
JUPYTERLITE_PORT
Default: 0
Equivalent to: [--LiteBuildConfig.port]
--base-url=<Unicode>
[serve] the prefix to use. env: JUPYTERLITE_BASE_URL
Default: ''
Equivalent to: [--LiteBuildConfig.base_url]
To see all available configurables, use `--help-all`.
状态#
始终安全运行,此命令提供 JupyterLite 一直在做什么的概述。
!jupyter lite status
显示代码单元格输出
static:jupyter-lite.json
. pre_status:static:jupyter-lite.json
tarball: jupyterlite-app-0.3.0.tgz 13MB
output: /tmp/_my_lite_dir_8_4x0yqa/_output
lite dir: /tmp/_my_lite_dir_8_4x0yqa
apps:
sourcemaps: True
unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
. status:archive:archive
[LiteStatusApp] No archive (yet): _my_lite_dir_8_4x0yqa-jupyterlite.tgz
. status:contents:contents
contents: 0 files
. status:icons:icons
favicon files: 0 files
. status:lite:jupyter-lite.json
[LiteStatusApp] jupyter-lite.(json|ipynb): 0 files
. status:mimetypes:jupyter-lite.json
filetypes: 26
. status:serve:contents
url: http://127.0.0.1:8000/
server: tornado
headers:
. status:settings:overrides
overrides.json: 0
. status:translation:translation
translation files: 0 files
列表#
始终安全运行,此命令提供 JupyterLite 可能做什么的概述。
待办事项:改进默认输出
!jupyter lite list
显示代码单元格输出
static:jupyter-lite.json
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
static:output_dir
static:unpack
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:@jupyter-notebook/lab-extension
icons:copy
translation:copy
federated_extensions:patch
mimetypes:patch
serve:tornado
report:SHA256SUMS
archive:archive:_my_lite_dir_8_4x0yqa-jupyterlite.tgz
R archive
R archive:archive:archive:_my_lite_dir_8_4x0yqa-jupyterlite.tgz generate a new app archive
R build
R build:icons:copy copy the favicons
R build:translation:copy create the translation data
R check
R init
R init:static:unpack unpack a 'gold master' JupyterLite from jupyterlite-app-0.3.0.tgz
R post_archive
R post_build
E post_build:federated_extensions:patch ensure jupyter-lite.json includes the federated_extensions
R post_build:mimetypes:patch ensure /tmp/_my_lite_dir_8_4x0yqa/_output/jupyter-lite.json includes the file_types
R post_check
R post_init
R post_serve
R post_status
R pre_archive
R pre_archive:report:SHA256SUMS hash all of the files
R pre_build
R pre_build:federated_extensions:copy:ext:@jupyter-notebook/lab-extension
R pre_build:federated_extensions:copy:ext:jupyterlab_pygments
R pre_check
R pre_init
R pre_init:static:output_dir clean out the lite directory
R pre_serve
R pre_status
R pre_status:static:jupyter-lite.json
R serve
R serve:serve:tornado run server at http://127.0.0.1:8000/ for /tmp/_my_lite_dir_8_4x0yqa/_output
R status
R status:archive:archive
R status:contents:contents
R status:icons:icons
R status:lite:jupyter-lite.json
R status:mimetypes:jupyter-lite.json
R status:serve:contents
R status:settings:overrides
R status:translation:translation
初始化#
将所有静态数据复制到 --output-dir
。
!jupyter lite init
显示代码单元格输出
static:jupyter-lite.json
. pre_status:static:jupyter-lite.json
tarball: jupyterlite-app-0.3.0.tgz 13MB
output: /tmp/_my_lite_dir_8_4x0yqa/_output
lite dir: /tmp/_my_lite_dir_8_4x0yqa
apps:
sourcemaps: True
unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
. status:archive:archive
[LiteInitApp] No archive (yet): _my_lite_dir_8_4x0yqa-jupyterlite.tgz
. status:contents:contents
contents: 0 files
. status:icons:icons
favicon files: 0 files
. status:lite:jupyter-lite.json
[LiteInitApp] jupyter-lite.(json|ipynb): 0 files
. status:mimetypes:jupyter-lite.json
filetypes: 26
. status:serve:contents
url: http://127.0.0.1:8000/
server: tornado
headers:
. status:settings:overrides
overrides.json: 0
. status:translation:translation
translation files: 0 files
static:output_dir
. pre_init:static:output_dir
static:unpack
. init:static:unpack
构建#
将所有用户创作的内容复制到 --output-dir
,并对例如生成的 Contents API 响应应用适当的更改。
特殊众所周知的文件将被合并,但通常,用户目录中存在的文件将覆盖任何现有内容。
!jupyter lite build
显示代码单元格输出
static:jupyter-lite.json
. pre_status:static:jupyter-lite.json
tarball: jupyterlite-app-0.3.0.tgz 13MB
output: /tmp/_my_lite_dir_8_4x0yqa/_output
lite dir: /tmp/_my_lite_dir_8_4x0yqa
apps:
sourcemaps: True
unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
. status:archive:archive
[LiteBuildApp] No archive (yet): _my_lite_dir_8_4x0yqa-jupyterlite.tgz
. status:contents:contents
contents: 0 files
. status:icons:icons
favicon files: 0 files
. status:lite:jupyter-lite.json
[LiteBuildApp] jupyter-lite.(json|ipynb): 0 files
. status:mimetypes:jupyter-lite.json
filetypes: 26
. status:serve:contents
url: http://127.0.0.1:8000/
server: tornado
headers:
. status:settings:overrides
overrides.json: 0
. status:translation:translation
translation files: 0 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
-- init:static:unpack
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:@jupyter-notebook/lab-extension
. pre_build:federated_extensions:copy:ext:jupyterlab_pygments
. pre_build:federated_extensions:copy:ext:@jupyter-notebook/lab-extension
icons:copy
translation:copy
. build:icons:copy
. build:translation:copy
federated_extensions:patch
federated_extensions:settings
mimetypes:patch
. post_build:federated_extensions:patch
. post_build:federated_extensions:settings
. post_build:mimetypes:patch
服务#
在 http://127.0.0.1:{--port=8000}{--base-url=/}
上提供 --output-dir
。
警告
这不是生产服务器。在尝试将其变成它不是的东西之前,请考虑任何部署选项。
!jupyter lite serve --help
显示代码单元格输出
A Jupyter Application
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
--debug
set log level to logging.DEBUG (maximize logging output)
Equivalent to: [--Application.log_level=10]
-y
Answer yes to any questions instead of prompting.
Equivalent to: [--JupyterApp.answer_yes=True]
--ignore-sys-prefix
Do not copy anything from sys.prefix
Equivalent to: [--LiteBuildConfig.ignore_sys_prefix=True]
--no-sourcemaps
Strip all sourcemaps from applications and extensions
Equivalent to: [--LiteBuildConfig.no_sourcemaps=True]
--no-unused-shared-packages
Remove shared packages not used by --apps
Equivalent to: [--LiteBuildConfig.no_unused_shared_packages=True]
--no-libarchive
Do not try to use libarchive-c for archive operations
Equivalent to: [--LiteBuildConfig.no_libarchive=True]
--force
forget previous runs of task and re-run from the beginning
Equivalent to: [--LiteTaskApp.force=True]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Application.log_level]
--config=<Unicode>
Full path of a config file.
Default: ''
Equivalent to: [--JupyterApp.config_file]
--disable-addons=<typedtuple-item-1>...
skip loading `entry_point` for these addons. TODO: should be a dict
Default: ()
Equivalent to: [--LiteBuildConfig.disable_addons]
--app-archive=<CPath>
The app archive to use. env: JUPYTERLITE_APP_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.app_archive]
--apps=<typedtuple-item-1>...
the Lite apps to explicitly include in build e.g. lab, tree, repl
Default: ()
Equivalent to: [--LiteBuildConfig.apps]
--lite-dir=<CPath>
The root folder of a JupyterLite project. env: JUPYTERLITE_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.lite_dir]
--contents=<typedtuple-item-1>...
Contents to add and index
Default: ()
Equivalent to: [--LiteBuildConfig.contents]
--ignore-contents=<tuple-item-1>...
Path regular expressions that should never be included as contents
Default: ()
Equivalent to: [--LiteBuildConfig.ignore_contents]
--extra-ignore-contents=<tuple-item-1>...
Additional path regular expressions that should never be included as
contents
Default: ()
Equivalent to: [--LiteBuildConfig.extra_ignore_contents]
--settings-overrides=<typedtuple-item-1>...
Specific overrides.json to include
Default: ()
Equivalent to: [--LiteBuildConfig.settings_overrides]
--output-dir=<CPath>
Where to build the JupyterLite site. env: JUPYTERLITE_OUTPUT_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_dir]
--output-archive=<CPath>
Archive to create. env: JUPYTERLITE_OUTPUT_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_archive]
--source-date-epoch=<CInt>
Trigger reproducible builds, clamping timestamps to this value
Default: 0
Equivalent to: [--LiteBuildConfig.source_date_epoch]
--port=<CInt>
[serve] the port to (insecurely) expose on http://127.0.0.1. env:
JUPYTERLITE_PORT
Default: 0
Equivalent to: [--LiteBuildConfig.port]
--base-url=<Unicode>
[serve] the prefix to use. env: JUPYTERLITE_BASE_URL
Default: ''
Equivalent to: [--LiteBuildConfig.base_url]
To see all available configurables, use `--help-all`.
HTTP 标头#
在本地工作时,模拟与网站部署时工作方式匹配的 HTTP 标头会很方便。由于这些变得相当复杂,以下选项是可配置的,但仅影响 jupyter lite serve
,例如使用 extra_http_headers
(扩展默认标头)或 http_headers
(替换任何默认标头)模拟“宽松”主机
{
"LiteBuildConfig": {
"http_headers": {
"Access-Control-Allow-Headers": "x-requested-with",
"Access-Control-Allow-Methods": "POST, GET, OPTIONS",
"Access-Control-Allow-Origin": "*"
}
}
}
检查#
使用所有可用机制来验证构建文件夹是否符合模式等。
!jupyter lite check
显示代码单元格输出
static:jupyter-lite.json
. pre_status:static:jupyter-lite.json
tarball: jupyterlite-app-0.3.0.tgz 13MB
output: /tmp/_my_lite_dir_8_4x0yqa/_output
lite dir: /tmp/_my_lite_dir_8_4x0yqa
apps:
sourcemaps: True
unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
. status:archive:archive
[LiteCheckApp] No archive (yet): _my_lite_dir_8_4x0yqa-jupyterlite.tgz
. status:contents:contents
contents: 0 files
. status:icons:icons
favicon files: 7 files
. status:lite:jupyter-lite.json
[LiteCheckApp] jupyter-lite.(json|ipynb): 0 files
. status:mimetypes:jupyter-lite.json
filetypes: 26
. status:serve:contents
url: http://127.0.0.1:8000/
server: tornado
headers:
. status:settings:overrides
overrides.json: 0
. status:translation:translation
translation files: 4 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
-- init:static:unpack
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:@jupyter-notebook/lab-extension
-- pre_build:federated_extensions:copy:ext:jupyterlab_pygments
-- pre_build:federated_extensions:copy:ext:@jupyter-notebook/lab-extension
icons:copy
translation:copy
. build:icons:copy
-- build:translation:copy
federated_extensions:patch
federated_extensions:settings
mimetypes:patch
. post_build:federated_extensions:patch
-- post_build:federated_extensions:settings
-- post_build:mimetypes:patch
lite:validate:jupyter-lite.json
lite:validate:repl/jupyter-lite.json
lite:validate:notebooks/jupyter-lite.json
lite:validate:edit/jupyter-lite.json
lite:validate:lab/jupyter-lite.json
lite:validate:tree/jupyter-lite.json
lite:validate:consoles/jupyter-lite.json
lite:validate:jupyter-lite.ipynb
lite:validate:repl/jupyter-lite.ipynb
lite:validate:notebooks/jupyter-lite.ipynb
lite:validate:edit/jupyter-lite.ipynb
lite:validate:lab/jupyter-lite.ipynb
lite:validate:tree/jupyter-lite.ipynb
lite:validate:consoles/jupyter-lite.ipynb
translation:validate:translation:all.json
. check:lite:validate:jupyter-lite.json
. check:lite:validate:repl/jupyter-lite.json
. check:lite:validate:notebooks/jupyter-lite.json
. check:lite:validate:edit/jupyter-lite.json
. check:lite:validate:lab/jupyter-lite.json
. check:lite:validate:tree/jupyter-lite.json
. check:lite:validate:consoles/jupyter-lite.json
. check:lite:validate:jupyter-lite.ipynb
. check:lite:validate:repl/jupyter-lite.ipynb
. check:lite:validate:notebooks/jupyter-lite.ipynb
. check:lite:validate:edit/jupyter-lite.ipynb
. check:lite:validate:lab/jupyter-lite.ipynb
. check:lite:validate:tree/jupyter-lite.ipynb
. check:lite:validate:consoles/jupyter-lite.ipynb
. check:translation:validate:translation:all.json
存档#
将输出目录转换为一个.tgz
文件。这通常比(有时)数百个文件更容易移动,并且可以用作未来网站的基线。
此命令相对昂贵,出于文档目的而跳过。
!jupyter lite archive --help
if not RTD:
!jupyter lite archive
显示代码单元格输出
A Jupyter Application
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
--debug
set log level to logging.DEBUG (maximize logging output)
Equivalent to: [--Application.log_level=10]
-y
Answer yes to any questions instead of prompting.
Equivalent to: [--JupyterApp.answer_yes=True]
--ignore-sys-prefix
Do not copy anything from sys.prefix
Equivalent to: [--LiteBuildConfig.ignore_sys_prefix=True]
--no-sourcemaps
Strip all sourcemaps from applications and extensions
Equivalent to: [--LiteBuildConfig.no_sourcemaps=True]
--no-unused-shared-packages
Remove shared packages not used by --apps
Equivalent to: [--LiteBuildConfig.no_unused_shared_packages=True]
--no-libarchive
Do not try to use libarchive-c for archive operations
Equivalent to: [--LiteBuildConfig.no_libarchive=True]
--force
forget previous runs of task and re-run from the beginning
Equivalent to: [--LiteTaskApp.force=True]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Application.log_level]
--config=<Unicode>
Full path of a config file.
Default: ''
Equivalent to: [--JupyterApp.config_file]
--disable-addons=<typedtuple-item-1>...
skip loading `entry_point` for these addons. TODO: should be a dict
Default: ()
Equivalent to: [--LiteBuildConfig.disable_addons]
--app-archive=<CPath>
The app archive to use. env: JUPYTERLITE_APP_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.app_archive]
--apps=<typedtuple-item-1>...
the Lite apps to explicitly include in build e.g. lab, tree, repl
Default: ()
Equivalent to: [--LiteBuildConfig.apps]
--lite-dir=<CPath>
The root folder of a JupyterLite project. env: JUPYTERLITE_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.lite_dir]
--contents=<typedtuple-item-1>...
Contents to add and index
Default: ()
Equivalent to: [--LiteBuildConfig.contents]
--ignore-contents=<tuple-item-1>...
Path regular expressions that should never be included as contents
Default: ()
Equivalent to: [--LiteBuildConfig.ignore_contents]
--extra-ignore-contents=<tuple-item-1>...
Additional path regular expressions that should never be included as
contents
Default: ()
Equivalent to: [--LiteBuildConfig.extra_ignore_contents]
--settings-overrides=<typedtuple-item-1>...
Specific overrides.json to include
Default: ()
Equivalent to: [--LiteBuildConfig.settings_overrides]
--output-dir=<CPath>
Where to build the JupyterLite site. env: JUPYTERLITE_OUTPUT_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_dir]
--output-archive=<CPath>
Archive to create. env: JUPYTERLITE_OUTPUT_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_archive]
--source-date-epoch=<CInt>
Trigger reproducible builds, clamping timestamps to this value
Default: 0
Equivalent to: [--LiteBuildConfig.source_date_epoch]
--port=<CInt>
[serve] the port to (insecurely) expose on http://127.0.0.1. env:
JUPYTERLITE_PORT
Default: 0
Equivalent to: [--LiteBuildConfig.port]
--base-url=<Unicode>
[serve] the prefix to use. env: JUPYTERLITE_BASE_URL
Default: ''
Equivalent to: [--LiteBuildConfig.base_url]
To see all available configurables, use `--help-all`.
但让我们谈谈一个更可重现的资产。
显示代码单元格内容
# we clean out the TMP_DIR for the reproducibility examples
shutil.rmtree(TMP_DIR / "_output", ignore_errors=True)
可重现的存档#
🛠️ 此功能正在开发中,任何生产工作流程暂时都不应依赖它。
如果给出--source-date-epoch
,将采取一些措施来尝试确保jupyter lite archive
的输出,一个与 npm 兼容的tgz
包,始终返回一个按位可重现的构建。
最明显的改变是每个文件的修改时间被“钳制”到那个时间。其他一些变化
文件所有权将被重置
将使用可预测的排序
将应用额外的检查
注意
这是设置环境变量SOURCE_DATE_EPOCH
的快捷方式
平台 |
命令 |
---|---|
Linux |
|
Windows |
|
Python |
|
显示代码单元格源代码
if "source_date_epoch" not in globals():
from datetime import datetime
source_date_epoch = int(datetime.utcnow().timestamp())
print("SOURCE_DATE_EPOCH is", source_date_epoch)
SOURCE_DATE_EPOCH is 1711442912
if not RTD:
!jupyter lite archive --source-date-epoch {source_date_epoch} --output-archive ./a.tgz
如果我们清除我们的_output
…
显示代码单元格源代码
if not RTD:
shutil.rmtree(TMP_DIR / "_output", ignore_errors=True)
pprint.pprint([*TMP_DIR.rglob("*")])
…并重建,我们应该始终获得相同的文件。
if not RTD:
!jupyter lite archive --source-date-epoch {source_date_epoch} --output-archive ./b.tgz
显示代码单元格源代码
if not RTD:
a, b = (hashlib.sha256((TMP_DIR / f"{x}.tgz").read_bytes()).hexdigest() for x in "ab")
print("We built app archives with the SHA256SUMS of:\n", a, "\n", b)
try:
assert a == b, f"We did not reproducibly build today.\n- {a}\n- {b}\n\n"
except AssertionError:
if shutil.which("diffoscope"):
print("We did NOT reproducibly build today, checking in with `diffoscope`...")
!diffoscope a.tgz b.tgz
print("...but at least we tried REALLY hard!\n")
杂项#
合并内容#
除了默认的files/
路径之外,还提供其他文件以在 JupyterLite 启动时使用--contents
在文件管理器或树中显示,可以多次提供。
注意
如果提供
--contents
,则--contents files
的默认值将被忽略。如果多次给出,并且子文件夹/文件名会发生冲突,则最后一个路径获胜。
提示
对于复杂的文件布局,强烈建议使用jupyter_lite_config.json
。
内容示例#
给定一个像这样的目录
my-lite-dir/
files/
README.md
a.md
more-files/
README.md
b.md
运行jupyter lite build
没有任何参数将产生
my-lite-dir/
_output/
README.md
a.md
而jupyter lite build --contents more-files --contents files
将产生
my-lite-dir/
_output/
files/
README.md # this will be from my-lite-dir/files
a.md
b.md
而jupyter lite build --contents files --contents more-files
将产生
my-lite-dir/
_output/
files/
README.md # this will be from my-lite-dir/more-files
a.md
b.md
conda 包#
虽然--federated-extensions
支持大多数conda
包创建的.tar.bz2
,但存在一些问题
anaconda.org
使用非标准 HTTP 标头到 S3 存储桶来提供包conda-forge
通道将其所有构建提供为 GitHub 版本,并且可以预测地转换,例如
https://anaconda.org/conda-forge/jupyterlab_widgets/1.0.0/download/noarch/jupyterlab_widgets-1.0.0-pyhd8ed1ab_1.tar.bz2
| |
| +---------------------------------------------+
v v v
https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.0.0-pyhd8ed1ab_1.tar.bz2
Pyodide 轮子#
预构建的 Lab 扩展开发人员希望包含用于与Pyodide 内核一起使用的轮子,可以使用此命令预先索引他们希望分发的轮子。如果一个包需要上游补丁等,这将很有用。
!jupyter lite pip index --help
显示代码单元格输出
A Jupyter Application
Subcommands
===========
Subcommands are launched as `jupyter cmd [args]`. For information on using
subcommand 'cmd', do: `jupyter cmd -h`.
list
describe a JupyterLite site
status
report about what a JupyterLite build _might_ do
init
initialize a JupyterLite site from an app archive baseline
build
build a JupyterLite site, including user content
check
verify a JupyterLite site, using available schema and rules
serve
serve a JupyterLite site, using best available HTTP server
archive
build a JupyterLite app archive, which can be used as a baseline
doit
use the full doit CLI, see https://pydoit.org/contents.html
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
--debug
set log level to logging.DEBUG (maximize logging output)
Equivalent to: [--Application.log_level=10]
-y
Answer yes to any questions instead of prompting.
Equivalent to: [--JupyterApp.answer_yes=True]
--ignore-sys-prefix
Do not copy anything from sys.prefix
Equivalent to: [--LiteBuildConfig.ignore_sys_prefix=True]
--no-sourcemaps
Strip all sourcemaps from applications and extensions
Equivalent to: [--LiteBuildConfig.no_sourcemaps=True]
--no-unused-shared-packages
Remove shared packages not used by --apps
Equivalent to: [--LiteBuildConfig.no_unused_shared_packages=True]
--no-libarchive
Do not try to use libarchive-c for archive operations
Equivalent to: [--LiteBuildConfig.no_libarchive=True]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Application.log_level]
--config=<Unicode>
Full path of a config file.
Default: ''
Equivalent to: [--JupyterApp.config_file]
--disable-addons=<typedtuple-item-1>...
skip loading `entry_point` for these addons. TODO: should be a dict
Default: ()
Equivalent to: [--LiteBuildConfig.disable_addons]
--app-archive=<CPath>
The app archive to use. env: JUPYTERLITE_APP_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.app_archive]
--apps=<typedtuple-item-1>...
the Lite apps to explicitly include in build e.g. lab, tree, repl
Default: ()
Equivalent to: [--LiteBuildConfig.apps]
--lite-dir=<CPath>
The root folder of a JupyterLite project. env: JUPYTERLITE_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.lite_dir]
--contents=<typedtuple-item-1>...
Contents to add and index
Default: ()
Equivalent to: [--LiteBuildConfig.contents]
--ignore-contents=<tuple-item-1>...
Path regular expressions that should never be included as contents
Default: ()
Equivalent to: [--LiteBuildConfig.ignore_contents]
--extra-ignore-contents=<tuple-item-1>...
Additional path regular expressions that should never be included as
contents
Default: ()
Equivalent to: [--LiteBuildConfig.extra_ignore_contents]
--settings-overrides=<typedtuple-item-1>...
Specific overrides.json to include
Default: ()
Equivalent to: [--LiteBuildConfig.settings_overrides]
--output-dir=<CPath>
Where to build the JupyterLite site. env: JUPYTERLITE_OUTPUT_DIR
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_dir]
--output-archive=<CPath>
Archive to create. env: JUPYTERLITE_OUTPUT_ARCHIVE
Default: traitlets.Undefined
Equivalent to: [--LiteBuildConfig.output_archive]
--source-date-epoch=<CInt>
Trigger reproducible builds, clamping timestamps to this value
Default: 0
Equivalent to: [--LiteBuildConfig.source_date_epoch]
--port=<CInt>
[serve] the port to (insecurely) expose on http://127.0.0.1. env:
JUPYTERLITE_PORT
Default: 0
Equivalent to: [--LiteBuildConfig.port]
--base-url=<Unicode>
[serve] the prefix to use. env: JUPYTERLITE_BASE_URL
Default: ''
Equivalent to: [--LiteBuildConfig.base_url]
To see all available configurables, use `--help-all`.
Pyodide#
Pyodide 是一个 WebAssembly 分发的 CPython,为 Pyodide 内核 提供支持。压缩后,一个完整的 pyodide 分发包大约 200MB,包含 Python 解释器和科学计算栈中的关键锚定包。默认情况下,用户浏览器会根据需要从官方 pyodide CDN 获取部分内容。
--pyodide
CLI 选项(或 pyodide_url
配置选项或 JUPYTERLITE_PYODIDE_URL
环境变量)允许获取压缩的 pyodide .bz2
文件或包含此类存档内容的文件夹。这可能是来自官方 pyodide 发布页面、夜间构建或 PR 资产,或其他自定义构建。获取后,它将被复制到输出文件夹并 配置。