MCPcopy Index your code
hub / github.com/godbus/dbus

github.com/godbus/dbus @v5.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.2.2 ↗ · + Follow
774 symbols 2,872 edges 81 files 272 documented · 35% 186 cross-repo links updated 2mo agov5.2.2 · 2025-12-29★ 1,18136 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Build Status

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

Installation

This packages requires Go 1.20 or later. It can be installed by running the command below:

go get github.com/godbus/dbus/v5

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

  • fyne a cross platform GUI in Go inspired by Material Design.
  • fynedesk a full desktop environment for Linux/Unix using Fyne.
  • go-bluetooth provides a bluetooth client over bluez dbus API.
  • iwd go bindings for the internet wireless daemon "iwd".
  • notify provides desktop notifications over dbus into a library.
  • playerbm a bookmark utility for media players.
  • rpic lightweight web app and RESTful API for managing a Raspberry Pi

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

License

go.dbus is available under the Simplified BSD License; see LICENSE for the full text.

Nearly all of the credit for this library goes to github.com/guelfey/go.dbus.

Extension points exported contracts — how you extend this code

Auth (Interface)
Auth defines the behaviour of an authentication mechanism. [4 implementers]
auth.go
Interface (Interface)
An Interface is the representation of a D-Bus Interface. Interfaces are a grouping of methods implemented by the Object [4 …
server_interfaces.go
BusObject (Interface)
BusObject is the interface of a remote object on which methods can be invoked. [1 implementers]
object.go
ConnOption (FuncType)
ConnOption is a connection option.
conn.go
ServerObject (Interface)
ServerObject is the representation of an D-Bus Object. Objects are registered at a path for a given Handler. The Object [3 …
server_interfaces.go
Interceptor (FuncType)
Interceptor intercepts incoming and outgoing messages.
conn.go
SignalHandler (Interface)
A SignalHandler is responsible for delivering a signal. Signal delivery may be changed from the default channel based a [3 …
server_interfaces.go
Terminator (Interface)
Terminator allows a handler to implement a shutdown mechanism that is called when the connection terminates. [2 implementers]
server_interfaces.go

Core symbols most depended-on inside this repo

MakeVariant
called by 98
variant.go
Call
called by 67
object.go
Close
called by 66
conn.go
Store
called by 65
call.go
ConnectSessionBus
called by 57
conn.go
Error
called by 56
conn.go
Object
called by 47
conn.go
Store
called by 36
dbus.go

Shape

Function 326
Method 316
Struct 86
TypeAlias 26
Interface 15
FuncType 5

Languages

Go100%

Modules by API surface

conn.go88 symbols
variant_parser.go61 symbols
server_interfaces_test.go45 symbols
conn_test.go36 symbols
export_test.go34 symbols
default_handler.go34 symbols
export.go29 symbols
dbus.go29 symbols
server_interfaces.go26 symbols
object.go25 symbols
encoder_test.go22 symbols
sig.go19 symbols

For agents

$ claude mcp add dbus \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page