Real-time type inference in <100ms

The Invisible Bridgebetween Python and TypeScript

Get the tRPC experience without abandoning Python. Edit your Pydantic model, save, and TypeScript types update instantly.

<50ms
Parse time
0
Build steps
100%
Type safe
terminal
$ polyrpc watch
⚑ PolyRPC Sentinel
πŸ‘ Watching backend β†’ frontend/src/polyrpc.d.ts
β†’ Watching for changes...
⚑ backend/models.py
βœ“ Types updated in 47ms

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]
Save file→PolyRPC parses in<50ms→Types ready!

How It Works

A Rust-powered pipeline that feels like magic.

1

Write Python

Define your Pydantic models and FastAPI routes as usual.

2

Rust Parses

The Sentinel watches files and parses Python AST using tree-sitter.

3

Types Generated

TypeScript definitions are written to your frontend in <50ms.

4

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 instantly

How Does It Compare?

PolyRPC fills the gap that no other tool addresses.

FeatureManualOpenAPItRPCPolyRPC
Backend LanguageAnyAnyTypeScript OnlyPython
Update SpeedManualSlow (~5s)InstantInstant (<50ms)
WorkflowCopy-pasteBuild stepImplicitImplicit
Type SafetyError-proneGeneratedFullFull
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

Ready to get started?

Start Building with PolyRPC

Get up and running in under 5 minutes. No complex setup required.

$npm install -g polyrpc