31 Repos
Design patterns that allow interchangeable components or algorithms to be swapped without altering core logic.
Distinct from Data Compression Algorithms: Focuses on the pluggable architectural pattern rather than the specific compression algorithm itself.
Explore 31 awesome GitHub repositories matching data & databases · Pluggable Architectures. Refine with filters or upvote what's useful.
k6 is a developer-centric load testing suite and command-line load generator designed for network performance validation. It functions as a JavaScript load testing tool that utilizes a Go-based runtime engine to simulate concurrent user traffic and validate API responses across HTTP, gRPC, and WebSockets. The project distinguishes itself by using code rather than a graphical interface to define workload scenarios and performance thresholds. It features a pluggable protocol architecture and an extension ecosystem that allows for the addition of custom protocols and specialized testing capabili
Features a pluggable architecture that allows the addition of custom protocols to extend network testing capabilities.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Decouples core logic from external dependencies using a pluggable architecture based on Go interfaces.
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Provides a pluggable system for swapping out refresh indicators by implementing a common interface.
Passport is a Node.js authentication middleware designed to manage user identities and session states within web applications. It functions as a request identity verifier that secures application routes by validating user credentials before granting access. The system utilizes a modular authentication strategy, allowing identity verification through interchangeable plugins. This architecture supports the creation of custom authentication strategies for local credentials and the integration of federated identity providers using external protocols. The framework provides capabilities for sessi
Implements a pluggable strategy registry to dynamically select authentication mechanisms during the request lifecycle.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Organizes language-specific logic into discrete modules that implement a common interface for creating clients and servers.
Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system. The project distinguishes itself by providing a symbolic engine capable of parsing, simplifying, and manipulating mathematical expressions algebraically without requiring immediate numerical evaluation. It includes a framework for defining and converting physical quantities with units of measure and automatic prefix support. The library covers a broad
Provides a configurable map of mathematical operations and constants that allows users to add custom logic.
Subfinder is a passive subdomain enumeration tool and DNS discovery utility designed to identify valid subdomains and hostnames associated with a specific organization or domain. It functions as a passive reconnaissance tool, gathering information about target domains by querying online databases without sending network traffic to the target infrastructure. The tool utilizes a pluggable provider architecture to separate discovery logic into independent modules, allowing for the integration of multiple passive-source APIs. It employs a concurrent-worker request model to execute network request
Uses a pluggable architecture to separate discovery logic into independent modules for different online sources.
Quicktype is a multi-language model generation engine that converts JSON and GraphQL schemas into type-safe models and serialization code. It functions as a JSON to type generator and a GraphQL type generator, producing strongly typed classes and interfaces across a wide array of target programming languages. The system derives formal schemas from sample data and transforms these definitions into native language objects. This enables the synchronization of shared data models across diverse tech stacks and the development of type-safe interfaces for consuming external APIs. The engine utilize
Employs a pluggable architecture to support various language-specific code generators.
jsZip is a JavaScript library for creating, reading, editing, and extracting ZIP archives within the browser or Node.js. It functions as an in-memory ZIP compressor and archive manager that generates compressed data streams and blobs from file collections without requiring a local filesystem. The library provides specific support for the ZIP64 extension, allowing it to handle archives and individual files that exceed the four gigabyte limit. It enables the dynamic modification of existing ZIP files to add, remove, or update internal folder structures and metadata. The project covers a broad
Decouples archive structure logic from specific compression methods via a pluggable algorithm interface.
gremlins.js is a JavaScript stress testing framework and web UI monkey testing library. It functions as a browser chaos testing tool that automates random interactions with DOM elements to identify stability issues, unexpected crashes, and edge-case bugs in web applications. The tool utilizes a seeded-random interaction engine to ensure test sequence repeatability, allowing specific failure sequences to be recreated for debugging. It supports the definition of custom interaction rules and pluggable strategies to target specific application behaviors through weighted-probability action dispatc
Allows the definition of custom, pluggable simulation functions to target specific application behaviors.
This project is a public key infrastructure management system designed to automate the issuance, renewal, and revocation of X.509, TLS, and SSH certificates. It functions as a machine identity provider and certificate authority, enabling the establishment of private PKI to secure inter-service communication and remote access. The system distinguishes itself through hardware-bound identity attestation, which ties cryptographic keys to physical device silicon or TPMs to prevent credential exfiltration. It supports a wide array of identity verification mechanisms, including OIDC, cloud-provider
Decouples identity verification from certificate signing by using interchangeable logic for different enrollment protocols.
Score is a platform-agnostic workload specification standard that defines containerized application deployments and their resource dependencies in a declarative YAML format. It provides a developer-centric specification that separates environment-agnostic workload definitions from environment-specific configuration, enabling consistent deployment across development, testing, and production environments. The specification framework translates a single workload definition into deployable manifests for multiple container orchestration platforms, including Docker Compose and Kubernetes. It includ
Loads provisioners from local files, HTTP, Git, or OCI registries with configurable priority ordering for extensibility.
rustls is a modern implementation of the Transport Layer Security protocol written in the Rust programming language. It serves as a cryptographic transport layer for establishing encrypted connections between clients and servers to ensure data privacy and integrity. The library features a pluggable crypto provider framework, allowing the substitution of cryptographic primitive implementations to meet specific platform architecture or regulatory compliance requirements. It provides capabilities for secure server configuration to handle encrypted incoming connections and secure client connecti
Features a pluggable framework for swapping cryptographic primitive implementations to meet architecture or compliance requirements.
Surprise is a Python library for building and analyzing recommendation systems. It provides a comprehensive toolkit for implementing collaborative filtering to predict user preferences and generate item suggestions based on historical rating patterns. The library includes dedicated tools for hyperparameter optimization and model evaluation. It allows for searching through parameter sets to find the most effective configurations and utilizes a suite of metrics to measure prediction accuracy. The framework covers the full development workflow, including data loading from various sources, the c
Offers a standardized interface for initializing and training different recommendation algorithms to ensure consistent evaluation.
Acra is an Android crash reporting framework and diagnostic data collector designed to detect failures and capture device diagnostics, system logs, and application state. It serves as an embeddable library for capturing and processing crash reports, providing a pipeline to send this data to custom backends or via email. The project features a plugin-based sender architecture that allows reports to be routed through HTTP endpoints, email clients, or proprietary backend implementations. It includes a user-controlled reporting system with preference toggles and interactive dialogs to manage user
Provides a pluggable architecture for routing crash reports through HTTP, email, or custom backends.
Goth is a Go library that provides a consistent, provider-agnostic interface for authenticating users through dozens of third-party OAuth and OAuth2 services. It defines a pluggable provider interface and a central registry where providers are registered by name, enabling dynamic lookup and invocation during authentication flows. The library manages the multi-step OAuth authorization process by generating redirect URLs and validating callback responses, and returns a standardized user profile with common fields like email, name, and avatar URL across all supported providers. The library disti
An extensible system where new authentication providers can be added by implementing a simple interface without modifying core logic.
PyTorch Metric Learning is an open-source library for training neural networks to produce similarity-preserving embedding spaces. It provides a modular framework where interchangeable loss functions, mining strategies, and evaluation tools can be composed to learn representations that map similar items to nearby points and dissimilar items to distant points in the embedding space. The library distinguishes itself through a highly configurable architecture that separates concerns across several interchangeable components. Users can assemble custom loss functions from pluggable distance metrics
Ships a pluggable reducer architecture that aggregates per-element or per-pair losses using interchangeable strategies like mean or threshold averaging.
Loads completions from LSP servers, buffer words, file paths, and community sources through a pluggable interface.
Dieses Projekt ist ein responsives Layout-Framework für Angular, das ein System von Direktiven bereitstellt, um adaptive Benutzeroberflächen mittels CSS Flexbox und CSS Grid zu erstellen. Es enthält spezialisierte Bibliotheken zur Verwaltung der Ausrichtung flexibler Boxen und zur Strukturierung komplexer zweidimensionaler Seitengitter. Das Framework bietet einen Breakpoint-Monitoring-Service, um Media-Query-Änderungen programmatisch zu beobachten und Logik auszulösen, wenn Viewport-Dimensionen definierte Grenzen überschreiten. Zur Performance-Optimierung enthält es einen Build-Time-CSS-Generator, der SASS-Mixins verwendet, um statische Media-Query-Stylesheets zu erstellen, was den Bedarf an Laufzeit-Stilberechnungen reduziert. Das System deckt ein breites Spektrum an Layout-Funktionen ab, einschließlich Viewport-gesteuerter Sichtbarkeit, Drucklayout-Optimierung und suffixbasiertem responsivem Markup. Es bietet Werkzeuge zur Verwaltung von Container-Flow, Element-Skalierung und Layout-Abständen für sowohl Flexbox- als auch Grid-basierte Positionierung.
Provides extensibility points to override the algorithms used to generate CSS from layout directives.
pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across
Supports SSH, Docker, and local execution through interchangeable connectors for targeting diverse environments.