Padwan Proxy
Serve the Anthropic Messages API (/v1/messages + count_tokens) on top of any OpenAI-compatible backend, so Anthropic clients such as Claude Code can use it. Built on padwan-ai's Anthropic↔OpenAI translation layer, served by granian via gravier.
export PADWAN_API_KEY=<YOUR_BACKEND_KEY>
uvx padwan-proxy --backend-url https://api.example.com/v1/ \
-m my-model --small-model my-small-model \
--claude-config ~/.claude-mybackend
CLAUDE_CONFIG_DIR=~/.claude-mybackend claude
Or without writing a config: ANTHROPIC_BASE_URL=http://127.0.0.1:4000 ANTHROPIC_AUTH_TOKEN=dummy claude.
Or save the flags as a profile in ~/.config/padwan-proxy/profiles.toml (flags passed on the command line win):
[mybackend]
backend_url = "https://api.example.com/v1/"
model = "my-model"
small_model = "my-small-model"
claude_config = "~/.claude-mybackend"
uvx padwan-proxy --profile mybackend
Or with Docker, mounting the config dir at the same path so --claude-config writes it on the host:
mkdir -p ~/.claude-mybackend
docker run -d --rm --name padwan-proxy -p 127.0.0.1:4000:4000 \
--user "$(id -u):$(id -g)" -e PADWAN_API_KEY \
-v ~/.claude-mybackend:$HOME/.claude-mybackend \
ghcr.io/polarsen-io/padwan-proxy:latest \
--backend-url https://api.example.com/v1/ -m my-model --small-model my-small-model \
--claude-config $HOME/.claude-mybackend
CLAUDE_CONFIG_DIR=~/.claude-mybackend claude
With a profile:
docker run -d --rm --name padwan-proxy -p 127.0.0.1:4000:4000 \
--user "$(id -u):$(id -g)" -e PADWAN_API_KEY -e HOME \
-v ~/.config/padwan-proxy:$HOME/.config/padwan-proxy:ro \
-v ~/.claude-mybackend:$HOME/.claude-mybackend \
ghcr.io/polarsen-io/padwan-proxy:latest --profile mybackend
A compose.yaml does the same from a .env; see the Docker docs.
Documentation: https://polarsen-io.github.io/padwan-proxy — routing, Docker
(ghcr.io/polarsen-io/padwan-proxy), tracing, tool approvals, and the full option reference.
Development
uv sync --group dev
just ci # lint + type check + tests
just docs # serve the docs locally
Metadata
Release files for padwan-proxy 0.1.0
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 | |
|---|---|---|---|---|
| padwan_proxy-0.1.0.tar.gz | 27.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| padwan_proxy-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.2 kB
Release files / padwan_proxy-0.1.0.tar.gz
| Download URL | padwan_proxy-0.1.0.tar.gz |
|---|---|
| Size | 27.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36c56405df511a35ce005d9c429a65ffbe1807b1004147016f66f9b3a109ac0c
|
|
BLAKE2b-256 checksum How to use checksums |
c47679e1ac31b6ad762145f0543b66bb116a4e1a9e851eb6c1a0de5b834bd11c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / padwan_proxy-0.1.0-py3-none-any.whl
| Download URL | padwan_proxy-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6f73373a09dae97211b142d325db0feb8fe321286704194a343cdce00db962a
|
|
BLAKE2b-256 checksum How to use checksums |
04e9d8d4ac89b24d9ba5b0f0c87f079e10362c46913d10e2cb35c088d6950d1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for padwan-proxy 0.1.0
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.