nats-io/nats.rs

Rust client for NATS, the cloud native messaging system.

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

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

nats-io/nats.rs has 1.5k+ stars and 250+ forks on GitHub, is written in Rust, and was last pushed on Oct 9, 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 15th, 2026
Created on February 24th, 2020
Open Issues & Pull Requests: 102 (+0)
GitHub issues: Enabled
Number of forks: 288
Total Stargazers: 1,552 (+0)
Total Subscribers: 17 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 31.5 hours
Mean response time: 42.1 days
90th percentile: 20.9 days
Tracked items: 100

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

How this project is maintained

Roughly one issue in three opened in the past year never receives a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 44% of issues opened in the past year have been closed. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 42
New in 7 days: 4
Closed in 7 days: 0
Avg open age: 390 days
Stale 30+ days: 27
Stale 90+ days: 25

Recent activity

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

Top labels

  • defect (59)
  • proposal (28)
  • enhancement (9)
  • good first issue (4)
  • accepted (3)
  • bug (3)
  • nats.rs (3)
  • help wanted (2)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

nats.rs is a Rust client library for NATS, the cloud native messaging system.

The library addresses the need for a messaging client that leverages Rust's type system and language features to catch errors at compile time rather than runtime. The async-nats client uses Tokio for asynchronous operations and supports Core NATS, JetStream API, JetStream Management API, Key Value Store, Object Store, and Service API. The design philosophy moves runtime checks into the compiler—particularly for connection options—and treats iterators as first-class citizens since they are fundamental to Rust, resulting in multiple iterator styles for subscriptions.

Developers should choose this client if they are building Rust applications that need to integrate with NATS infrastructure. It suits microservices, distributed systems, and embedded or IoT environments where Rust's performance and safety guarantees are valuable. The project maintains API parity with official NATS clients in other languages, ensuring consistency across polyglot deployments. The async-nats crate remains on 0.x.x versioning despite API stability, reflecting the ongoing evolution of the async Rust ecosystem and dependencies like rustls. For higher-level, opinionated abstractions, the separate Orbit project provides additional utilities without burdening the core client with experimental features.

The project maintains a deliberate separation between the core client and higher-level utilities, keeping the core lightweight and conservative in versioning while allowing Orbit to iterate rapidly on language-specific idioms. Development activity shows sustained work on both the async client and management of feature flags, including configurable datetime backends to handle ecosystem fragmentation between time and chrono libraries. The maintainers document feature flags in Cargo.toml and address the practical problem of transitive dependency feature unification, which can cause unexpected type mismatches across dependency graphs.