twitchtv/twirp

A simple RPC framework with protobuf service definitions

View on GitHub ↗Jump to charts ↓Open shareable report →

twitchtv/twirp has 7.5k+ stars and 300+ forks on GitHub, is written in Go, and was last pushed on Oct 8, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 6th, 2026
Created on January 16th, 2018
Open Issues & Pull Requests: 13 (+0)
GitHub issues: Enabled
Number of forks: 328
Total Stargazers: 7,526 (+0)
Total Subscribers: 99 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 16.0 hours
Mean response time: 166.7 days
90th percentile: 796.3 days
Tracked items: 6

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,389 days
Stale 30+ days: 7
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • pending (3)
  • feature request (2)
  • proposal (2)
  • help wanted (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Twirp is a simple RPC framework with protobuf service definitions that generates routing and serialization code from API definition files.

The framework solves the problem of boilerplate in service-to-service communication by letting developers define APIs in protobuf and automatically generating routing, serialization, and client code. Rather than manually managing HTTP methods, paths, and JSON encoding, developers write their business logic while Twirp handles the transport layer. It includes a smart framework for error message passing and autogenerated clients for multiple languages.

Twirp suits teams building microservices in Go who want RPC-style communication without the complexity of alternative frameworks. Unlike gRPC, it runs on the standard library's net/http Server without requiring custom HTTP implementations, supports HTTP 1.1 in addition to HTTP/2, and offers JSON serialization alongside protobuf for easier debugging and development. This makes it particularly valuable when you need broad HTTP compatibility or when you want to avoid gRPC's operational overhead. The framework is minimal by design, prioritizing simplicity over feature breadth.

The project maintains active development with regular commits addressing bug fixes and feature requests. Pull requests receive timely review and feedback from maintainers. The codebase shows consistent attention to code quality and testing practices. Documentation is comprehensive and kept current alongside code changes. The project demonstrates responsiveness to community issues and maintains backward compatibility across releases.