14 dépôts
Executing wrapped operations asynchronously by returning a future to the caller.
Distinct from Runtime Command Execution: Distinct from database or remote shell execution as it refers to a general fault-tolerant command pattern.
Explore 14 awesome GitHub repositories matching software engineering & architecture · Asynchronous Command Execution. Refine with filters or upvote what's useful.
Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade. The project distinguishes itself by providing multiple isolation mechanisms, utilizing dedicated thread pools and semaphores to ensure that latency in one dependency does not saturate the entire system. It also features a request collapsing and batching engine that groups concurrent calls into single executions to reduce the t
Queues dependency calls for asynchronous execution, returning a future to retrieve results without blocking the calling thread.
pysheeet est une bibliothèque de référence technique fournissant une collection organisée d'extraits de code et de modèles d'implémentation pour le développement Python avancé, l'intégration système et le calcul haute performance. Il sert de guide complet pour implémenter la programmation réseau de bas niveau, les extensions C natives, et la programmation asynchrone et concurrente. Le projet fournit des frameworks spécialisés pour le développement et le déploiement de grands modèles de langage, y compris des outils pour l'inférence GPU distribuée et le service haute performance. Il inclut également des modèles détaillés pour l'orchestration de clusters de calcul haute performance, couvrant l'allocation des ressources GPU et la gestion des charges de travail multi-nœuds. La bibliothèque couvre une large surface de capacités, y compris la communication réseau sécurisée et la cryptographie, l'ORM et la gestion de base de données, et l'implémentation de structures de données et d'algorithmes complexes. Elle fournit également des utilitaires pour la gestion de la mémoire, l'interopérabilité native via des interfaces de fonctions étrangères (FFI) et l'intégration au niveau du système d'exploitation.
Provides patterns for the asynchronous execution of system-level binaries and shell commands.
pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au
Groups multiple protocol instructions into single messages to minimize network round trips and increase speed.
Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t
Runs system commands asynchronously and manages their output to keep the main event loop responsive.
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
Processes heavy computations asynchronously using a message queue to prevent blocking the user interface.
Vorpal est un framework CLI interactif Node.js et une bibliothèque d'interface utilisateur de terminal utilisée pour construire des shells en ligne de commande extensibles. Il fonctionne comme un analyseur de ligne de commande interactif qui convertit l'entrée de chaîne en fonctions exécutables, gérant le cycle de vie des sessions de terminal et le routage des commandes. Le framework se distingue par une architecture d'extension basée sur des plugins qui permet aux modules externes d'enregistrer de nouvelles commandes, des comportements partagés et des suites de commandes complètes dans l'environnement principal. Il prend en charge la création d'environnements shell personnalisés avec des espaces de noms spécialisés et un système pour l'historique utilisateur persistant et le stockage local clé-valeur. Le projet fournit des utilitaires complets pour la gestion des commandes, incluant l'autocomplétion, le support d'alias et des systèmes d'aide programmables. Il inclut également des contrôles d'E/S de terminal pour la modification dynamique des invites, l'interception de la sortie standard et l'invitation interactive de l'utilisateur. La gestion des erreurs est traitée via des écouteurs d'exceptions globaux et des déclencheurs spécifiques pour les entrées utilisateur non correspondantes.
Implements a promise-based queue for non-blocking execution of commands within the terminal interface.
GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It functions as a version control API and a wrapper that allows for the execution of Git commands and the manipulation of repository commits, branches, and working trees. The project acts as a Git object manipulator, allowing users to inspect and modify internal data structures and blobs. It provides a structured layer for executing command line instructions with integrated error handling and data retrieval. The library covers a wide range of capabilities including repository initializ
Manages the lifecycle of external system processes to run git commands with custom paths.
forgit est un wrapper CLI interactif basé sur le shell qui utilise un fuzzy finder pour transformer la sortie Git en menus de sélection. Il fonctionne comme un accélérateur de workflow et un navigateur d'historique, remplaçant la saisie manuelle de commandes par des interfaces interrogeables pour les opérations de contrôle de version. L'outil fournit des gestionnaires spécialisés pour les worktrees Git et un navigateur d'historique interactif pour visualiser les logs de commit, les reflogs et les données de blame. Il se différencie en encapsulant les sous-commandes Git natives dans une logique de sélection, permettant aux utilisateurs de choisir des cibles avant d'exécuter les opérations finales. Ses capacités couvrent le staging interactif de fichiers, la gestion de branches et les opérations de rebase guidées telles que les cherry-picks et les fixups de commit. Il inclut également des outils pour la restauration interactive de changements, la gestion de stash et la génération de fichiers d'ignore et d'attributs. Le projet prend en charge l'intégration des sous-commandes Git natives via des alias et fournit des scripts de complétion automatique pour le shell. La configuration du comportement des commandes, des raccourcis clavier et des pagers de sortie est gérée via des variables d'environnement système.
Launches native git binaries as subprocesses and captures their output to drive the interactive selection logic.
RxFFmpeg est un framework multimédia et transcodeur pour Android basé sur FFmpeg. Il fournit un ensemble d'outils pour l'édition, le transcodage et le traitement vidéo et audio sur les appareils Android. Le framework intègre un composant de lecture vidéo pour le rendu de fichiers locaux et de flux réseau, avec prise en charge du zoom et de la rotation. Il inclut également des bibliothèques spécialisées pour l'édition vidéo Android, comme le recadrage et le découpage, ainsi que le traitement audio pour le mixage de pistes et la modification de la hauteur de voix. Le projet couvre de larges capacités de manipulation multimédia, incluant la conversion d'images en vidéo, l'extraction de métadonnées et l'application d'effets visuels comme des sous-titres et des filtres. Il prend en charge la séparation audio/vidéo, ainsi que la conversion de fichiers multimédias entre différents formats et codecs.
Implements a system to execute FFmpeg native binaries as asynchronous subprocesses with progress tracking.
Phoenix est un automatiseur d'espace de travail et gestionnaire de fenêtres pour macOS qui utilise un moteur de script JavaScript pour contrôler les comportements au niveau du système. Il fonctionne comme un pont d'automatisation AppleScript, permettant aux utilisateurs de manipuler par programmation les états des applications, la géométrie des fenêtres et les interactions avec le bureau. Le projet permet la création de flux de travail personnalisés en liant des raccourcis clavier à des fonctions JavaScript. Cela permet l'automatisation d'actions système complexes, telles que l'organisation des mises en page d'applications sur plusieurs écrans et la gestion des espaces virtuels. Sa surface de capacités couvre la gestion des fenêtres et des applications, l'exécution asynchrone de commandes shell et l'automatisation au niveau du système. Il inclut également des utilitaires pour gérer les coordonnées d'écran 2D, planifier des tâches récurrentes et interagir avec l'utilisateur via des notifications système et des fenêtres modales. L'application prend en charge un mode démon pour une opération en arrière-plan et surveille le système de fichiers pour recharger les fichiers de configuration sans nécessiter de redémarrage.
Runs shell commands and external scripts in background threads to prevent the main execution loop from freezing.
TermKit is a framework for building desktop terminal environments using a decoupled architecture that pairs a Node.js backend with a WebKit-based frontend. It functions as a terminal emulator that replaces traditional monospace text buffers with a rich text user interface capable of rendering complex widgets, tables, and media. The project distinguishes itself through a MIME-based data streaming system that routes binary data via pipes, using headers to automatically select the appropriate visual formatter for rendering. It utilizes a token-based command interface that processes input as disc
Runs backend processes independently from the frontend to prevent keystroke lag and maintain UI responsiveness.
Ce projet est un framework de configuration Neovim complet et un environnement de développement intégré construit avec une configuration modulaire basée sur Lua. Il fournit un espace de travail cohérent qui orchestre l'esthétique de l'éditeur, les raccourcis clavier et le cycle de vie des plugins pour transformer l'éditeur en un environnement de développement complet. La configuration est conçue comme un environnement de développement polyglotte avec un support dédié pour Python, C++, Lua, Markdown et LaTeX. Il dispose d'une configuration client LSP spécialisée pour l'intelligence de code multi-langage et une suite d'intégration Git pour gérer les flux de travail de contrôle de version et le staging des changements directement dans l'interface. L'environnement couvre un large éventail de capacités, y compris la recherche floue pour la découverte de fichiers et de buffers, la navigation structurelle dans le code et la gestion automatisée des snippets. Il inclut également des outils pour la rédaction de documents techniques avec prévisualisation de mise en page, l'exploration visuelle de projets et des utilitaires pour le formatage de structures de données et la manipulation de texte.
Implements non-blocking execution of external commands and scripts to maintain a responsive user interface.
earlyoom est un démon Linux OOM killer qui surveille la mémoire système et termine les processus pour éviter les gels du système. Il agit comme un moniteur de ressources mémoire et un gestionnaire de terminaison de processus, suivant la RAM disponible et l'espace swap pour garantir que le système d'exploitation reste réactif. Le projet se distingue en sélectionnant les cibles de terminaison en fonction de la plus grande taille d'ensemble résident plutôt que de se fier uniquement aux scores OOM du noyau. Il fournit un contrôle granulaire via un filtrage de processus basé sur des expressions régulières pour protéger des applications spécifiques et peut terminer des groupes de processus entiers pour assurer un nettoyage complet de l'application. Le système inclut un framework de notification qui envoie des alertes d-bus lorsque la mémoire atteint des seuils critiques et prend en charge des hooks de terminaison personnalisés. Ces hooks permettent l'exécution de scripts et de binaires externes avant ou après qu'un processus ne soit tué. Il s'intègre également au OOM killer natif du noyau Linux pour différer la sélection des victimes au système d'exploitation lorsque demandé. Le démon extrait les statistiques de processus et les données mémoire en analysant le pseudo-système de fichiers du noyau et enregistre les événements opérationnels via la journalisation des événements système.
Executes external binaries or scripts as child processes to perform custom cleanup or notifications.
bqplot is an interactive data visualization library for Jupyter notebooks. It implements a grammar of graphics model, allowing users to build complex 2D charts by combining marks, scales, and axes. The library distinguishes itself with specialized toolkits for financial charting, such as OHLC candlesticks and time-series analysis, and geographic data visualization, including choropleths and custom map projections for TopoJSON and GeoJSON data. It enables deep interaction through tools like lasso selection, rectangular brushing, and the ability to manually manipulate plot points or line data.
Groups multiple attribute changes into single network requests to reduce communication overhead between backend and frontend.