NVIDIA-NeMo/SwitchyardPublic

Switchyard lets LLM applications route traffic across models and providers while preserving native OpenAI and Anthropic API compatibility - enabling flexible model selection, benchmarking, and cost/performance optimization.

AI summary: A fast Rust proxy and routing library for transparently translating and directing LLM traffic.

Stars
3.4K
+20 today
Forks
343
Watchers
12
Open issues
55
Open PRs
117
Contributors
~64
Commits
619
Branches
184
Views (30d)
2

RustApache-2.0Created May 19, 2026Last push 1d agoLatest release v0.3.0+50 stars this week+242 this month

Quick answers

What is Switchyard?
A fast Rust proxy and routing library for transparently translating and directing LLM traffic.
What does Switchyard do?
Switchyard acts as an intelligent intermediary layer that routes and translates requests between various Large Language Model APIs, such as OpenAI and Anthropic formats. It allows applications, like coding agents or custom software, to communicate using their native protocol while seamlessly routing the traffic to entirely different backends like vLLM, Ollama, or NVIDIA NIM. Beyond simple translation, it provides sophisticated routing algorithms—including A/B benchmarking, signal-driven stage routing, and LLM-as-classifier routing—while actively recording operational metrics for performance monitoring. Built in Rust, it ensures minimal latency overhead whether run as a standalone server, embedded library, or command-line launcher.
Who is Switchyard for?
Switchyard is built for AI platform engineers, backend developers, and AI researchers who need to manage, route, and monitor traffic across multiple LLM providers. It is specifically useful for teams building complex AI applications that require interoperability between different API standards or need to abstract away the underlying inference engines. Users should be comfortable configuring proxy servers or writing Rust code.
How do I get started with Switchyard?
uv tool install --python 3.10 "nemo-switchyard[cli]"
How popular is Switchyard on GitHub?
NVIDIA-NeMo/Switchyard has 3,441 stars and 343 forks on GitHub, and gained 50 stars in the last 7 days.
What license does Switchyard use?
NVIDIA-NeMo/Switchyard is released under the Apache-2.0 license.

Star history

since Aug 13, 2026
01K2K3KAug 2026Sep 2026Sep 2026Oct 2026
3.4K stars as of Oct 24, 2026. Measured daily since Aug 13, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepOctMonWedFri2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 2 commits2026-06-30: 3 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 2 commits2026-07-07: 3 commits2026-07-08: 2 commits2026-07-09: 4 commits2026-07-10: 3 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 6 commits2026-07-15: 3 commits2026-07-16: 7 commits2026-07-17: 2 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 5 commits2026-07-21: 6 commits2026-07-22: 7 commits2026-07-23: 13 commits2026-07-24: 9 commits2026-07-25: 0 commits2026-07-26: 1 commit2026-07-27: 11 commits2026-07-28: 13 commits2026-07-29: 10 commits2026-07-30: 23 commits2026-07-31: 13 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 12 commits2026-08-04: 14 commits2026-08-05: 14 commits2026-08-06: 5 commits2026-08-07: 7 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 7 commits2026-08-11: 7 commits2026-08-12: 2 commits2026-08-13: 8 commits2026-08-14: 7 commits2026-08-15: 3 commits2026-08-16: 0 commits2026-08-17: 8 commits2026-08-18: 13 commits2026-08-19: 12 commits2026-08-20: 13 commits2026-08-21: 6 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 6 commits2026-08-25: 9 commits2026-08-26: 7 commits2026-08-27: 6 commits2026-08-28: 3 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 4 commits2026-09-01: 5 commits2026-09-02: 2 commits2026-09-03: 6 commits2026-09-04: 6 commits2026-09-05: 1 commit2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 2 commits2026-09-09: 9 commits2026-09-10: 15 commits2026-09-11: 4 commits2026-09-12: 1 commit2026-09-13: 0 commits2026-09-14: 10 commits2026-09-15: 19 commits2026-09-16: 12 commits2026-09-17: 32 commits2026-09-18: 19 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 6 commits2026-09-22: 9 commits2026-09-23: 13 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 1 commit2026-09-27: 2 commits2026-09-28: 3 commits2026-09-29: 4 commits2026-09-30: 4 commits2026-10-01: 9 commits2026-10-02: 5 commits2026-10-03: 0 commits2026-10-04: 0 commits2026-10-05: 7 commits2026-10-06: 6 commits2026-10-07: 3 commits2026-10-08: 2 commits2026-10-09: 1 commit2026-10-10: 0 commits2026-10-11: 1 commit2026-10-12: 5 commits2026-10-13: 7 commits2026-10-14: 2 commits2026-10-15: 15 commits2026-10-16: 14 commits2026-10-17: 0 commits2026-10-18: 0 commits2026-10-19: 9 commits2026-10-20: 6 commits2026-10-21: 5 commits2026-10-22: 7 commits2026-10-23: 8 commits2026-10-24: 1 commit
619 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    619 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

  • Repeat trending

    15 trending appearances

