Skip to content

Commit 38b92e2

Browse files
mfisher87ktaletsk
andauthored
Populate module 1 content on "types of extensions" (#66)
Co-authored-by: Konstantin Taletskiy <[email protected]>
1 parent 31c9588 commit 38b92e2

File tree

4 files changed

+72
-7
lines changed

4 files changed

+72
-7
lines changed

.codespellignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
slippy

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ repos:
3030
rev: v2.4.1
3131
hooks:
3232
- id: codespell
33+
args: ["--ignore-words", ".codespellignore"]

03-vocabulary.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ Unlike frontend extensions, server extensions have access to the computer Jupyte
1919
running on, for example to read files from disk.
2020
[See the official docs for more!](https://jupyter-server.readthedocs.io/en/stable/developers/extensions.html)
2121

22+
MIME renderer extension
23+
: An extension which teaches JupyterLab how to view a new type of file.
24+
For example,
25+
[jupyterlab-geojson](https://github.com/jupyterlab/jupyter-renderers/tree/main/packages/geojson-extension)
26+
enables JupyterLab to open a "slippy map" to display geospatial vector data in the
27+
GeoJSON format.
28+
Also known as a "mimetype" extension.
29+
2230
Frontend extension
2331
: An extension which modifies the user interface and/or adds functionality that executes
2432
solely in the browser, and interacts with existing JupyterLab frontend components.

04-materials/01-exploring-extensions.md

Lines changed: 62 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,69 @@
2424

2525
## Extension types
2626

27-
🏗️ TODO!
27+
### {term}`Server extension`
2828

29+
Extensions that run on the JupyterLab server, which means it has access to the same
30+
hardware as JupyterLab and can, for example, load data from disk and perform
31+
computations.
2932

30-
## Example extensions
33+
Examples:
3134

32-
🏗️ TODO!
35+
* [jupyter-server-proxy](https://github.com/jupyterhub/jupyter-server-proxy) enables
36+
running, supervising, and proxying additional web services within a JupyterLab
37+
deployment.
38+
* [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) enables automated fetching of
39+
content in a Git repository into JupyterLab from a special URL.
40+
Especially useful for teachers to provide their students with access to educational
41+
materials in a JupyterHub by clicking a single link.
3342

34-
* List extensions
35-
* Link to their docs / home page
36-
* Brief summary, what makes it unique architecturally, e.g. is it frontend only, does it
37-
have server component, does it expose new commands.
43+
44+
### {term}`Frontend extension`
45+
46+
Extensions that run in the JupyterLab frontend (i.e. the user's browser), which means it
47+
can change anything about the appearance of JupyterLab and provide new {term}`widgets
48+
<widget>` for display and/or interactions.
49+
50+
Examples:
51+
52+
* [jupyterthemes](https://github.com/dunovank/jupyter-themes) provides custom
53+
appearances for Notebooks.
54+
* ...
55+
56+
57+
### Frontend **and** server
58+
59+
A very common pattern is extensions which combine frontend and server extensions to
60+
provide new interface features which trigger behavior on the server.
61+
62+
Examples:
63+
64+
* [jupyterlab-git](https://github.com/jupyterlab/jupyterlab-git)
65+
provides visual git management.
66+
* [jupyter-resource-usage](https://github.com/jupyter-server/jupyter-resource-usage)
67+
displays information about kernel resource (CPU, RAM) usage in the frontend.
68+
* [gator](https://github.com/mamba-org/gator) enables graphical management of
69+
conda/mamba environments.
70+
* [JupyterGIS](https://jupytergis.readthedocs.io/en/latest/) (beta) provides a
71+
Geospatial Information System (GIS) interface for working with geospatial data.
72+
* ..
73+
74+
75+
### {term}`MIME renderer extension` (a.k.a. "mimetype" extension)
76+
77+
Extensions that tell Jupyter how to view information in a specific file type
78+
([MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types)).
79+
80+
These are a subset of {term}`frontend extensions <frontend extension>` which map a
81+
{term}`widget` viewer with the supported file MIME type strings.
82+
83+
Examples:
84+
85+
* [jupyterlab-geojson](https://pypi.org/project/jupyterlab-geojson/) enables
86+
double-clicking on GeoJSON files and viewing them on a JupyterLab-native map viewer.
87+
* ...
88+
89+
90+
## More...
91+
92+
🏗️ TODO! What go here?

0 commit comments

Comments
 (0)