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.7

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.7
File Size Uploaded
jupywire-0.1.7.tar.gz 24.7 kB Details

Built distribution (wheel)

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

Total release size: 44.0 kB

Release files / jupywire-0.1.7.tar.gz

Download URL jupywire-0.1.7.tar.gz
Size 24.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ac334c42e381fe0e1ecc72a2c8a904bdccb67aac87a724c921b2e12246453200
BLAKE2b-256 checksum
How to use checksums
0895d5534d4dd93b72a204ee08928786f1e059fdabd3a3d7b89b8397b86ceb1f
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.7-py3-none-any.whl

Download URL jupywire-0.1.7-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ad79a1aa6104839ddac077a7f0f1a66bbdbe41518b7f007662042a47c297a31
BLAKE2b-256 checksum
How to use checksums
8d24dba7f704343f374ff6b9df9b33cf2470cfd77905296c700e546560dceb28
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

0.1.8

2 release files

This release

0.1.7 This release

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