About the Demo#

This documentation site contains the JupyterLite Demo (the Try buttons on the top of the screen) and uses a number of techniques described on this page.

Demo Configuration#

The following generated configuration powers the Demo, and is generated prior to building the docs site, copied in during the build, and fetched by browsers from /_static/jupyter-lite.json.

{
  "jupyter-config-data": {
    "appName": "JupyterLite Examples",
    "appUrl": "./lab",
    "appVersion": "0.3.0",
    "baseUrl": "./",
    "collaborative": true,
    "defaultKernelName": "python",
    "exposeAppInBrowser": true,
    "faviconUrl": "./lab/favicon.ico",
    "federated_extensions": [
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.8b39370ba982e33b93d8.js",
        "name": "@jupyter-notebook/lab-extension",
        "style": "./style"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.98b8a827bfc5f86e95d2.js",
        "name": "@jupyter-widgets/jupyterlab-manager"
      },
      {
        "liteExtension": false,
        "load": "static/remoteEntry.b15a25cb741a6c7381f8.js",
        "mimeExtension": "./mimeExtension",
        "name": "@jupyterlab/fasta-extension",
        "style": "./style"
      },
      {
        "liteExtension": false,
        "load": "static/remoteEntry.6a76d3e37f02d3977b44.js",
        "mimeExtension": "./mimeExtension",
        "name": "@jupyterlab/geojson-extension",
        "style": "./style"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.3bfd9366a4d281640860.js",
        "name": "@jupyterlab/github",
        "style": "./style"
      },
      {
        "extension": "./extension",
        "liteExtension": true,
        "load": "static/remoteEntry.9117113815033289c4d5.js",
        "name": "@jupyterlite/p5-kernel-extension",
        "style": "./style"
      },
      {
        "extension": "./extension",
        "liteExtension": true,
        "load": "static/remoteEntry.badedd5607b5d4e57583.js",
        "name": "@jupyterlite/pyodide-kernel-extension"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.504b42f0aac636b2716f.js",
        "name": "@timkpaine/jupyterlab_miami_nights"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.ade722230aea9b7793b2.js",
        "name": "bqplot"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.9693baf6fc7fc4c880d2.js",
        "name": "ipycanvas"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.03390b18ed36b245b514.js",
        "name": "jupyter-cytoscape"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.edc72ee71d4ec67598f6.js",
        "name": "jupyter-leaflet"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.101bc12d4d5cef8f7eb1.js",
        "name": "jupyter-matplotlib"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.1ea7cdec7b0be3c5b34d.js",
        "name": "jupyter-vue"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.b8f540aa2b45806d9156.js",
        "name": "jupyter-vuetify"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.35427e78d5ec24a32599.js",
        "name": "jupyterlab-kernelspy",
        "style": "./style"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.f294278414d0a929e4ae.js",
        "mimeExtension": "./mimeExtension",
        "name": "jupyterlab-plotly"
      },
      {
        "extension": "./extension",
        "liteExtension": false,
        "load": "static/remoteEntry.c48d7690a4adc05b4e31.js",
        "name": "jupyterlab-tour",
        "style": "./style"
      }
    ],
    "fileTypes": {
      "css": {
        "extensions": [
          ".css"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/css"
        ],
        "name": "css"
      },
      "csv": {
        "extensions": [
          ".csv"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/csv"
        ],
        "name": "csv"
      },
      "fasta": {
        "extensions": [
          ".fasta"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/plain"
        ],
        "name": "fasta"
      },
      "geojson": {
        "extensions": [
          ".geojson"
        ],
        "fileFormat": "json",
        "mimeTypes": [
          "application/geo+json"
        ],
        "name": "geojson"
      },
      "gzip": {
        "extensions": [
          ".tgz",
          ".gz",
          ".gzip"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "application/gzip"
        ],
        "name": "gzip"
      },
      "html": {
        "extensions": [
          ".html"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/html"
        ],
        "name": "html"
      },
      "ical": {
        "extensions": [
          ".ical",
          ".ics",
          ".ifb",
          ".icalendar"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/calendar"
        ],
        "name": "ical"
      },
      "ico": {
        "extensions": [
          ".ico"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "image/x-icon"
        ],
        "name": "ico"
      },
      "ipynb": {
        "extensions": [
          ".ipynb"
        ],
        "fileFormat": "json",
        "mimeTypes": [
          "application/x-ipynb+json"
        ],
        "name": "ipynb"
      },
      "jpeg": {
        "extensions": [
          ".jpeg",
          ".jpg"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "image/jpeg"
        ],
        "name": "jpeg"
      },
      "js": {
        "extensions": [
          ".js",
          ".mjs"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "application/javascript"
        ],
        "name": "js"
      },
      "jsmap": {
        "extensions": [
          ".map"
        ],
        "fileFormat": "json",
        "mimeTypes": [
          "application/json"
        ],
        "name": "jsmap"
      },
      "json": {
        "extensions": [
          ".json"
        ],
        "fileFormat": "json",
        "mimeTypes": [
          "application/json"
        ],
        "name": "json"
      },
      "manifest": {
        "extensions": [
          ".manifest"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/cache-manifest"
        ],
        "name": "manifest"
      },
      "md": {
        "extensions": [
          ".md",
          ".markdown"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/markdown"
        ],
        "name": "md"
      },
      "pdf": {
        "extensions": [
          ".pdf"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "application/pdf"
        ],
        "name": "pdf"
      },
      "plain": {
        "extensions": [
          ".txt"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/plain"
        ],
        "name": "plain"
      },
      "png": {
        "extensions": [
          ".png"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "image/png"
        ],
        "name": "png"
      },
      "py": {
        "extensions": [
          ".py"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/x-python",
          "application/x-python-code"
        ],
        "name": "py"
      },
      "svg": {
        "extensions": [
          ".svg"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "image/svg+xml"
        ],
        "name": "svg"
      },
      "toml": {
        "extensions": [
          ".toml"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "application/toml"
        ],
        "name": "toml"
      },
      "vue": {
        "extensions": [
          ".vue"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "text/plain"
        ],
        "name": "vue"
      },
      "wasm": {
        "extensions": [
          ".wasm"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "application/wasm"
        ],
        "name": "wasm"
      },
      "wheel": {
        "extensions": [
          ".whl"
        ],
        "fileFormat": "base64",
        "mimeTypes": [
          "octet/stream",
          "application/x-wheel+zip"
        ],
        "name": "wheel"
      },
      "xml": {
        "extensions": [
          ".xml"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "application/xml"
        ],
        "name": "xml"
      },
      "yaml": {
        "extensions": [
          ".yaml",
          ".yml"
        ],
        "fileFormat": "text",
        "mimeTypes": [
          "application/x-yaml"
        ],
        "name": "yaml"
      }
    },
    "fullLabextensionsUrl": "./extensions",
    "fullStaticUrl": "./build",
    "licensesUrl": "./lab/api/licenses",
    "settingsOverrides": {
      "@jupyterlab/github:drive": {
        "defaultRepo": "jupyterlite/jupyterlite"
      },
      "jupyterlab-tour:user-tours": {
        "tours": [
          {
            "id": "jupyter-lite",
            "label": "Welcome to JupyterLite",
            "options": {},
            "steps": [
              {
                "content": "This is JupyterLite",
                "target": "#jp-MainLogo"
              }
            ]
          }
        ]
      }
    }
  },
  "jupyter-lite-schema-version": 0
}

Demo Extension Notes#

The federated_extensions above are copied from the documentation environment prior to building this site with Sphinx, and are meant to exercise different kinds of extensions, including themes, MIME renderers, Widgets, and an shared document provider for RTC.

The demo disables autodetection of environment extensions with ignore_sys_prefix, as the outer development environment includes a number of extensions with features that don’t work.