A typescript library for web based interactive computing with Jupyter backends.
#When to use
If you are looking to make code on your website interavctive and executable quickly and easily you probably should be using
- You are adding jupyter based computation into a typescript application
- You want Jupyter outputs on your webpage but you don't want to show all the code
- You want
thebe-like behaviour, but want to ontrol the UI yourself
- You want more control over the servers and sessions you're connecting to
thebe was originally written with
thebe is part of the Executable Books project, and can be used in Jupyter Books via the
Prior to the
thebe was a small but powerful library for connecting any front end to a jupyter compute service.
However, it was
jquery centric and focussed on making a web page containing static code elements "live" in an opinionated way -- with little scope for configuration or interaction with the resources once initialized and error handling.
The purpose of
thebe-core is to isolate and expand the core functionality in
thebe so that it could be used in different ways in a wider range of web contexts, from simple html pages through to web applications using frameworks like
Next.js, whilst still being used internally in
thebe providing a like-for-like behaviour there.
thebe like this, allows interesting enhancements to be made including connecting to a
juptyerlite kernel and providing a simplified runtime interfave for interacting with Jupyter servers and sessions.
The repository is contins a
monorepo for building the following packages:
thebe-coreheadless typescript connectivity to Jupyter backends
thebetypescript version of the original
thebelibrary, making webpages with code interactive
thebe-litea drop in component that provides the Jupyterlite server and pyolite kernel
See architecture for more details on building these packages locally.