Skip to main content

Reminix adapter for Anthropic - serve agents as REST APIs

Project description

reminix-anthropic

Reminix Runtime adapter for the Anthropic API. Serve Claude models as a REST API.

Ready to go live? Deploy to Reminix Cloud for zero-config hosting, or self-host on your own infrastructure.

Installation

pip install reminix-anthropic

This will also install reminix-runtime as a dependency.

Quick Start

from anthropic import AsyncAnthropic
from reminix_anthropic import serve_agent

client = AsyncAnthropic()
serve_agent(client, name="my-claude", model="claude-sonnet-4-20250514", port=8080)

For more flexibility (e.g., serving multiple agents), use wrap_agent and serve separately:

from anthropic import AsyncAnthropic
from reminix_anthropic import wrap_agent
from reminix_runtime import serve

client = AsyncAnthropic()
agent = wrap_agent(client, name="my-claude", model="claude-sonnet-4-20250514")
serve(agents=[agent], port=8080)

Your agent is now available at:

  • POST /agents/my-claude/invoke - Stateless invocation
  • POST /agents/my-claude/chat - Conversational chat

API Reference

serve_agent(client, name, model, max_tokens, port, host)

Wrap an Anthropic client and serve it immediately. Combines wrap_agent and serve for single-agent setups.

Parameter Type Default Description
client AsyncAnthropic required An Anthropic async client
name str "anthropic-agent" Name for the agent (used in URL path)
model str "claude-sonnet-4-20250514" Model to use
max_tokens int 4096 Maximum tokens in response
port int 8080 Port to serve on
host str "0.0.0.0" Host to bind to

wrap_agent(client, name, model, max_tokens)

Wrap an Anthropic client for use with Reminix Runtime. Use this with serve from reminix_runtime for multi-agent setups.

Parameter Type Default Description
client AsyncAnthropic required An Anthropic async client
name str "anthropic-agent" Name for the agent (used in URL path)
model str "claude-sonnet-4-20250514" Model to use
max_tokens int 4096 Maximum tokens in response

Returns: AnthropicAdapter - A Reminix adapter instance

System Messages

The adapter automatically handles Anthropic's system message format. System messages in your request are extracted and passed as the system parameter to the API.

# This works automatically:
request = {
    "messages": [
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello!"}
    ]
}

Endpoint Input/Output Formats

POST /agents/{name}/invoke

Stateless invocation for task-oriented operations.

Request:

{
  "input": {
    "prompt": "Summarize this text: ..."
  }
}

Or with messages:

{
  "input": {
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ]
  }
}

Response:

{
  "output": "Hello! How can I help you today?"
}

POST /agents/{name}/chat

Conversational chat with message history.

Request:

{
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "What is the capital of France?"}
  ]
}

Response:

{
  "output": "The capital of France is Paris.",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "What is the capital of France?"},
    {"role": "assistant", "content": "The capital of France is Paris."}
  ]
}

Runtime Documentation

For information about the server, endpoints, request/response formats, and more, see the reminix-runtime package.

Deployment

Ready to go live?

Links

License

Apache-2.0

Project details


Download files

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

Source Distribution

reminix_anthropic-0.0.6.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

reminix_anthropic-0.0.6-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file reminix_anthropic-0.0.6.tar.gz.

File metadata

  • Download URL: reminix_anthropic-0.0.6.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}

File hashes

Hashes for reminix_anthropic-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e023a21911c64ce5b873992230df73d908319f6e39a0a5b483ff9991c0881bf1
MD5 73e08445d9497a9e9b6e37b57161f2ab
BLAKE2b-256 e46ef0d6b3a4e416f7b90df7bd48da253c67ebb984211d9c820ab005b061ff95

See more details on using hashes here.

File details

Details for the file reminix_anthropic-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: reminix_anthropic-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}

File hashes

Hashes for reminix_anthropic-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f1ce8c770f07a3384e20c478f2d4be6eb64febfea34afafa82670e5a440d5371
MD5 fe9f853845a775e0f8830e519b3a2a46
BLAKE2b-256 b5b5c37d705cedffac41a47372b3eb281f89207cb31a61abe3aa7274ca5dbf1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page