Skip to main content
Latest version on PyPI Supported Python versions CI Status Code coverage status

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:

https://github.com/b3b/herethere

Documentation:

https://herethere.me/library

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.

Download files

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

Source Distribution

herethere-0.3.0.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

herethere-0.3.0-py3-none-any.whl (61.7 kB view details)

Uploaded Python 3

File details

Details for the file herethere-0.3.0.tar.gz.

File metadata

  • Download URL: herethere-0.3.0.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.20

File hashes

Hashes for herethere-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c6365c82541d4be8b74f8b2ac916a4d0632531ebfb4fa0d7c3698257e63410f9
MD5 e22603dbb5e05daf677050bf65d9b2da
BLAKE2b-256 75306c46f62ebea0a4155d15b3917ed842181bdff125146c9e778aff19571945

See more details on using hashes here.

File details

Details for the file herethere-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: herethere-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 61.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.20

File hashes

Hashes for herethere-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91d5e08b560a2eed5335703e4aa2d2e13063891b2fce5f18ee1be7a53d7ae7eb
MD5 3cbd90239b8f94191dc1ed6c3165023f
BLAKE2b-256 c6d866691ff5907a2929a9baf15d08240753b4bad94f4f48c4bcbccbe79162e7

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.2

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 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