Skip to main content

jupywire

Minimal Jupyter protocol commons: wire-format sessions (message construction, HMAC signing, frame serialize/deserialize) and kernel-client call conventions, shared by kernmini, jupygate, jupyasyncclient, and conkernelclient.

What's here

  • jupywire.session: Session — Jupyter protocol messages: construction, HMAC signing, frame (de)serialization, replay protection — plus the websocket JSON/binary frame helpers (dumps/loads, serialize_binary_message/deserialize_binary_message) and validate_string_dict.
  • jupywire.connect: write_connection_file — kernel connection files with random free-port selection, written 0600.
  • jupywire.route: RouterOps and JmsgQueues — message handling for kernel clients. reply() awaits one execute_reply; run() sends at call time and returns an async generator of every message one execute causes (exec_outs is its listified, rendered form), and turns each on_stdin return value into the correctly parented input_reply (stdin is disabled when that hook is absent). Everything unmatched goes to the app's on_jmsg callback, with JmsgQueues as the pull adapter. A generic request sends any named protocol request, with shell/control sugar and the typed verbs (complete, inspect, check, history, comm_msg) on top. The transport supplies execute, send, a session, and a read loop feeding route. DESIGN.md states the full contract; tests/test_route.py is the conformance suite both clients inherit.
  • jupywire.ops: EvalOps — a mixin giving any kernel client the calling conventions (eval, ipy, the ipyfuncs service methods, retr, eval_expr/user_exprs, and the sync fire-and-forget xpush/xenv) over two abstract methods supplied by the transport: reply, which awaits the shell reply, and execute, which sends without awaiting one.

Install

pip install jupywire

Credits

jupywire.session and jupywire.connect are adapted from jupyter_client (jupyter_client.session, jupyter_client.connect, jupyter_client.client), Copyright (c) Jupyter Development Team, distributed under the terms of the Modified BSD License (BSD-3-Clause); see that project's COPYING.md.

The adaptations are trimmed, traitlets-free mirrors that stay wire-compatible. Divergences are noted in each module's docstring.

Release files for jupywire 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupywire 0.1.8
File Size Uploaded
jupywire-0.1.8.tar.gz 24.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupywire 0.1.8
File Interpreter ABI Platform
jupywire-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 43.5 kB

Release files / jupywire-0.1.8.tar.gz

Download URL jupywire-0.1.8.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
eef7445276bdf79d5268d77425c27792395dfe517de385e3c0c5a4407b8a4852
BLAKE2b-256 checksum
How to use checksums
21bb30abc755d41a632d7588cc38296d20f4b69900a84a6bb39023460eba245e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / jupywire-0.1.8-py3-none-any.whl

Download URL jupywire-0.1.8-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3361c88c44ccd4cadac9c417d9da9c01b7e2affa32633fc4c72ccfbaf44540f3
BLAKE2b-256 checksum
How to use checksums
3b2b554e6ba8845329bd0b6ddce8ebd152e416f42de0409a068e974cc6b411e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page