What Switchyard does

Switchyard acts as an intelligent intermediary layer that routes and translates requests between various Large Language Model APIs, such as OpenAI and Anthropic formats. It allows applications, like coding agents or custom software, to communicate using their native protocol while seamlessly routing the traffic to entirely different backends like vLLM, Ollama, or NVIDIA NIM. Beyond simple translation, it provides sophisticated routing algorithms—including A/B benchmarking, signal-driven stage routing, and LLM-as-classifier routing—while actively recording operational metrics for performance monitoring. Built in Rust, it ensures minimal latency overhead whether run as a standalone server, embedded library, or command-line launcher.

Switchyard is built for AI platform engineers, backend developers, and AI researchers who need to manage, route, and monitor traffic across multiple LLM providers. It is specifically useful for teams building complex AI applications that require interoperability between different API standards or need to abstract away the underlying inference engines. Users should be comfortable configuring proxy servers or writing Rust code.

  • Protocol Translation: seamlessly converts requests and responses between OpenAI Chat, Anthropic Messages, and OpenAI Responses formats.
  • Advanced Traffic Routing: supports complex routing algorithms including random distribution, signal-driven stages, and custom user-defined logic.
  • Operational Metrics Export: natively exposes Prometheus metrics detailing request counts, error rates, token usage, and routing latency.
  • Flexible Deployment Modes: can be utilized as a standalone proxy server, a command-line launcher for coding agents, or an embedded Rust library.
  • Multi-Backend Support: abstracts the complexity of connecting to diverse LLM providers and self-hosted inference engines like vLLM or Ollama.
  • High-Performance Core: developed in Rust to ensure the proxy adds negligible latency to the critical path of LLM requests.

Where teams use it

Agent Protocol Adaptation

Used by developers to point coding agents expecting an Anthropic API towards open-source models running locally on Ollama.

A/B Model Benchmarking

Used by AI teams to silently split production traffic across multiple LLM providers to evaluate response quality and latency.

LLM Infrastructure Observability

Used by platform engineers to centralize token usage tracking and error monitoring across disparate AI backends via Prometheus.

Dynamic Request Routing

Used by application backends to route complex queries to expensive frontier models while directing simple queries to cheaper, local models based on classifiers.

Getting started: uv tool install --python 3.10 "nemo-switchyard[cli]"

README

main branch

Switchyard

NVIDIA NeMo Switchyard

License: Apache-2.0 Latest GitHub release PyPI: nemo-switchyard crates.io: switchyard-libsy crates.io: switchyard-server GitHub contributors

Switchyard is an open-source library that helps an AI agent choose which model handles each request. It combines efficient models with more capable models so you can balance task success, cost, and latency on your workload.

Adopt Switchyard by embedding its Rust core, libsy, in your gateway or agent harness. You own the model clients, credentials, and service. Switchyard supplies the routing decision.

