36 Repos
Architectural patterns and libraries for enabling decoupled communication between software components.
Distinguishing note: Focuses on architectural decoupling patterns rather than specific networking or UI event handling.
Explore 36 awesome GitHub repositories matching software engineering & architecture · Message Bus Systems. Refine with filters or upvote what's useful.
Guava is a Java standard library extension and utility toolkit that provides optimized data structures, concurrency tools, and core extensions. It serves as a comprehensive set of helpers for Java development, focusing on reducing repetitive boilerplate logic. The project is distinguished by its specialized implementations of immutable collections, which ensure thread safety and data consistency by preventing accidental modification. It also includes a dedicated graph data structure library for modeling and traversing networks of interconnected nodes and edges, alongside advanced collection t
Facilitates communication between decoupled components using an event bus for publishing and subscribing to messages.
Textual is a Python TUI framework and asynchronous UI library used to build interactive text user interfaces. It provides a component-based architecture for creating cross-platform applications that run in both terminal and web browser environments. The framework distinguishes itself by utilizing a CSS-based layout engine to apply visual styles to widgets and a command palette interface for discovering and executing application functions. It also supports hosting terminal-based interfaces on the web to enable remote access via a standard browser. The toolkit covers a broad range of capabilit
Routes system logs and debug output to a separate terminal instance via a decoupled communication channel.
DevToys is a cross-platform desktop application that functions as a comprehensive suite of offline utilities for common software development tasks. It provides a unified interface for performing data formatting, encoding, validation, and asset generation locally without requiring an internet connection. The application is built on a plugin-based extensibility framework that allows users to integrate custom utility modules to meet specific technical requirements. A core differentiator is its clipboard-aware management system, which monitors clipboard content to automatically suggest or open th
Coordinates application tasks by enabling decoupled communication between components via a centralized event bus.
This project is a desktop screen capture and annotation utility designed for Linux environments. It provides an interactive graphical overlay that allows users to select specific screen regions, apply visual annotations such as shapes, text, and pixelation, and manage the resulting images through a configurable post-capture pipeline. The application distinguishes itself through deep system integration and automation capabilities. It operates as a persistent background daemon that monitors global hotkeys and supports inter-process communication via a system message bus, enabling users to trigg
Acts as a background service that uses the system message bus for programmatic control.
EventBus is a publish-subscribe messaging library designed to facilitate decoupled communication between components in Java applications. It functions as a central hub where producers dispatch events that are routed to subscribers based on the class type of the payload. By using annotation-based markers, the system maps event handlers to specific data types, allowing different parts of an application to exchange information without requiring direct references between classes. The library distinguishes itself through a focus on performance and execution control. It utilizes a compile-time inde
Enabling different parts of an application to exchange information without requiring direct references or tight coupling between classes.
AionUi is an AI agent orchestration platform designed to manage and coordinate multiple autonomous assistants within a local environment. It functions as a framework for executing background processes and scheduled tasks that operate independently of the user interface, ensuring that automated workflows continue to run without manual oversight. The platform distinguishes itself through a local-first approach to document generation and file manipulation, allowing users to create and modify office files directly on their hardware to maintain data privacy. It supports parallel agent execution, e
Enables remote management of desktop tasks by routing external messages to local agent processes via system message bus services.
Cockpit is a web-based management interface designed for the administration of Linux servers. It provides a graphical environment that allows users to perform system tasks, configure server settings, and monitor performance directly through a standard browser. The platform distinguishes itself by offering centralized control over distributed environments, enabling the management of multiple servers from a single dashboard. It supports the lifecycle management of containerized workloads and virtual machine infrastructure, alongside the configuration of network interfaces, firewalls, and storag
Communicates with system services by routing messages through the standard Linux D-Bus inter-process communication protocol.
Plasmo is a browser extension framework and build tool designed for developing cross-browser extensions from a single codebase. It functions as a development environment that automates manifest generation and bundles source code into compatible packages for multiple web browser engines. The project includes a developer toolset featuring hot module replacement for real-time code updates and an automated publisher to deliver completed builds to various browser web stores. Its capability surface covers extension UI development through the injection of components into web pages and a communicati
Implements a structured communication layer for exchanging data between background workers, popups, and content scripts.
Eww is a declarative framework for creating custom graphical desktop widgets and status bars on Linux. It functions as a desktop widget toolkit that operates independently of the window manager, allowing users to define interface elements through a dedicated configuration language and style them using a cascading stylesheet system. The project utilizes a client-server daemon architecture to manage the lifecycle of these components, ensuring that state is maintained across the desktop environment. By leveraging a reactive state binding system, the interface updates automatically in response to
Implements a message bus system to decouple interface updates from external system events.
This project is a futures algorithmic trading system designed to execute high-performance trading strategies through direct API integrations and low-latency message routing. It features a strategy execution engine that automates order placement and manages trade flows based on predefined logic and API triggers. The system utilizes a native trading API bridge and a low-latency message bus to interface internal logic with external exchange APIs while minimizing execution delays. Monitoring is handled through a web-based trading dashboard for real-time activity tracking and remote management. B
Employs a native message bus system to ensure decoupled, low-latency communication between trading system modules.
Flower is a federated learning framework and distributed machine learning orchestrator designed to train models across decentralized devices. It functions as a privacy-preserving toolkit that enables model training and data analysis on local hardware, ensuring raw data remains on the device while contributing to a synchronized global model. The system employs an agnostic wrapper and integrator to connect diverse machine learning libraries, allowing different frameworks to operate within the same training loop. It uses a remote procedure call orchestrator to manage the exchange of model weight
Provides a custom message bus to transmit non-standard data packets for specialized federated learning workflows.
VimR is a native macOS graphical user interface for the Neovim editor. It wraps the Neovim binary within a Swift and AppKit application to provide system-level window management and OS integration. The application includes a project workspace manager for organizing files and windows into distinct contexts, a graphical file browser for navigating directory structures, and a fuzzy file searcher for locating files using approximate string matching. It also features a markdown and HTML previewer with synchronized side-by-side scrolling.
Implements a message bus system to enable decoupled asynchronous communication between the Swift GUI and the Neovim process.
x11docker is an OCI container GUI orchestrator and hardware bridge designed to execute graphical applications and full desktop environments inside containers. It functions as a Linux GUI sandbox, linking containerized processes to host X11 or Wayland display servers and audio systems. The project differentiates itself by providing deep system integration for hardware acceleration, including NVIDIA driver automation and GPU passthrough. It supports cross-architecture GUI emulation and provides remote access capabilities through VNC, SSH forwarding, and browser-based HTML5 rendering. The tool
Provides bridging to the host system bus or initiates a private session for containerized desktop applications.
ethminer ist ein Ethereum-GPU-Miner und Ethash-Hashing-Tool. Es fungiert als CUDA- und OpenCL-Client, der Grafikkarten für Proof-of-Work-Berechnungen zur Validierung von Blockchain-Transaktionen und zum Mining von Ethereum-Coins nutzt. Die Software nutzt GPGPU-Beschleunigung, um parallele mathematische Berechnungen auf die GPU auszulagern, und generiert den erforderlichen Acyclic-Graph-Datensatz direkt im Videospeicher, um Festplattenlatenzen zu eliminieren. Es enthält einen GPU-Mining-Benchmarker, um die Hashing-Geschwindigkeit und Effizienz gegenüber spezifischen Epochen zu testen und Performance-Baselines zu etablieren. Das Projekt implementiert das Stratum-Netzwerkprotokoll zur Koordination der Arbeitsverteilung und Übermittlung von Shares an entfernte Mining-Pools, inklusive automatischer Protokollerkennung und verschlüsselter Kommunikation. Zudem bietet es ein programmatisches HTTP-Interface für das Remote-Management, mit dem Benutzer Echtzeit-Performance-Metriken überwachen und Mining-Operationen steuern können. Die Systemintegration erfolgt über einen Message-Bus für Prozesskoordination und systemweite Benachrichtigungen.
Uses the D-Bus system message bus to handle inter-process communication and trigger operating system notifications.
Piper ist eine GTK-Desktop-Anwendung und Client-Schnittstelle, die darauf ausgelegt ist, Hardware-Einstellungen von Gaming-Peripheriegeräten zu verwalten. Sie dient als visuelles Werkzeug zur Konfiguration von Mäusen und Tastaturen durch Kommunikation mit dem libratbag-Hintergrund-Daemon. Die Anwendung bietet eine grafische Oberfläche zur Anpassung von Hardware-Einstellungen ohne die Verwendung proprietärer Herstellersoftware. Dies beinhaltet eine dedizierte Konfigurations-UI für Gaming-Mäuse zur Verwaltung von DPI und anderen gerätespezifischen Parametern. Das Tool deckt mehrere Bereiche der Hardware-Anpassung ab, einschließlich RGB-Beleuchtungsmustern, Remapping von Maustasten sowie der Anpassung von Cursor-Empfindlichkeit und Auflösung. Es synchronisiert diese Einstellungen zwischen dem visuellen Frontend und dem Hintergrunddienst, um die Konsistenz des Hardware-Zustands sicherzustellen.
Uses the D-Bus system message bus to send commands and receive state updates from the libratbag service.
kcat ist ein Kommandozeilen-Client für Apache Kafka, der verwendet wird, um Nachrichten unter Verwendung des nativen Wire-Protokolls zu produzieren, zu konsumieren und zu debuggen. Er bietet eine Reihe von Tools für die Interaktion mit Kafka-Clustern, einschließlich eines Protokoll-Debuggers zur Untersuchung von Cluster-Metadaten und eines Transaktionsmanagers für die Handhabung atomarer Nachrichten-Batches. Das Projekt verfügt über einen spezialisierten Avro-Schema-Dekoder, der binär kodierte Nachrichten in menschenlesbares JSON umwandelt, indem er sich in Remote-Schema-Registries oder lokale Dateien integriert. Zusätzlich enthält es einen In-Memory-Simulator, der das Testen von Producer- und Consumer-Logik durch die Simulation ephemerer Broker-Verhaltensweisen ermöglicht, ohne dass eine externe Infrastruktur erforderlich ist. Das Toolset deckt ein breites Spektrum an Messaging-Operationen ab, einschließlich Unterstützung für ausbalancierte Consumer-Gruppen, zeitstempelbasierte Offset-Suche und transaktionales Daten-Streaming von der Standardeingabe. Zudem bietet es Dienstprogramme für die Konfiguration der Verbindungssicherheit und die Untersuchung von Cluster-Metadaten.
Includes a protocol debugger for inspecting cluster metadata, partition details, and real-time message flow.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Reuses and reattempts D-Bus connections on temporary failure to maintain reliable communication.
Cinnamon is a desktop environment interface for Linux operating systems. It provides a visual layout and user interface for managing windows and applications, focusing on desktop workflow management. The project enables Linux GUI customization, allowing the look and feel of the environment to be modified. It includes a window management system to handle the placement and behavior of application windows within the workspace. The environment utilizes a JavaScript-based shell and a modular applet architecture for extensibility, while using CSS for component styling. The interface is built with
Utilizes the D-Bus system message bus to synchronize state and trigger actions between the shell and system services.
Messenger is an asynchronous messaging system and event-driven communication layer designed to exchange events between decoupled components. It functions as an inter-process communication tool that removes direct dependencies between services by routing messages through a middleware layer. The system implements a pub-sub messaging model where components subscribe to specific event types and receive notifications when those events are triggered. It utilizes a central dispatcher to route asynchronous events from producers to registered subscribers. The project provides capabilities for distrib
Provides an architectural framework for decoupled communication between software components using an asynchronous message bus.
signal-cli ist eine Kommandozeilenschnittstelle für das Signal-Messenger-Protokoll. Sie fungiert als Headless-Client, der es Benutzern ermöglicht, Nachrichten zu senden und zu empfangen, Konten zu verwalten und Telefonnummern innerhalb einer Terminalumgebung anstelle einer grafischen Anwendung zu verifizieren. Das Projekt bietet Integrationsmöglichkeiten für externe Programme über einen JSON-RPC-Server und eine D-Bus-Schnittstelle. Diese ermöglichen automatisierte Messaging-Workflows und die Fähigkeit, Messaging-Aktionen von anderen Software-Diensten über einen Hintergrund-Daemon auszulösen. Die Software deckt die Verwaltung der Kontoidentität ab, einschließlich Registrierung und Verifizierung per SMS oder Sprachanruf, sowie den Austausch von Textnachrichten und Zustellungsbestätigungen.
Exposes messaging capabilities as discoverable services via the D-Bus system message bus for Linux applications.