67 repositorios
Mechanisms for data exchange and synchronization between separate execution processes.
Distinguishing note: Focuses on architectural IPC patterns rather than network protocols.
Explore 67 awesome GitHub repositories matching software engineering & architecture · Inter-Process Communication. Refine with filters or upvote what's useful.
Electron is a framework for building native desktop applications using JavaScript, HTML, and CSS. It functions as a cross-platform desktop runtime that combines the Chromium engine with Node.js to enable web technologies to run as standalone applications on Windows, macOS, and Linux. The project serves as a desktop integration layer that allows web-based user interfaces to access low-level operating system APIs. By bridging the Chromium rendering engine with a Node.js environment, it enables a single codebase to be deployed as a native executable across different desktop operating systems. T
Implements an architectural message-passing system for synchronization between the main and renderer processes.
Atom is an extensible code IDE and hackable text editor designed for source code editing and the creation of custom development environments. It functions as a syntax highlighting editor and a version control integrated editor that tracks file changes and synchronizes code with remote repositories. The editor allows for the modification of its own core functionality and supports a package-based plugin system for creating custom themes and snippets. It also serves as a Markdown preview editor, providing side-by-side visual rendering for content authoring. The platform includes capabilities fo
Uses an architectural inter-process communication system to coordinate state between the main process and the renderer process.
Hyper is a cross-platform terminal emulator built using standard web technologies. It functions as a desktop application that renders command line output through a hardware-accelerated browser engine, ensuring a consistent interface across Windows, macOS, and Linux. By utilizing an Electron-based multi-process architecture, the application separates system-level window management from the rendering of the terminal interface. The project is defined by its extensible plugin architecture, which allows developers to inject custom logic, visual themes, and interface enhancements into the core envi
Implements batch-processed IPC to reduce communication overhead and prevent interface lag.
This project is a Node.js process manager, runtime environment, and production deployment orchestrator. It provides the foundational system components required to run, monitor, and restart applications in the background to ensure continuous service availability. The system distinguishes itself through a built-in load balancer that distributes network traffic across multiple process instances to utilize all available CPU cores. It includes a real-time process monitor with a terminal-based dashboard for tracking server health, CPU and memory usage, and aggregated logs. The tool covers a broad
Implements a communication bridge allowing external terminal commands to trigger functions within background processes.
DeepFaceLive is a desktop application designed for real-time facial replacement and animation within live video streams. By utilizing deep learning models, the software performs high-speed identity mapping and facial feature analysis to transform video content as it is captured. The engine relies on GPU-accelerated inference to execute these complex image manipulation tasks at interactive frame rates. The application distinguishes itself through a modular video processing pipeline that chains specialized tasks to maintain high throughput and low latency. It features a virtual camera streaming
Exchanges high-resolution image data between processes using low-latency shared memory buffers.
PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor
Facilitates data exchange and signal coordination between the browser engine and external software processes.
yabai is a tiling window manager and workspace orchestrator for macOS. It uses a binary space partitioning algorithm to automatically arrange application windows into non-overlapping rectangular regions to maximize screen real estate. The project provides a command line interface for controlling windows, displays, and virtual spaces, enabling the creation of custom desktop automation scripts. It includes capabilities for managing virtual desktops and disabling system animations to increase navigation speed. The system also supports mouse-based window focus, which automatically shifts the act
Implements inter-process communication via a socket-based bridge between the CLI tool and the background manager.
Python is a high-level, interpreted programming language designed for readability and versatility. It operates via a bytecode-based virtual machine and manages memory automatically through reference-counting garbage collection. The language supports multiple programming paradigms, including object-oriented, imperative, and functional styles, and provides a comprehensive standard library for system operations, networking, and data handling. The language is distinguished by its dynamic nature, allowing for runtime object introspection and metaclass-driven class creation. It utilizes protocol-ba
Transfers information between independent processes using shared queues or pipes.
Shizuku is a framework that enables standard mobile applications to interact with restricted system-level interfaces and services. By acting as a bridge between the user space and protected system functions, it allows applications to perform privileged operations that are typically inaccessible due to standard operating system sandbox limitations. The project functions by routing requests through a persistent background service, which facilitates communication with internal system services and remote interfaces. This architecture allows for the execution of system-level tasks and the manageme
Exposes internal system services to applications by proxying method calls through a persistent background service.
Chromium is an open-source browser platform that provides the foundational codebase for building cross-platform web browsers. At its core, it functions as a web browser engine that interprets standard web technologies to render interactive content and manage the complex lifecycle of web page navigation. The project utilizes a multi-process architecture that separates the browser interface from rendering engines into distinct operating system processes. This design ensures application stability by preventing a single tab crash from affecting the entire browser. Security is maintained through s
Coordinates browser tasks through serialized message passing between the main process and rendering subprocesses.
Theia is a modular framework designed for building professional-grade development environments that function as both local desktop applications and remote browser-based services. It provides a comprehensive toolkit for constructing specialized coding tools, allowing developers to assemble custom interfaces and backend logic through a flexible, contribution-based architecture. The platform distinguishes itself through a highly extensible workbench that supports the integration of existing third-party editor plugins and standard language servers. By utilizing a dependency injection container an
Enables structured data exchange between separate application processes using standard protocols.
MMKV is a high-performance, cross-platform key-value storage framework designed for mobile platforms and POSIX environments, including Android, iOS, macOS, and Windows. It provides a persistence layer that utilizes memory-mapped files and binary serialization to achieve low-latency data access. The project distinguishes itself through native support for multi-process synchronization, allowing concurrent read and write operations across different application processes. It also implements security via AES encryption for data at rest, featuring symmetric encryption and key rotation to protect st
Coordinates concurrent read and write operations across multiple processes to ensure data consistency.
ActivityWatch is an open-source, privacy-focused time tracking platform that automatically records computer usage patterns to provide a comprehensive history of personal digital activity. It functions as a background service that monitors system metrics, application focus, and user input to build a detailed log of how time is allocated across various tasks and projects. The platform distinguishes itself through a local-first architecture that stores all activity data as structured files on the user's machine, ensuring that sensitive usage history remains private and accessible offline. It sup
Uses a RESTful API for inter-process communication between internal components.
Qv2ray is a multi-protocol proxy client and a graphical user interface for managing V2Ray network proxy connections. Built as a cross-platform desktop application, it provides a consistent visual experience for configuring traffic routing across Linux, Windows, and macOS. The application utilizes a plugin-based architecture that allows for the integration of third-party extensions to add support for additional network proxy protocols. This modular system enables the software to be extended without modifying the core binary. The tool covers multi-protocol proxy routing for tunneling protocols
Coordinates settings and connection states between the visual frontend and the proxy backend using a messaging bridge.
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
Uses structured message-passing for communication between system components to ensure strict isolation.
Polybar is a customizable status bar for X11 window managers that functions as a desktop shell interface for displaying real-time system metrics and application status. It serves as a shell script runner and system resource monitor, rendering a persistent graphical overlay on the desktop to track CPU load, memory usage, battery levels, and network connection details. The project distinguishes itself by acting as a system tray host to manage background application icons and as a window manager interface that communicates via protocol messages to show active workspace indicators and window titl
Uses inter-process communication to exchange real-time data between the bar and external system processes.
Polybar is a customizable X11 status bar and Linux desktop panel. It serves as a system information dashboard and window manager integration tool, rendering real-time hardware metrics, system status, and window state for Linux desktops. The project features an inter-process communication system that allows separate processes to trigger dynamic updates or execute actions across the environment. It also includes a system for building hierarchical interactive menus that use this messaging to launch applications and system settings. Capabilities cover system monitoring for network connectivity a
Implements an inter-process communication system to exchange data and trigger dynamic updates across the environment.
Powerline is a statusline and prompt generation framework designed to provide consistent visual information across terminal shells, text editors, and multiplexers. It functions as a configuration-driven customization engine that allows users to define themes, color schemes, and dynamic segment layouts to maintain a cohesive interface across diverse command-line environments. The system utilizes a persistent background daemon to manage state and rendering logic, which offloads processing tasks to minimize resource consumption and ensure high responsiveness across multiple active application in
Implements inter-process communication via local sockets to synchronize data between the daemon and terminal sessions.
Ale is an asynchronous code analysis tool and integrated development environment plugin designed for lightweight text editors. It functions as a language server protocol client, enabling real-time code intelligence and diagnostic feedback by running analysis tasks in the background to ensure the editor interface remains responsive during intensive operations. The plugin utilizes an event-driven architecture to monitor text buffers and trigger linting or formatting routines automatically. It distinguishes itself through a modular extensibility framework that supports a wide range of language-s
Coordinates data exchange between the editor and background analysis processes using structured streams.
Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of Python applications. It functions as a line-level monitor, providing granular insights that pinpoint the specific source code responsible for performance overhead. The tool distinguishes itself through statistical profiling that captures stack traces and resource usage without requiring manual instrumentation of the source code. It tracks CPU, GPU, and memory consumption by intercepting library-level calls and hardware driver commands, allowing for the analysis of both managed and
Monitors child processes and threads by aggregating resource metrics through shared memory segments and inter-process communication channels.