Metadata-Version: 2.4
Name: humanrpc
Version: 0.1.1
Summary: Human-powered typed RPC endpoints for building systems before the real implementation exists.
Author: cvaz1306
Author-email: christophervaz160@gmail.com
Requires-Python: >=3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: fastapi (>=0.136.3,<0.137.0)
Requires-Dist: httpx (>=0.28.1,<0.29.0)
Requires-Dist: pydantic (>=2.13.4,<3.0.0)
Requires-Dist: rich (>=15.0.0,<16.0.0)
Requires-Dist: typer (>=0.26.6,<0.27.0)
Requires-Dist: uvicorn (>=0.48.0,<0.49.0)
Requires-Dist: websockets (>=16.0,<17.0)
Description-Content-Type: text/markdown

# HumanRPC

HumanRPC is a human-powered RPC server for developing distributed systems before the real implementation exists.

Instead of calling an AI agent, microservice, planner, or capability, your application calls a typed endpoint. A human operator receives the request in a web UI, provides a response, and HumanRPC returns the result to the caller.

The goal is to enable rapid development of orchestration, routing, scheduling, memory, and workflow systems without waiting for every component to be implemented.

## Features

* Pydantic-first API
* Typed request and response models
* Async and sync clients
* Human-powered endpoint implementations
* Exception simulation
* Timeout simulation
* Web UI for handling requests
* No external infrastructure required

## Example

```python
from humanrpc import Client

client = Client()

agent = client.endpoint(
    name="agent",
    input_model=ChatRequest,
    response_model=ChatResponse,
    exceptions=[
        ValueError,
        HTTPException,
    ],
)

result = await agent.aask(
    ChatRequest(...)
)
```

## Status

Early development.


