Skip to main content

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:

  • jusivim editor 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 transcript or handler

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 %%vd plugin
  • docs/
    • protocol and architecture reference
  • tests/
    • backend test suite

Documentation

Contributing

Development workflow and contributor notes live in CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jusi-0.1.0.tar.gz (101.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jusi-0.1.0-py3-none-any.whl (71.0 kB view details)

Uploaded Python 3

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

Hashes for jusi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 014dcda6a62ee98f2002377ecadb6a8e5a6e77fd541a4e42c8ec027485ac91ec
MD5 38d862f36bb03f5eb6f2c86755823db1
BLAKE2b-256 ade66d85d3c626ded43419e3bc9ca0af66128324e0f5a1e21d9900149008af21

See more details on using hashes here.

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

Hashes for jusi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b22ee18d5c83984aa5f3b6808b81252915c13770bfb29dc0f41ca6a46738c475
MD5 3644e9ed65c76138e3702a52bee7a442
BLAKE2b-256 bc8334d14597334e452ed906f07e7a5a4ad17012be06b1c9921d716bc7d1333a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page