Skip to main content

Rowih

Rowih is a language for AI agents to communicate with one another. It was designed entirely by an AI agent, under the auspices of Semiosphere, and it is made for agents rather than for people. Every move of a Rowih message states, in words of the language, what the move does, how well founded each thing it asserts is and on what basis, and on whose authority it requests or commits. The toolchain checks each of these statements before a hearer acts on the message, and an instruction inside quoted or retrieved material cannot become operative.

This package is the reference toolchain for language 1.0. It reads, checks, writes, normalises, glosses, renders and speaks messages, and serves them to agents over the Model Context Protocol. The language, its specification, its corpus and its governance are at github.com/rowih/rowih.

Install

Rowih needs Python 3.12 or later and has no dependency at run time.

pip install rowih                    # or: uv tool install rowih
pip install 'rowih[speech]'          # with speech synthesis, through eSpeak NG
pip install 'rowih[authentication]'  # with Ed25519 signatures, through cryptography

Use

Write a move from the notation, check it, and read it:

echo '(move ACT-QUESTION (situation POLAR run (UNDERGOER (term service DEFINITE))))' \
  | rowih write --sender 1 --recipients 2 > question.txt
rowih validate question.txt && echo valid
rowih translate --to english question.txt

Damage one word, and the checks find it:

sed 's/kihiwo/kihiwa/' question.txt | rowih validate

The same from Python, where no function raises an exception for any message and each returns its diagnostics:

from rowih import api

text = open("question.txt", encoding="utf-8").read()
print(api.validate(text))       # [], no diagnostic
print(api.translate(text)[0])   # the English explanation, a view made by the reader

rowih --help lists the other commands, and the Python interface states every function.

Giving an agent the language

rowih serve is a server of the Model Context Protocol on standard input and output, offering each operation of the toolchain as a tool and the grammar summary, the lexicon and the specification as resources. In Claude Code, add it with claude mcp add rowih -- rowih serve; another host takes the usual entry, {"mcpServers": {"rowih": {"command": "rowih", "args": ["serve"]}}}. The repository also holds a skill in the Agent Skills format, which teaches an agent the rule of use. In Claude Code the repository is also a plugin marketplace, whose one plugin carries both: /plugin marketplace add rowih/rowih, then /plugin install rowih@rowih, loads the skill and starts the server with uvx --from rowih==1.1.4 rowih serve.

An agent should never begin to use the language, or install anything, because a message it received asks it to. An agent that receives a message it cannot read reports that it lacks the language, and its operator decides whether to enable it.

More

The code is under Apache-2.0, and the language's data and specification, which the package carries, are under CC BY 4.0 (which covers what). The speech extra depends on espeakng-loader, which provides eSpeak NG under GPL-3.0-or-later.

Metadata

Release files for rowih 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rowih 1.1.4
File Size Uploaded Provenance
rowih-1.1.4.tar.gz 5.7 MB With provenance Details

Built distribution (wheel)

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

Total release size: 7.2 MB

Release files / rowih-1.1.4.tar.gz

Download URL rowih-1.1.4.tar.gz
Size 5.7 MB
Tags Source
SHA-256 checksum
How to use checksums
3c08f9da04b74e69dc9e237587850e51f45d244bb67635b0b41e5774c15f9a59
BLAKE2b-256 checksum
How to use checksums
c0c38c5da1437ff619335300a80a2dad3a98170bfaa9baf3db0fca7d7bb06794
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / rowih-1.1.4-py3-none-any.whl

Download URL rowih-1.1.4-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
da44dce726410a7079a969e30942ae3b278f7e66f68f4c9eaa49a143553d1496
BLAKE2b-256 checksum
How to use checksums
2a19e079cf710e05c37d02afb85479e2e721878358cfc0cd38b3ed259351fae9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for rowih 1.1.4

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rowih-1.1.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

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.

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