turns
turns is the Moxi module that drives a coding agent's session. Other modules call it to
put input into a session (a new turn, a delivery held until the running turn ends, a
steer into the running turn, /clear and /exit) and to take session events out: the
session ready, a turn started or ended, the session gone. A holder can be asked at each
Stop before the turn ends, and a registered module can add context at a session's start
or at a prompt. Each session turns can reach has an endpoint with a Unix socket and a
ledger of the session's turns (a small process of its own for a Claude Code session, and
part of the process that called launch() for a Codex or OpenCode session), so whether a
session is idle and whether a delivered turn ran are read from the harness's own turn
events. Claude Code sessions are
reached through two Claude Code plugins that ship inside the package; Codex sessions run
under a host turns launches; OpenCode sessions run under an experimental host. turns is
a library with no command of its own. Its API is the moxi_turns package, and the wire
under it is described in contracts/socket-protocol.md.
Install
uv tool install moxi
moxi install turns
moxi install turns installs turns with moxi, runs its setup, and offers the codex
extra. The setup writes the Claude plugin's endpoint.json and installs both Claude Code
plugins at user scope with claude plugin, so it needs claude on PATH for that step. A
launcher can instead load the plugins for one launch with --plugin-dir, using
moxi_turns.claude_plugin_dirs().
Before turns is on PyPI
Install the core from git, then name turns' repo with --from:
uv tool install git+https://github.com/moxihq/moxi
moxi install turns --from 'moxi-turns @ git+https://github.com/moxihq/turns'
Requirements
- Linux and Python 3.11 or later.
moxi(0.1).- The
codexextra addswebsockets, which the Codex host needs; it also needscodexon PATH. - Claude Code sessions need Claude Code with the two plugins loaded; OpenCode sessions
need
opencodeon PATH or in~/.opencode/bin.
License
MIT. See LICENSE.
Metadata
Release files for moxi-turns 0.1.1
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 | |
|---|---|---|---|---|
| moxi_turns-0.1.1.tar.gz | 176.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moxi_turns-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 296.4 kB
Release files / moxi_turns-0.1.1.tar.gz
| Download URL | moxi_turns-0.1.1.tar.gz |
|---|---|
| Size | 176.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e538360e0676e155f758bf28b056c3b073db7d3806439a0d6827338d18517b39
|
|
BLAKE2b-256 checksum How to use checksums |
c1c193e58765fcdbc712050e5ed07b0f4822f8234128d60210f5b324c4104778
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / moxi_turns-0.1.1-py3-none-any.whl
| Download URL | moxi_turns-0.1.1-py3-none-any.whl |
|---|---|
| Size | 120.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c1174cc06a763780bb633f861b497c9007d03979f637e07a3092494c4d5fded2
|
|
BLAKE2b-256 checksum How to use checksums |
d24083059e157eb0d7dd05826e2819abf17638255ba8b4fdddf5b02ba8ed3ba9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for moxi-turns 0.1.1
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.