The Invisible Bridgebetween Python and TypeScript
Get the tRPC experience without abandoning Python. Edit your Pydantic model, save, and TypeScript types update instantly.
Why PolyRPC?
Built for developers who love Python but need TypeScript on the frontend.
Blazing Fast
Rust-powered parsing completes in <50ms. Your types update before you can blink.
Real-time Updates
File watcher detects changes instantly. No manual commands or build steps needed.
100% Type Safe
Full TypeScript inference from your Python models. Catch errors at compile time.
Python First
Keep your FastAPI/Pydantic backend. No need to rewrite in TypeScript.
Zero Config
Works out of the box. Just run polyrpc init and start coding.
DX Focused
tRPC-like API with useQuery and useMutation hooks. Feels like magic.
See the Magic in Action
Write Python, get TypeScript. No manual work required.
from pydantic import BaseModel
from typing import Optional
class User(BaseModel):
id: int
name: str
email: str
is_premium: bool = False
avatar_url: Optional[str] = None
@app.get("/users/{user_id}")
async def get_user(user_id: int) -> User:
return users_db[user_id]How It Works
A Rust-powered pipeline that feels like magic.
Write Python
Define your Pydantic models and FastAPI routes as usual.
Rust Parses
The Sentinel watches files and parses Python AST using tree-sitter.
Types Generated
TypeScript definitions are written to your frontend in <50ms.
Autocomplete Works
VS Code immediately shows the new types. Full IntelliSense!
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Python Files ββββββΆβ Rust Sentinel ββββββΆβ TypeScript β
β (Pydantic) β β (tree-sitter) β β Definitions β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β β β
You save file <50ms parse VS Code sees
(Ctrl+S) No Python runtime new types instantlyHow Does It Compare?
PolyRPC fills the gap that no other tool addresses.
| Feature | Manual | OpenAPI | tRPC | PolyRPC |
|---|---|---|---|---|
| Backend Language | Any | Any | TypeScript Only | Python |
| Update Speed | Manual | Slow (~5s) | Instant | Instant (<50ms) |
| Workflow | Copy-paste | Build step | Implicit | Implicit |
| Type Safety | Error-prone | Generated | Full | Full |
| DX | π’ | π | π€© | π€© |
tRPC is amazing β but it requires a TypeScript backend.
PolyRPC brings the same magic to Python developers.
Loved by Developers
Join the growing community of Python + TypeScript developers.
"PolyRPC is exactly what I needed. I can keep my FastAPI backend and still get the tRPC-like experience on the frontend."
AI Engineer
Building with Python + React
"The <50ms type updates are insane. It feels like the types are already there before I even switch tabs."
Full Stack Developer
FastAPI + Next.js
"Finally, I don't have to manually sync my Pydantic models with TypeScript interfaces. This saves hours every week."
Backend Developer
Python enthusiast
Start Building with PolyRPC
Get up and running in under 5 minutes. No complex setup required.