Quickstart  ·  Documentation  ·  Benchmarks  ·  What’s new  ·  Roadmap  ·  Releases  ·  Contributing

How it works

  1. Configure the models an agent can use and choose a routing algorithm.
  2. The algorithm examines the request or the agent's recent tool activity. Some algorithms call a model to judge the task.
  3. A gateway or agent sends the request to the selected model. Routing can change as the agent continues its work.

Evaluate the complete agent, model pool, and routing configuration against your single-model baseline. A cheaper model call does not guarantee a cheaper successfully completed task. The tuning loop gives the steps for that evaluation, and Troubleshooting lists the settings that disable routing without an error.

How to use it

Through an existing gateway

Gateway Start here Deployment and limits
OpenRouter Use Switchyard through OpenRouter Hosted by OpenRouter. Set model to nvidia/switchyard in API requests.
LiteLLM Run the Switchyard routing-plugin example Experimental and checkout-only. The example pins LiteLLM 1.102.0 and supports Stage routing based on request history, plus Random routing. It cannot service intermediate model calls required by classifier or escalation algorithms.
NeMo Relay Build and configure the native plugin Requires Relay >=0.10.0, <1.0.0. The source-build path requires a Rust toolchain and Python 3.

Relay 0.8.x and 0.9.0 can lose upstream error status and details when the plugin is enabled, even for models outside its routes. Review the upstream error compatibility note before enabling the plugin.

LiteLLM and NeMo Relay run in your own deployment. Follow each gateway's guidance for credentials and service operation.

Embed libsy in your harness

Algorithm::run_stream hands model calls and the final routing outcome back to your application. In this development-API outline, comments mark the work your code supplies:

let mut steps = algorithm.run_stream(request, models, state);
while let Some(step) = steps.next().await {
    match step? {
        Step::CallModel(call) => {
            // Send call.request through your LLM client.
            // Give the call future to call.respond(...).await.
        }
        Step::CallDecision(call) => {
            // Send call.request through your decision-model client.
            // Give its typed response future to call.respond(...).await.
        }
        Step::Done(outcome) => {
            match outcome.response {
                Some(response) => {
                    // Return this answer; no final LLM call is needed.
                }
                None => {
                    // Send outcome.request through your client for the final answer,
                    // or pass it to your gateway to make that call later.
                }
            }
        }
    }
}
  • Inputs: supply an algorithm, model pool, request, and state.
  • Calls: your clients handle model calls. Stage returns a selection; other algorithms may return an answer.
  • Start here: Rust quickstart · Python bindings.

Evaluate Switchyard locally

The standalone server is provided only for demos and local evaluation. It is not a supported production deployment path.

Evaluate routing locally with the standalone server and your own model pool, then verify routing is active.

Agent-specific guides are available for pi and Oh My Pi.

Routing algorithms

Start with Auto. Choose Task, Execution, or Composite when you need more control. These names describe routing choices. The configuration keys are unchanged.

Choice How it chooses TOML configuration
Auto Uses the current default: Execution (Stage), efficient-first, with a confidence threshold of 0.5 and no classifier call. type = "auto"
Task A model judges whether the efficient model can handle the task. type = "llm_classifier", mode = "capability"
Execution Uses recent tool activity and outcome signals to choose a model as the agent runs. type = "stage_router"
Composite Combines Task and Execution: a classifier sets the default model tier when execution signals are uncertain. type = "composite"

Auto is a fixed preset in v0.3.0. It does not compare strategies at runtime. The TOML runner supports type = "auto". In Rust, use StageRouterConfig::new(PickerMode::EfficientFirst, 0.5) for the same preset.

The routing overview retains the full catalogue, including Plan/Execute, escalation, advisor, sub-agent, and random strategies. Integration support varies: check the gateway guide before choosing an algorithm.

Prefill routing is designed for fast, efficient model selection using a model's prefill activations and a classifier trained on your own evaluation data.

