66 مستودعات
Architectural patterns for swapping implementation modules at runtime.
Distinguishing note: Focuses on modular output and rendering backends.
Explore 66 awesome GitHub repositories matching software engineering & architecture · Pluggable Backends. Refine with filters or upvote what's useful.
Ijkplayer is a cross-platform media playback engine designed to provide consistent audio and video rendering across mobile devices. Built upon established open-source multimedia frameworks, it functions as a unified engine that leverages hardware-accelerated decoding to process diverse media formats. The project distinguishes itself by providing a comprehensive toolchain for compiling and configuring low-level media source code into native binary libraries. This allows developers to integrate high-performance playback directly into mobile applications, utilizing a pluggable output architectur
Supports swappable rendering and audio output modules for platform-specific optimization.
Matplotlib is a Python data visualization library and 2D plotting engine used to generate publication-quality figures and charts from numerical data. It serves as a numerical graphics library and data visualization toolkit for mapping data to visual elements. The library provides capabilities for producing static, animated, and interactive visualizations. This includes creating high-resolution figures for professional documents, generating moving graphics to illustrate data evolution over time, and building dynamic plots for interactive data exploration. The toolkit supports scientific plott
Provides a pluggable backend architecture that allows the plotting API to target diverse output formats and GUI toolkits.
Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers. The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents t
Allows swapping infrastructure modules like storage or service discovery at runtime.
mdBook is a documentation build system and static site generator designed to compile collections of Markdown files into structured, navigable web-based books. It provides a comprehensive framework for managing technical documentation, featuring a hierarchical table of contents, integrated full-text search, and automated build processes that transform source content into ready-to-deploy HTML websites. The project distinguishes itself through a highly modular pipeline architecture that supports custom preprocessors and swappable rendering backends. This allows authors to intercept and modify co
Supports swappable rendering backends to export documentation into multiple output formats.
Compiler Explorer is an online tool and analysis platform used to translate source code into assembly in real time. It functions as a cross-compiler analysis tool, allowing users to examine how various compilers and versions translate the same source code into machine code to analyze optimizations and generation patterns. The platform supports low-level language debugging and the comparison of assembly output across different compiler toolchains. It also provides a self-hosted environment option for users who need to run private deployments with custom binaries or operate within secure offlin
Provides a server infrastructure that runs compiler binaries in isolated sandboxes and streams output to the client.
StatsD is a metrics aggregator and UDP collection server that collects system counters and timers. It functions as a time-series data forwarder, receiving high-frequency metric updates via a lightweight line protocol and summarizing them before flushing the data to a backend. The project features a pluggable metrics backend framework, allowing aggregated statistics to be routed to various third-party monitoring services or time-series databases such as Graphite. It supports horizontal scaling and high availability through a proxy ring distribution system that forwards incoming packets across
Implements a modular architecture for routing aggregated statistics to various external monitoring backends.
This project is a comprehensive computer vision library for the PyTorch ecosystem, providing a standardized collection of neural network architectures, datasets, and high-performance transformation utilities. It serves as a foundational framework for building, training, and deploying deep learning models, offering a centralized model registry that allows developers to instantiate architectures with pre-trained weights for tasks such as image classification, object detection, and semantic segmentation. The library distinguishes itself through its modular approach to data and compute management
Allows the selection of underlying image and video decoding libraries to optimize performance based on specific system requirements.
Burn is a deep learning framework designed for building, training, and deploying neural networks using a modular architecture. As a machine learning library built in Rust, it provides a backend-agnostic computational engine that enables the execution of models across diverse hardware, including central processors, graphics processors, and web runtimes. The framework distinguishes itself through a highly portable design that allows developers to maintain a single workflow for both training and inference across heterogeneous environments. It incorporates advanced optimization techniques such as
Implements a pluggable architecture that dynamically swaps between different hardware drivers and compute runtimes.
Ydata-profiling is an automated exploratory data analysis framework designed to generate comprehensive statistical reports and visual summaries from dataframes. It functions as a diagnostic tool for assessing data quality, identifying missing values, duplicates, and outliers, while providing a scalable engine for profiling massive datasets across distributed enterprise environments. The project distinguishes itself through its ability to handle large-scale data through distributed task orchestration and lazy stream processing, which minimizes memory overhead during complex computations. It in
Decouples calculation logic from visual presentation to support pluggable report rendering.
This project is a self-hosted meeting transcription and summarization tool that converts audio recordings into text transcripts and structured notes using large language models. It functions as an enterprise meeting documentation manager, allowing for the organization and editing of timestamped records. The system prioritizes data privacy through local-first processing and the ability to deploy on private infrastructure. It supports a provider-agnostic architecture, enabling users to connect to local AI engines, self-hosted servers, or cloud-based API endpoints for both transcription and summ
Provides a pluggable architecture to switch between various speech-to-text engines and models.
This project is an open-source identity provider and single sign-on platform that centralizes user authentication for multiple web applications and services. It functions as a multi-protocol authentication gateway, verifying user identities and issuing tokens through the CAS protocol as well as industry standards including SAML, OAuth2, and OpenID Connect. The system acts as a federated identity server, allowing authentication to be delegated to external third-party or corporate identity providers. It distinguishes itself through identity attribute governance, which manages which specific use
Provides a modular driver system to verify identities against various databases, directories, or external APIs.
Dex is an OpenID Connect provider and identity federation proxy that translates authentication signals from various upstream sources into a unified OpenID Connect interface. It functions as a multi-protocol identity broker, enabling client applications to implement a single standard while delegating user verification to external identity providers. The project distinguishes itself through a pluggable connector architecture that bridges disparate protocols including LDAP, SAML, and OAuth2. It provides specific integrations for services such as GitHub, Google, GitLab, and Microsoft, while offer
Stores system configuration and session state in an etcd v3 cluster using custom namespaces and SSL.
Metaflow is a Python machine learning framework and MLOps workflow orchestrator designed to manage the lifecycle of data pipelines from local prototyping to production. It serves as a distributed compute manager and an experiment tracking system, enabling the creation of reproducible pipelines that transition between development and high-availability production environments. The framework distinguishes itself through an integrated checkpointing system that automatically persists intermediate data artifacts to remote storage, allowing failed runs to be resumed from the last successful step. It
Decouples run tracking and state management from the execution engine using interchangeable local or remote metadata providers.
RealtimeSTT is a local speech-to-text engine and real-time automatic speech recognition server. It utilizes transformer-based recognition and omnilingual pipelines to convert live audio streams into text, providing a WebSocket-based streaming API for raw PCM audio transmission. The project is distinguished by a dual-backend transcription pipeline that uses a lightweight engine for immediate partial suggestions and a heavier model for final high-accuracy results. It includes a wake word detection system to trigger recording and employs a shared-resource inference model to distribute heavy spee
Allows using separate transcription engines for partial and final results to balance processing speed with accuracy.
Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me
Offers a pluggable architecture for swapping internal implementations of logging, metrics, and memory allocation.
This repository contains the complete source code for a Unix-like operating system, including the monolithic kernel and base system utilities. It provides a BSD-derived system core and a full build toolchain required to compile a functional operating system for servers, desktops, or embedded devices. The system features a Linux binary compatibility layer that enables the execution and emulation of Linux binaries on a non-Linux platform. It also includes a modular kernel configuration process to tailor hardware support and system features during compilation. The project covers broad system ca
Implements a modular authentication system that decouples identity verification applications from backend validation mechanisms.
Unicorn is a multi-architecture CPU emulation framework and library that utilizes just-in-time compilation to execute instructions across various processor architectures, including ARM, x86, and RISC-V. It functions as both a JIT compilation engine and an instrumentation tool, allowing for the execution of machine code without the need for physical hardware. The framework is distinguished by its hook-based execution instrumentation, which enables the interception of specific instructions and memory accesses to trigger custom callback functions. It provides a language-agnostic binding layer an
Uses a common interface to support pluggable backend implementations for diverse CPU models.
JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It functions as a syntax validator that scans source code to identify potential logic problems and programming mistakes before the code is executed. The tool provides a command line interface for analyzing files and directories. It supports the export of analysis results into standardized formats such as Checkstyle for integration with external build tools. Analysis is managed through a system of linting rule management and environment global configuration. This includes the ability
Includes pluggable rendering backends that transform internal analysis data into standardized output formats like Checkstyle.
StableStudio is a generative AI frontend and image interface designed for creating and editing visual content. It provides a web-based graphical interface that connects to generative AI models via API connections to facilitate image synthesis and modification. The project functions as a pluggable AI backend manager, using a modular system to standardize diverse AI provider APIs into a unified format. This architecture allows users to swap between different generative AI backends and providers to compare outputs and optimize production. The system manages long-running generation tasks through
Implements a pluggable backend architecture for swapping AI provider implementation modules at runtime.
ExternalDNS is a controller that automatically synchronizes Kubernetes resource states with external DNS providers. It monitors cluster resources such as services, ingresses, and gateway APIs to dynamically create and update DNS records, enabling automated service discovery and external traffic management. The project features a provider-agnostic interface that supports a wide array of cloud-managed vendors and on-premises providers, as well as an extension system for custom providers via webhooks and sidecars. It implements a reconciliation loop that uses resource annotations and custom reso
Transfers record ownership information from TXT records to DynamoDB when switching storage backends.