Developer Guide¶
This section describes the developer API in Jupyter AI that other Python packages can use to tailor Jupyter AI to their use-case. For example, developers can add new personas to Jupyter AI using the jupyter-ai-jupyternaut extension as a reference.
Users may add personas in addition to the default Jupyternaut persona by using the entry points API.
The developer API allows other packages to modify both the frontend & the backend. The developer API has two parts: the Entry points API and the Lumino plugin API (currently unused, but planned for v3).
The Entry points API allows packages to add certain objects to Jupyter AI’s backend. This is available to any Python package.
The Lumino plugin API allows packages to add to, modify, or even override parts of Jupyter AI’s frontend. This is only available to labextension packages.
In v3, jupyter-ai is no longer a monorepo. Instead it comprises components that can be composed together to support a wide range of AI-assisted workflows, from code generation and data analysis to interactive learning and research. These components are located in the jupyter-ai-contrib org with multiple repositories, each representing a submodule that is installed along with jupyter-ai. For details, refer to the documentation on Development Setup. Also refer to the related repositories’ README files for overview.