Evaluation and reference

Compare benchmark results and configs for Terminal-Bench 2.1 and DeepSWE. For latency and routing overhead testing, see Soak Testing.

Further reading

Components

Pre-1.0 software. APIs, configuration, and routing behavior can change between releases. Pin the version you integrate.

Component Stability Use it for Guidance
switchyard-libsy Beta Routing embedded in your own gateway or harness. You own model calls, credentials, and retries. Trial integrations. API will change before v1.0.
switchyard-llm-client Alpha HTTP model calls and protocol translation alongside libsy. Experiments and pilots.
switchyard-runner Alpha Running configured routes inside another runtime, such as NeMo Relay. Integration work and supervised pilots.
switchyard-server Demo A standalone OpenAI- and Anthropic-compatible proxy. Demos and local evaluation only; not a supported production path.

Switchyard Components

What’s new

Features and integrations recently merged into main.

  • 2026-10-16 · Route between Sonnet and Opus in Claude Code
    Use your Claude login for automatic routing on Linux x86_64 and see the selected model in the status line. Setup guide →

  • 2026-10-15 · Use decision models in composite routing
    Use Mercury Decide to judge tasks and Stage routing to adjust model selection as tools run. Example configuration →

  • 2026-10-13 · Use Jev to choose between models
    Configure Jev as a task judge with candidate descriptions and a probability cutoff. Configuration guide →

  • 2026-10-12 · Bring Switchyard to TypeScript and Pi
    Select models in Node.js or try automatic routing through Pi’s virtual models. TypeScript bindings → · Pi example →

  • 2026-10-08 · Run Codex with Switchyard on macOS
    Install a background router and Codex profile, then track usage and estimated savings from the menu bar. Setup guide →

Community and license

Report an issue · Contribute · Code of conduct

Apache 2.0. Copyright NVIDIA Corporation.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

4 total
  1. v0.3.0v0.3.0Sep 22, 2026

    # Switchyard v0.3.0 Switchyard 0.3.0 adds reusable runner integrations, Advisor Gate and Composite routing, Auto presets, and updated Rust and Python embedding APIs. It also fixes provider translation and tool-loop behavior and removes the legacy Python server and coding-agent launchers. This is a breaking upgrade for library and Python CLI users. Review the migration notes below before upgrading. [Full changelog](https://github.com/NVIDIA-NeMo/Switchyard/blob/v0.3.0/CHANGELOG.md#030) · [Changes since v0.2.0](https://github.com/NVIDIA-NeMo/Switchyard/compare/v0.2.0...v0.3.0) ## Routing and integrations - Advisor Gate lets an executor model work with a stronger advisor for review, approval, and redo decisions, with session review budgets and stall checkpoints. - Composite routing combines an LLM classifier with Stage Router. Auto presets provide capable and efficient Stage configurations. - The new `switchyard-runner` crate loads TOML deployments and runs routing in-process. NeMo Relay and LiteLLM integrations use the native routing path. - Sub-agent routing, per-target system prompts and reasoning effort, and per-client request deadlines provide more control over agent traffic

  2. v0.2.0v0.2.0Aug 10, 2026

    # Switchyard v0.2.0 Switchyard v0.2.0 is a substantial redesign of the project around a native Rust server and the new libsy library architecture. Across [193 commits](https://github.com/NVIDIA-NeMo/Switchyard/compare/v0.1.0...v0.2.0), this release separates orchestration, provider-neutral protocols, translation, model transport, and serving into focused components that can be used together or embedded independently. Switchyard remains pre-alpha software. APIs and configuration may change before a stable release. ## libsy Redesign `switchyard-libsy` provides a provider-neutral framework for multi-LLM orchestration. Its `Algorithm` abstraction decides which semantic model targets to call, in what order, and how to combine their results. Algorithms do not own provider SDKs or an HTTP stack. They yield model-call steps back to their host, allowing the same algorithm to run inside the Switchyard server, another proxy, an agent runtime, or an application with custom model clients. The driver supports both buffered and streaming execution, concurrent model calls, routing decisions, request processors, classifiers, and session-scoped state. The redesign establishes clear crate bound

  3. v0.1.0v0.1.0Jun 30, 2026

    # Switchyard v0.1.0 Switchyard v0.1.0 was the first public release. It introduced the Python proxy, OpenAI and Anthropic format translation, YAML route bundles, initial routing strategies, coding-agent launchers, and request metrics. This release is retained for historical reference. New users should start with v0.2.0. - [nemo-switchyard 0.1.0 on PyPI](https://pypi.org/project/nemo-switchyard/0.1.0/) - [Full v0.1.0 changelog](https://github.com/NVIDIA-NeMo/Switchyard/blob/v0.1.0/CHANGELOG.md)

  4. v0.0.1v0.0.1Jun 30, 2026

