FAQ
Can I use my Python package in Notebook.link's JupyterLite?
If you did not find a way to use your Python package in Notebook.link, please make sure that it's either:
- a pure Python package provided as a Python
wheelon PyPi: then you can install it withpip - published on
https://prefix.dev/conda-forgeas anoarchpackage - compiled for WASM and published on
https://prefix.dev/emscripten-forge-4x
Notebook.link does not support Python packages published as tarballs .tar.gz or compiled packages from PyPi, since those are not compiled for WASM. The package needs to either be a pure Python library from PyPi or https://prefix.dev/conda-forge or compiled for WASM and published on https://prefix.dev/emscripten-forge-4x.
Can I fetch external resources in my Notebook?
Network calls are possible, e.g. the Python requests module can be installed and will work in some cases.
The browser is only limited by Cross-Origin Resource Sharing (CORS), meaning that the server you are requesting resources from must accept notebook.link as being the origin of the request. This will be the case for some resources but not all of them.
If you see an error when trying to fetch the resource, it's very likely due to the remote server not allowing notebook.link to fetch it, resulting in a CORS error.
We plan on providing a CORS proxy (allowing to fetch anything online) for the non-free plan of Notebook.link.
Can I use the Pyodide JupyterLite kernel?
You can easily install the pyodide kernel in Notebook.link using the following environment:
name: pyodide-environment
channels:
- https://prefix.dev/conda-forge
dependencies:
- jupyterlite-pyodide-kernel
The Pyodide kernel has its own package distribution logic, its Python runtime does not know about the rest of the environment. e.g. installing packages like ipyleaflet alongside pyodide will not make ipyleaflet importable there.
In my environment definition, do the order of channels matter?
Yes! The order of channels in the environment definition matters.
Notebook.link uses strict channel priority, meaning that if https://prefix.dev/conda-forge is before https://prefix.dev/emscripten-forge-4x in the list of channels, packages from https://prefix.dev/conda-forge will take precedence and you may have solving issues. Please make sure to put the emscripten-forge channel first.
Where are my notebooks and other files stored?
It depends on what you are doing on Notebook.link:
-
case 1: if you are editing your own project, your notebooks and other files will be stored on your allocated storage in the Notebook.link servers.
-
case 2: if you are working with a link to a GitHub repository, the repository is cloned onto your machine in the browser storage, and edits will stay local to your machine. Please keep in mind that you are not modifying the content of the GitHub repository.
-
case 3: if you are viewing an existing link, similar to the links to Github repositories, new notebooks and file edits are local to your machine.
Can I contribute new packages to use them in Notebook.link?
Notebook.link makes use of in-browser conda environments, and supports installing pure Python packages from PyPi. So you'll need to either:
- Contribute your pure Python packages to
PyPI, refer to this documentation - Contribute your package as a conda package:
- on
conda-forgefornoarchpackages, refer to this documentation - on
emscripten-forge-4xfor compiled packages, refer to this documentation
- on
You can also hire QuantStack to do some packaging for you. Just click here