Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. dbus

dbus

BSD-2-ClauseGov5.2.2

Native Go bindings for the D-Bus message bus system with a Go-like API.

GitHubGitHub
1.2k stars248 forks0 contributors

What is dbus?

godbus/dbus is a Go library that implements native client bindings for the D-Bus message bus system. It allows Go applications to communicate with system services, desktop environments, and other applications using the standard D-Bus protocol without relying on C bindings or external libraries.

Target Audience

Go developers building applications that need to interact with Linux system services, desktop environments, or other D-Bus-enabled applications, such as GUI toolkits, Bluetooth services, or systemd integration tools.

Value Proposition

Developers choose this library because it provides a pure Go implementation with an idiomatic API using channels and goroutine-safe connections, making D-Bus integration more natural and efficient in Go applications compared to C-based bindings.

Overview

Native Go bindings for D-Bus

Use Cases

Best For

  • Building Go applications that need to communicate with Linux system services via D-Bus
  • Creating desktop applications in Go that interact with notification systems or session buses
  • Developing Go-based GUI toolkits that require D-Bus integration
  • Writing system utilities in Go that interface with systemd or Bluetooth services
  • Implementing cross-platform Go applications with Linux-specific D-Bus features
  • Adding D-Bus support to Go projects without external C dependencies

Not Ideal For

  • Projects requiring stable, production-ready APIs with long-term support
  • Cross-platform applications that do not target Linux or Unix systems
  • High-performance systems where IPC overhead from D-Bus is unacceptable

Pros & Cons

Pros

Pure Go Implementation

It's a complete native implementation without external C dependencies, simplifying deployment and integration in Go projects, as highlighted in the README's feature list.

Idiomatic Go API

Uses channels for signals and asynchronous method calls, along with goroutine-safe connections, making it natural for Go developers to handle concurrency, per the README.

Introspection Support

Includes subpackages for working with D-Bus introspection and property interfaces, easing interaction with complex D-Bus services, as noted in the features.

Proven Adoption

Used by notable projects like Fyne and go-systemd, indicating reliability and community trust, as listed in the README's 'Projects using godbus' section.

Cons

Unstable API

The README explicitly warns that the API is considered unstable and may change without notice, posing a risk for long-term maintenance and production code.

Client-Only Focus

Primarily designed as a client library; if you need to implement D-Bus services or servers in Go, it may lack full features, limiting versatility.

Limited Documentation Depth

While pkg.go.dev and examples exist, the README is brief, and users might need to dig into source code for advanced usage, increasing learning curve.

Frequently Asked Questions

Quick Stats

Stars1,203
Forks248
Contributors0
Open Issues37
Last commit12 days ago
CreatedSince 2014

Tags

#systemd-integration#native-bindings#dbus#inter-process-communication#linux#system-integration#go#message-bus

Built With

G
Go

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

AsynqAsynq

Simple, reliable, and efficient distributed task queue in Go

Stars13,747
Forks988
Last commit3 months ago
saramasarama

Sarama is a Go library for Apache Kafka.

Stars12,521
Forks1,872
Last commit1 day ago
CentrifugoCentrifugo

Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably, socket.io, Phoenix.PubSub, SignalR. Set up once and forever.

Stars10,836
Forks739
Last commit1 day ago
WatermillWatermill

Building event-driven applications the easy way in Go.

Stars9,912
Forks510
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub