herethere
Run Python interactively inside live apps and devices.
herethere starts a small SSH-backed server inside a Python process, then lets you connect from the there CLI, another Python session, or a Jupyter notebook to inspect, modify, and interact with the namespace of that running process.
It was created for workflows where Python is running inside an app, device, or environment that is awkward to interact with directly. The same idea is useful for Raspberry Pi and robotics projects, Kivy/mobile apps, containers, long-running experiments, server-side apps, and other cases where logs or a separate remote shell are not enough.
herethere is based on the AsyncSSH library. AsyncSSH provides the SSH toolkit; herethere adds a small Python, CLI, and Jupyter workflow layer on top.
- Code repository:
- Documentation:
Features
Execute Python snippets inside the namespace of a live target process.
Connect using the there CLI, Python code, or Jupyter notebooks with %connect-there and %%there.
Retrieve values, view logs, run shell commands, and transfer files.
Produce structured JSON output for scripts and coding agents.
Use SSH authentication and encrypted transport through AsyncSSH.
Generate reviewable notebook cells from natural-language requests with %%there ai.
Installation
Install herethere in the Python environment that will start the server:
pip install herethere
If you want to connect from Jupyter using the IPython magics, install the magic extra in the notebook/client environment:
pip install "herethere[magic]"
Quickstart
Target process
Start herethere inside the Python process you want to interact with.
from herethere.here import ServerConfig, start_server
state = {"speed": 1}
await start_server(ServerConfig.load(prefix="here"), namespace=globals())
Terminal client
Run code or retrieve a value from the target process:
there run --code "state['speed'] = 3"
there get "state"
Use structured output for scripts and coding agents:
there --json get "state"
Jupyter notebook / client
Connect from your local Jupyter notebook:
%load_ext herethere.magic
%connect-there
Use the %%there cell magic to inspect variables, call functions, or update state while the target process keeps running:
%%there
print(state)
state["speed"] = 3
print(state)
Agent skill
herethere bundles an agent skill for using the there CLI. Install it for your project with Library Skills:
uvx library-skills
Trust model
A connected client can execute Python code inside the target process. Treat access to herethere like access to a Python REPL running inside your app.
Use it only for development workflows where you control both sides of the connection. Do not expose it publicly or give access to untrusted users.
Metadata
Release files for herethere 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| herethere-0.3.3.tar.gz | 66.8 kB | Without provenance | Details for herethere-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| herethere-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for herethere-0.3.3-py3-none-any.whl |
Total release size: 134.8 kB
Release files / herethere-0.3.3.tar.gz
| Download URL | herethere-0.3.3.tar.gz |
|---|---|
| Size | 66.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd5e75289a49cad5205eaaaa92ed755b311cc940d87e937ee68a13b5a0df91bc
|
|
BLAKE2b-256 checksum How to use checksums |
8cd5df9024a5d2a43298cbeb5a644a8a0c1db4c929d93194fb031038d32f9c17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Release files / herethere-0.3.3-py3-none-any.whl
| Download URL | herethere-0.3.3-py3-none-any.whl |
|---|---|
| Size | 68.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46037e0db517535882f9378961453758b55f15a57ae0de4a2646c741aac1ae00
|
|
BLAKE2b-256 checksum How to use checksums |
24fdabf0ad9ec2d35c159f60efef81f79c61f9cea3a1169c08c830f4875d2fd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Security for herethere 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.