README.md 2.85 KB
Newer Older
Jeremy Tuloup's avatar
Jeremy Tuloup committed
1
# JupyterLite
Jeremy Tuloup's avatar
Jeremy Tuloup committed
2

3
[![ci-badge]][ci] [![binder-badge]][binder] [![docs-badge]][docs]
4
5
6
7
8

[ci-badge]: https://github.com/jtpio/jupyterlite/workflows/Build/badge.svg
[ci]: https://github.com/jtpio/jupyterlite/actions?query=branch%3Amain
[binder-badge]: https://mybinder.org/badge_logo.svg
[binder]: https://mybinder.org/v2/gh/jtpio/jupyterlite/main?urlpath=lab
9
10
[docs-badge]: https://readthedocs.org/projects/jupyterlite/badge/?version=latest
[docs]: https://jupyterlite.readthedocs.io/en/latest/?badge=latest
Jeremy Tuloup's avatar
Jeremy Tuloup committed
11

12
13
JupyterLite is a JupyterLab distribution that **runs entirely in the browser** built
from the ground-up using JupyterLab components and plugins.
Jeremy Tuloup's avatar
Jeremy Tuloup committed
14

15
## ✨ Try it in your browser ✨
Jeremy Tuloup's avatar
Jeremy Tuloup committed
16

17
18
JupyterLite works with both [JupyterLab](https://github.com/jupyterlab/jupyterlab) and
[JupyterLab Classic](https://github.com/jtpio/jupyterlab-classic).
Jeremy Tuloup's avatar
Jeremy Tuloup committed
19

Nicholas Bollweg's avatar
Nicholas Bollweg committed
20
### [Try it with JupyterLab!](https://jupyterlite.readthedocs.io/en/latest/try/lab)
Jeremy Tuloup's avatar
Jeremy Tuloup committed
21

Jeremy Tuloup's avatar
Jeremy Tuloup committed
22
![image](https://user-images.githubusercontent.com/591645/114009512-7fe79600-9863-11eb-9aac-3a9ef6345011.png)
Jeremy Tuloup's avatar
Jeremy Tuloup committed
23

Nicholas Bollweg's avatar
Nicholas Bollweg committed
24
### [Try it with JupyterLab Classic!](https://jupyterlite.readthedocs.io/en/latest/try/classic)
25
26
27
28
29
30
31
32
33
34
35
36

![image](https://user-images.githubusercontent.com/591645/114454062-78fdb200-9bda-11eb-9cda-4ee327dd1c77.png)

## Features

- Python kernel backed by [Pyodide](https://pyodide.org) running in a Web Worker
- JavaScript kernel running in an IFrame
- Offline Notebook storage in the browser
- Support for saving settings
- Basic session and kernel management to have multiple kernels running at the same time
- Support for code consoles

Jeremy Tuloup's avatar
Jeremy Tuloup committed
37
38
39
40
## Status

⚠️ Currently in active development ⚠️

41
## Development install
Jeremy Tuloup's avatar
Jeremy Tuloup committed
42

43
See the
Romain Casati's avatar
Typo.    
Romain Casati committed
44
[contributing guide](https://github.com/jtpio/jupyterlite/blob/main/CONTRIBUTING.md) for
45
a development installation.
Jeremy Tuloup's avatar
Jeremy Tuloup committed
46
47
48

## Related

49
50
51
JupyterLite is a reboot of several attemps at making a full static Jupyter distribution
that runs in the browser, without having to start the Python Jupyter Server on the host
machine.
Jeremy Tuloup's avatar
Jeremy Tuloup committed
52

53
54
The goal is to provide a lightweight computing environment accessible in a matter of
seconds with a single click, in a web browser and without having to install anything.
Jeremy Tuloup's avatar
Jeremy Tuloup committed
55

56
This project is a collection of packages that can be remixed together in variety of ways
Nicholas Bollweg's avatar
Nicholas Bollweg committed
57
58
to create new applications and distributions. Most of the packages in this repo focus on
providing server-like components that run in the browser (to manage kernels, files and
59
settings), so existing JupyterLab extensions and plugins can be reused out of the box.
Jeremy Tuloup's avatar
Jeremy Tuloup committed
60
61
62

See also:

63
64
- [p5-notebook](https://github.com/jtpio/p5-notebook): A minimal Jupyter Notebook UI for
  p5.js kernels running in the browser
Jeremy Tuloup's avatar
Jeremy Tuloup committed
65
- [jyve](https://github.com/deathbeds/jyve): Jupyter Kernels, right inside JupyterLab
66
67
- [Starboard Notebook](https://github.com/gzuidhof/starboard-notebook): In-browser
  literal notebooks
Nicholas Bollweg's avatar
Nicholas Bollweg committed
68
69
- [Basthon](https://basthon.fr/about.html): A Jupyter notebook implementation using
  Pyodide