thebe-core
is a headless connector library allowing a developer to connect to and execute code on a Jupyter based compute resource from any Javascript environemnt.
Written in Typescript and indended for use in other packages and applications, thebe-core
has minimal state and introduces no restrictions on UI frameworks that might be used. thebe will use thebe-core
to provide a jquery
based connector, that uses prosemirror to enable editing and execution of code cells on any webpage.
thebe-core
supports connecting to a BinderHub, JupyterHub, any Jupyter instance or JupyterLite with the pyiolite kernel.
thebe-core
should be considered as beta software and may be subject to further significant changes, however it is ready for test integration and usage. We welcome feedback.
Install the library from npm:
npm install thebe-core
Thebe is loaded asynchronously so you need to copy the build artifacts into your project static directory (e.g. public
in react
) you can do that using:
npx copy-thebe-assets <output_dir> [all,core,lite,thebe]
e.g:
copy-thebe-assets public/thebe
Follow the Getting started from Typescript section of the docs
To use thebe-core
directly from a web page or Javascript application, load the minified library via a script tag:
<script src="thebe-core.min.js" type="text/javascript"></script>
To learn how to build thebe-core
itself and contribute to the development of the library see Contributing
For more information on how to invoke thebe and connect to a kernel see demo/index.html and demo/demo.js.
See this statement from Executable Books.
thebe-core
is licensed under BSD 3 Clause Revised License - see LICENSE.
thebe-core
is an out of core refactor of the thebe
library, containing refactored code from the original.
It is currently stewarded by the Executable Books Team.
Previous funding
thebe
was initially developed as a part of OpenDreamKit – Horizon 2020 European Research Infrastructure project (676541).
Additional support was provided by the U.S. Department of Education Open Textbooks Pilot Program funding for the LibreTexts project (P116T180029).