Standalone backend for Jusivim notebook execution
Project description
Jusi
Jusi is the Python backend for notebook-style execution used by the jusivim Vim/Neovim plugin.
It is responsible for:
- kernel lifecycle management
- notebook execution coordination
- per-cell client lifecycle
- plugin handler supervision
- protocol events and transport metadata for the editor side
Jusi is designed as part of a two-component system:
jusivimeditor plugin- Jusi backend
The backend may run locally or remotely depending on the selected session target.
Entrypoints
Primary editor-facing entrypoint:
- backend root process:
python -m jusi
Internal/support entrypoints used by the backend and jusivim:
- native terminal attach:
python -m jusi client-process terminal-attach - plugin runtime starter:
python -m jusi plugin-runtime - transcript runtime entrypoint:
python -m jusi client-runtime
Normal usage is through jusivim, which starts and talks to the backend over the Jusi protocol.
Protocol Features
The backend protocol supports:
- session start and attach
- cell execution
- interrupt and input reply
- disconnect and reconnect
- client inspection and shutdown
- structured handler messaging for plugin follow-up and completion
- native terminal transport advertisement for interactive handlers
Session metadata may also include:
plugin_specs- editor-facing presentation defaults keyed by magic name
palette- editor-facing plugin creation metadata keyed by magic name
Cell metadata may include:
presentation- authoritative post-handoff presentation metadata for an executed cell
runtime_mode- backend-owned runtime mode such as
transcriptorhandler
- backend-owned runtime mode such as
Repository Layout
src/jusi/domain/- core models and policies
src/jusi/application/- use cases and service interfaces
src/jusi/infrastructure/- Jupyter/runtime integration and process management
src/jusi/interfaces/- protocol parsing and server entrypoints
src/jusi_vd/- bundled first-party
%%vdplugin
- bundled first-party
docs/- protocol and architecture reference
tests/- backend test suite
Documentation
Contributing
Development workflow and contributor notes live in CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jusi-0.1.0.tar.gz.
File metadata
- Download URL: jusi-0.1.0.tar.gz
- Upload date:
- Size: 101.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
014dcda6a62ee98f2002377ecadb6a8e5a6e77fd541a4e42c8ec027485ac91ec
|
|
| MD5 |
38d862f36bb03f5eb6f2c86755823db1
|
|
| BLAKE2b-256 |
ade66d85d3c626ded43419e3bc9ca0af66128324e0f5a1e21d9900149008af21
|
File details
Details for the file jusi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jusi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 71.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b22ee18d5c83984aa5f3b6808b81252915c13770bfb29dc0f41ca6a46738c475
|
|
| MD5 |
3644e9ed65c76138e3702a52bee7a442
|
|
| BLAKE2b-256 |
bc8334d14597334e452ed906f07e7a5a4ad17012be06b1c9921d716bc7d1333a
|