godbus/dbus

Native Go bindings for D-Bus

1,197

stars

512

commits

Go

primary language

May 1, 2026

updated

README

dbus

dbus is a simple library that implements native Go client bindings for the D-Bus message bus system.

Features

  • Complete native implementation of the D-Bus message protocol
  • Go-like API (channels for signals / asynchronous method calls, Goroutine-safe connections)
  • Subpackages that help with the introspection / property interfaces

Usage

The complete package documentation and some simple examples are available at pkg.go.dev. Also, the _examples directory gives a short overview over the basic usage.

Projects using godbus

  • bluetooth: cross-platform Bluetooth API for Go and TinyGo.
  • fyne: a cross platform GUI in Go inspired by Material Design.
  • fynedesk: a full desktop environment for Linux/Unix using Fyne.
  • go-systemd: Go bindings to systemd.
  • notify provides desktop notifications over dbus into a library.

Please note that the API is considered unstable for now and may change without further notice.

License

The library is available under the Simplified BSD License; see LICENSE for the full text.

Nearly all of the credit for this library goes to https://github.com/guelfey.

Contributors

(top 30 of 91)

guelfey

214 commits

jsouthworth

52 commits

kolyshkin

46 commits

philips

20 commits

godbus/dbus

Native Go bindings for D-Bus

1,197

stars

512

commits

Go

primary language

May 1, 2026

updated

README

dbus

dbus is a simple library that implements native Go client bindings for the D-Bus message bus system.

Features

  • Complete native implementation of the D-Bus message protocol
  • Go-like API (channels for signals / asynchronous method calls, Goroutine-safe connections)
  • Subpackages that help with the introspection / property interfaces

Usage

The complete package documentation and some simple examples are available at pkg.go.dev. Also, the _examples directory gives a short overview over the basic usage.

Projects using godbus

  • bluetooth: cross-platform Bluetooth API for Go and TinyGo.
  • fyne: a cross platform GUI in Go inspired by Material Design.
  • fynedesk: a full desktop environment for Linux/Unix using Fyne.
  • go-systemd: Go bindings to systemd.
  • notify provides desktop notifications over dbus into a library.

Please note that the API is considered unstable for now and may change without further notice.

License

The library is available under the Simplified BSD License; see LICENSE for the full text.

Nearly all of the credit for this library goes to https://github.com/guelfey.

Contributors

(top 30 of 91)

guelfey

214 commits

jsouthworth

52 commits

kolyshkin

46 commits

philips

20 commits

Languages

Go

100.0%