Code frequency

additions and deletions
+147.3K-147.3KWeek of 2026-06-28: +147,292 linesWeek of 2026-06-28: -682 linesWeek of 2026-07-05: +11,491 linesWeek of 2026-07-05: -6,426 linesWeek of 2026-07-12: +12,102 linesWeek of 2026-07-12: -5,664 linesWeek of 2026-07-19: +22,125 linesWeek of 2026-07-19: -30,477 linesWeek of 2026-07-26: +31,116 linesWeek of 2026-07-26: -48,612 linesWeek of 2026-08-02: +14,374 linesWeek of 2026-08-02: -36,849 linesWeek of 2026-08-09: +9,049 linesWeek of 2026-08-09: -48,161 linesWeek of 2026-08-16: +18,412 linesWeek of 2026-08-16: -6,624 linesWeek of 2026-08-23: +84,941 linesWeek of 2026-08-23: -6,640 linesWeek of 2026-08-30: +6,462 linesWeek of 2026-08-30: -2,039 linesWeek of 2026-09-06: +8,625 linesWeek of 2026-09-06: -2,791 linesWeek of 2026-09-13: +14,577 linesWeek of 2026-09-13: -2,226 linesWeek of 2026-09-20: +3,215 linesWeek of 2026-09-20: -785 linesWeek of 2026-09-27: +211 linesWeek of 2026-09-27: -9 linesJun 28, 2026Sep 27, 2026
+384K lines added, -198K removed over the last year.

Commits per week

