gitwtfhub

wtf is wmata-dbus?

paultag/wmata-dbus — explained in plain English

Analysis updated 2026-08-13 · repo last pushed 2015-09-30

1GoAudience · developerComplexity · 2/5DormantSetup · moderate

TL;DR

A small Go tool that fetches real-time Washington D.C. transit data (train and bus arrivals) from WMATA and republishes it on D-Bus so other Linux apps can subscribe to updates without each fetching the data themselves.

Mindmap

mindmap
  root((repo))
    What it does
      Fetches WMATA transit data
      Republishes on D Bus
      Real-time arrivals
    Tech stack
      Go
      D Bus
      WMATA API
    Use cases
      Desktop transit dashboards
      Custom home screens
      Local transit tools
    Audience
      Linux desktop developers
      Personal project tinkerers
      DC transit enthusiasts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a Linux desktop dashboard that shows real-time D.C. train and bus arrival times.

REASON 2

Create a custom home screen widget that displays the next arriving train at your usual station.

REASON 3

Let multiple local apps subscribe to transit updates without each needing to call the WMATA API directly.

What's in the stack?

GoD-BusWMATA API

How it stacks up

paultag/wmata-dbus0xdevalias/blackgoodayadvayc/wrapped
Stars111
LanguageGoGoGo
Last pushed2015-09-302018-04-09
MaintenanceDormantDormant
Setup difficultymoderatemoderateeasy
Complexity2/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Bare README with no setup instructions, users must read the Go source to understand configuration, D-Bus registration, and what transit data is exposed.

Wtf does this do

This project, wmata-dbus, connects Washington, D.C.'s public transit data to a system messaging layer called D-Bus. In practical terms, it takes real-time information from the Washington Metropolitan Area Transit Authority, things like train and bus arrival times, and republishes it so that other programs running on the same machine can easily listen for updates. D-Bus is a common way for applications on Linux systems to communicate with each other without needing to know the details of how the other works. Instead of every app writing its own code to fetch transit data from WMATA's API, this tool does that work once and broadcasts the results. Other software can then subscribe to those broadcasts and react accordingly. The people who would find this useful are developers building desktop applications, dashboards, or personal tools on Linux who want to show D.C. transit information. For example, someone building a custom home screen that displays the next arriving train at their usual station could use this as the data source, letting their interface focus on presentation rather than fetching and parsing transit data. The project is written in Go and appears to be a fairly small, purpose-built tool. The README doesn't go into detail about specific features, configuration, or installation steps, so anyone looking to use it would need to explore the code directly to understand how to set it up and what specific transit data it exposes. Given its single star and bare README, this looks like a personal utility rather than a polished, maintained product. It serves as a niche bridge for someone who wanted transit data flowing through their system's local messaging bus, and it's shared publicly in case others have the same need.

Yoink these prompts

Prompt 1
I want to build a Linux desktop widget that shows real-time WMATA train arrivals using wmata-dbus as the data source. Help me write a D-Bus client in Go that subscribes to the transit signals this tool broadcasts.
Prompt 2
Help me understand the wmata-dbus Go codebase so I can figure out which D-Bus signals it exposes and what transit data fields are available for my dashboard app.
Prompt 3
I'm setting up wmata-dbus on my Linux machine to feed transit data to multiple local apps. Walk me through what dependencies I need and how to register it as a D-Bus service.

Frequently asked questions

wtf is wmata-dbus?

A small Go tool that fetches real-time Washington D.C. transit data (train and bus arrivals) from WMATA and republishes it on D-Bus so other Linux apps can subscribe to updates without each fetching the data themselves.

What language is wmata-dbus written in?

Mainly Go. The stack also includes Go, D-Bus, WMATA API.

Is wmata-dbus actively maintained?

Dormant — no commits in 2+ years (last push 2015-09-30).

How hard is wmata-dbus to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is wmata-dbus for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.