Skip to content

specta-rs/rspc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a73c84 · Jan 28, 2025
Dec 18, 2024
Jan 28, 2025
Jan 28, 2025
Jan 28, 2025
Dec 17, 2024
Jan 28, 2025
Dec 6, 2024
Jan 28, 2025
Jun 23, 2022
Dec 18, 2024
Nov 20, 2024
Nov 20, 2024
Dec 20, 2024
Dec 20, 2024
Jan 28, 2025
Nov 20, 2024

Repository files navigation

Logo

rspc

A blazing fast and easy to use TRPC-like server for Rust.

Website



Example

You define a rspc router and attach procedures to it like below. This will be very familiar if you have used trpc or GraphQL before.

let router = <rspc::Router>::new()
    .query("version", |t| {
        t(|ctx, input: ()| "0.0.1")
    })
    .mutation("helloWorld", |t| {
        t(|ctx, input: ()| async { "Hello World!" })
    });

Features:

  • Per Request Context - Great for database connection & authentication data
  • Middleware - With support for context switching
  • Merging routers - Great for separating code between files

Inspiration

This project is based off trpc and was inspired by the bridge system Jamie Pine designed for Spacedrive. A huge thanks to everyone who helped inspire this project!