last 52 weeks
920Week of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 5 commitsWeek of 2026-07-05: 14 commitsWeek of 2026-07-12: 18 commitsWeek of 2026-07-19: 40 commitsWeek of 2026-07-26: 71 commitsWeek of 2026-08-02: 52 commitsWeek of 2026-08-09: 34 commitsWeek of 2026-08-16: 52 commitsWeek of 2026-08-23: 31 commitsWeek of 2026-08-30: 24 commitsWeek of 2026-09-06: 31 commitsWeek of 2026-09-13: 92 commitsWeek of 2026-09-20: 29 commitsWeek of 2026-09-27: 27 commitsWeek of 2026-10-04: 19 commitsWeek of 2026-10-11: 44 commitsWeek of 2026-10-18: 36 commitsOct 26, 2025Oct 18, 2026
619 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 1 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 1 commitsSun 13:00 — 0 commitsSun 14:00 — 1 commitsSun 15:00 — 0 commitsSun 16:00 — 1 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 1 commitsMon 8:00 — 0 commitsMon 9:00 — 6 commitsMon 10:00 — 11 commitsMon 11:00 — 10 commitsMon 12:00 — 12 commitsMon 13:00 — 12 commitsMon 14:00 — 4 commitsMon 15:00 — 8 commitsMon 16:00 — 8 commitsMon 17:00 — 8 commitsMon 18:00 — 7 commitsMon 19:00 — 4 commitsMon 20:00 — 2 commitsMon 21:00 — 1 commitsMon 22:00 — 0 commitsMon 23:00 — 3 commitsTue 0:00 — 4 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 1 commitsTue 4:00 — 1 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 5 commitsTue 9:00 — 9 commitsTue 10:00 — 14 commitsTue 11:00 — 9 commitsTue 12:00 — 17 commitsTue 13:00 — 14 commitsTue 14:00 — 17 commitsTue 15:00 — 16 commitsTue 16:00 — 3 commitsTue 17:00 — 8 commitsTue 18:00 — 2 commitsTue 19:00 — 4 commitsTue 20:00 — 3 commitsTue 21:00 — 1 commitsTue 22:00 — 0 commitsTue 23:00 — 4 commitsWed 0:00 — 0 commitsWed 1:00 — 3 commitsWed 2:00 — 2 commitsWed 3:00 — 0 commitsWed 4:00 — 2 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 8 commitsWed 8:00 — 5 commitsWed 9:00 — 2 commitsWed 10:00 — 8 commitsWed 11:00 — 9 commitsWed 12:00 — 9 commitsWed 13:00 — 11 commitsWed 14:00 — 11 commitsWed 15:00 — 9 commitsWed 16:00 — 9 commitsWed 17:00 — 9 commitsWed 18:00 — 4 commitsWed 19:00 — 1 commitsWed 20:00 — 1 commitsWed 21:00 — 1 commitsWed 22:00 — 2 commitsWed 23:00 — 1 commitsThu 0:00 — 2 commitsThu 1:00 — 1 commitsThu 2:00 — 1 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 1 commitsThu 7:00 — 3 commitsThu 8:00 — 3 commitsThu 9:00 — 5 commitsThu 10:00 — 8 commitsThu 11:00 — 17 commitsThu 12:00 — 20 commitsThu 13:00 — 11 commitsThu 14:00 — 16 commitsThu 15:00 — 13 commitsThu 16:00 — 22 commitsThu 17:00 — 13 commitsThu 18:00 — 7 commitsThu 19:00 — 3 commitsThu 20:00 — 3 commitsThu 21:00 — 4 commitsThu 22:00 — 9 commitsThu 23:00 — 2 commitsFri 0:00 — 2 commitsFri 1:00 — 4 commitsFri 2:00 — 1 commitsFri 3:00 — 2 commitsFri 4:00 — 1 commitsFri 5:00 — 3 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 2 commitsFri 9:00 — 4 commitsFri 10:00 — 9 commitsFri 11:00 — 18 commitsFri 12:00 — 12 commitsFri 13:00 — 12 commitsFri 14:00 — 12 commitsFri 15:00 — 6 commitsFri 16:00 — 9 commitsFri 17:00 — 3 commitsFri 18:00 — 4 commitsFri 19:00 — 1 commitsFri 20:00 — 2 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 2 commitsSat 1:00 — 0 commitsSat 2:00 — 1 commitsSat 3:00 — 1 commitsSat 4:00 — 0 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 1 commitsSat 11:00 — 1 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Sep 13, 2026monthly#17+2,657
Sep 12, 2026monthly#17+2,657
Sep 11, 2026monthly#14+2,628
Sep 10, 2026monthly#9+2,617
Aug 24, 2026weekly#11+635
Aug 23, 2026weekly#11+635
Aug 22, 2026weekly#10+642
Aug 21, 2026weekly#5+932
Aug 18, 2026weekly#3+1,435
Aug 17, 2026weekly#3+1,435
Aug 16, 2026weekly#4+1,326
Aug 15, 2026daily#7+408
Aug 15, 2026weekly#5+1,195
Aug 14, 2026daily#7+408
Aug 13, 2026daily#8+421
  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    148.6K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    130.9K stars · Rust

  • rust-lang/rust

    Empowering everyone to build reliable and efficient software.

    120.8K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.8K stars · Rust

  • ruvnet/RuView

    π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.

    99.6K stars · Rust