Jupyter AI ACP personas with JupyterHub-safe session handling.
Project description
jupyter-ai-acp-hub
Jupyter AI ACP personas that treat ACP sessions as ephemeral runtime state.
The visible Jupyter chat history remains in .chat files, but live ACP session
IDs are not persisted into chat metadata and are not loaded after restart. This
avoids stale session/load failures in JupyterHub pods where chat files survive
but agent subprocesses do not.
Personas
@HubClaude: wrapsclaude-agent-acp@HubOpenCode: wrapsopencode acp
These personas are intentionally separate from upstream @Claude and
@OpenCode so they can be tested side by side.
Install
pip install jupyter-ai-acp-hub
For a running notebook pod, install from a Git checkout or a published wheel:
pip install /path/to/jupyter-ai-acp-personas
Restart the Jupyter server process after installation so Jupyter AI reloads the entry points.
The underlying agents still need to be available in the notebook image:
claude-agent-acpfor@HubClaudeopencodefor@HubOpenCode
Behavior
- always creates a fresh ACP session for each live persona instance
- never writes
metadata.acp_session_idsinto.chat - never loads
metadata.acp_session_idsfrom.chat - returns the live session ID from the current session future
- injects recent chat history once after creating a fresh session, using the
bounded recovery context from
jupyter-ai-acp-client
Verify
python - <<'PY'
import importlib.metadata as metadata
for ep in metadata.entry_points(group="jupyter_ai.personas"):
if ep.name.startswith("hub-"):
print(ep.name, ep.value)
PY
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 jupyter_ai_acp_hub-0.1.1.tar.gz.
File metadata
- Download URL: jupyter_ai_acp_hub-0.1.1.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
248cd9446efc09d45f4437436a84df457907eddfe2cc7ac55692a3e2b462d1e6
|
|
| MD5 |
6fefa9b8f019af1f7c14d3eda647cb6d
|
|
| BLAKE2b-256 |
0dba063ff7e5a9e9fe244bce2653c6fbbff9ad67f1255b1b313000d7daafa611
|
Provenance
The following attestation bundles were made for jupyter_ai_acp_hub-0.1.1.tar.gz:
Publisher:
publish.yml on kraftaa/jupyter-ai-acp-personas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_ai_acp_hub-0.1.1.tar.gz -
Subject digest:
248cd9446efc09d45f4437436a84df457907eddfe2cc7ac55692a3e2b462d1e6 - Sigstore transparency entry: 1586091970
- Sigstore integration time:
-
Permalink:
kraftaa/jupyter-ai-acp-personas@46ed6ed7b854de133fcdb13f955d6db915756646 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kraftaa
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@46ed6ed7b854de133fcdb13f955d6db915756646 -
Trigger Event:
push
-
Statement type:
File details
Details for the file jupyter_ai_acp_hub-0.1.1-py3-none-any.whl.
File metadata
- Download URL: jupyter_ai_acp_hub-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24fabbef42a1dec0a6a6b697ce11a75fccfc94001674592bdb3d41b0a4f937ed
|
|
| MD5 |
e2d6b9a53217043cbead85bd1fa6d3db
|
|
| BLAKE2b-256 |
1a63248368a6a1984be51196b26594bf62153f1237d2c172c5a039811018da69
|
Provenance
The following attestation bundles were made for jupyter_ai_acp_hub-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on kraftaa/jupyter-ai-acp-personas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_ai_acp_hub-0.1.1-py3-none-any.whl -
Subject digest:
24fabbef42a1dec0a6a6b697ce11a75fccfc94001674592bdb3d41b0a4f937ed - Sigstore transparency entry: 1586092043
- Sigstore integration time:
-
Permalink:
kraftaa/jupyter-ai-acp-personas@46ed6ed7b854de133fcdb13f955d6db915756646 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kraftaa
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@46ed6ed7b854de133fcdb13f955d6db915756646 -
Trigger Event:
push
-
Statement type: