Archway
archway is the lightweight command-line client for an Archway service.
It contains no translation engine, analysis engine, or server implementation.
Installation
Install the command into an isolated environment:
pipx install archway
Configuration
Set the service URL and personal bearer token:
export ARCHWAY_URL="https://your-archway-service.example.com"
export ARCHWAY_TOKEN="<personal token>"
The health check does not require a token:
archway health
Discover the installed client's current commands and agent guidance:
archway --help
archway agent-guide
archway capabilities --format json
Translate one Python file:
archway translate example.py
Specify its dotted module name and write the IR response to a file:
archway translate src/example.py \
--module-name package.example \
--output example.ir.json
MCP server
Run a local stdio MCP adapter for agent hosts:
archway mcp serve
The MCP host launches this command as a child process. It exposes capability discovery, service health, and Python translation tools backed by the same configured Archway Engine Service as the CLI. It does not listen on a port or contain the engine itself.
The host must provide ARCHWAY_URL and ARCHWAY_TOKEN to the process. Do not put the
token in command arguments or commit it in a host configuration file.
Command output is JSON. Errors are written to standard error and do not include the configured bearer token.
The installed client also provides an offline reference for the exact portable categorical IR revision it supports:
archway ir schema --output portable-ir.schema.json
archway ir guide
archway ir definitions wire_expr
archway ir operations python.call
archway ir search "merge class"
These reference commands do not require ARCHWAY_URL or ARCHWAY_TOKEN.
The bundled revision-9 contract lowers f-string replacement fields to the
builtin conversion and formatting operations; historical revisions require a
historical pinned client and service.
What's new in 0.11.0
Portable categorical IR revision 9 is the sole current contract. An f-string
replacement field is python.convert_value (only when !s, !r or !a is
written) followed by python.format_value, which takes the value and its
format spec as inputs. A dynamic spec such as {x:>{width}} is no longer
lowered as calls to the program's global format, repr, str and ascii,
so rebinding those names no longer changes an f-string's result. Revision 9
retains revision 8's class-scope declarations and revision 7's effectful
Python protocol operations.
archway translate example.py
Specify its dotted module name and write the IR response to a file:
archway translate src/example.py \
--module-name package.example \
--output example.ir.json
MCP server
Run a local stdio MCP adapter for agent hosts:
archway mcp serve
The MCP host launches this command as a child process. It exposes capability discovery, service health, and Python translation tools backed by the same configured Archway Engine Service as the CLI. It does not listen on a port or contain the engine itself.
The host must provide ARCHWAY_URL and ARCHWAY_TOKEN to the process. Do not put the
token in command arguments or commit it in a host configuration file.
Command output is JSON. Errors are written to standard error and do not include the configured bearer token.
The installed client also provides an offline reference for the exact portable categorical IR revision it supports:
archway ir schema --output portable-ir.schema.json
archway ir guide
archway ir definitions wire_expr
archway ir operations python.call
archway ir search "merge class"
These reference commands do not require ARCHWAY_URL or ARCHWAY_TOKEN.
The bundled revision-8 contract distinguishes class-body lexical captures
from names explicitly declared global; historical revisions require a
historical pinned client and service.
What's new in 0.10.0
Portable categorical IR revision 8 is the sole current contract. It makes
Python class-scope declarations explicit by distinguishing lexical captures
from names declared global. It retains revision 7's effectful Python
protocol operations, faithful exception-handler dispatch, completion-flow
correlations, and corrected augmented-assignment and ordered call-argument
translation semantics.
archway translate example.py
archway ir guide
Use --ir-format python-serde only for a consumer that still requires the
legacy Python-specific serialization.
Revisions 3 through 7 are not supported by this release. Historical consumers must use an Archway release pinned to the historical contract they require.
Release files for archway 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| archway-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / archway-0.11.0-py3-none-any.whl
| Download URL | archway-0.11.0-py3-none-any.whl |
|---|---|
| Size | 31.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6324965ec5ed62c82f370d3ae42b2498b0fef75f54a12a7001575e353c34d81f
|
|
BLAKE2b-256 checksum How to use checksums |
4ba711e5844d09e8b56f7e07db0e494409a3a9dbb0c9f94e92876f1859d2da78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 25, 2026.
Transparency log