22 dépôts
Architectural patterns where application state is updated by periodically querying peripheral device status.
Distinct from Long-Polling Queries: None of the candidates cover the specific frame-based polling pattern used in game loops.
Explore 22 awesome GitHub repositories matching software engineering & architecture · Polling-Based Input Models. Refine with filters or upvote what's useful.
Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase. The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads. The framework covers core game development ca
Employs a polling-based input system that queries peripheral devices at the start of every frame.
mi-gpt is a voice assistant bridge and agent orchestrator that connects smart speakers to large language models. It functions as an integration layer that routes audio requests from hardware speakers to AI providers and converts generated text back into speech via a customizable synthesis system. The project features a retrieval-augmented generation knowledge base that uses embeddings and external documents to provide context-aware responses. It includes a persona definition system for configuring behavioral rules, system prompts, and roleplay characteristics, alongside a plugin architecture
Periodically queries device conversation lists to capture user voice inputs for processing.
KEDA is a Kubernetes event-driven autoscaler and cloud event scaling engine. It functions as a custom metrics provider that monitors external event sources—including message brokers, databases, and cloud metrics—to dynamically adjust the replica counts of containerized workloads. The project is distinguished by its scale-to-zero workflow, which reduces workloads to zero replicas during inactivity and automatically restarts them when new events are detected. It operates as a multi-cloud event trigger system, using a pluggable scaler interface to integrate with a wide array of third-party servi
Sets the frequency for checking trigger sources to balance responsiveness with API load.
OctoPrint is a web-based control panel and Python-based hardware server for managing 3D printers. It functions as a G-code remote controller that sends commands to printer firmware over a persistent USB serial connection, allowing users to operate hardware and monitor print jobs through a browser. The project is an extensible hardware management platform that utilizes a plugin-based system. This architecture enables the addition of third-party functionality and custom extensions to modify core behavior and expand the system's remote control capabilities. The platform covers remote printer ma
Uses periodic polling of the hardware status to update the client interface.
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Provides examples of querying input states every frame to execute continuous logic while keys are held.
Watchdog is a Python library and set of shell utilities for monitoring filesystem events. It provides a framework for tracking real-time changes to files and directories, mapping those events to configurable automation handlers, and executing system actions based on file creation, modification, or deletion. The project includes an event-driven shell utility for triggering custom scripts and commands automatically. It utilizes a configurable handler framework that allows users to associate specific filesystem events with specialized plugin logic defined in configuration files. The system moni
Provides a polling-based fallback mechanism that checks file timestamps to detect changes when OS events are unavailable.
Battery is a command-line and graphical utility for macOS that manages battery charging behavior to prolong battery lifespan. It functions as a charge limiter, allowing users to set a maximum charge threshold—typically 80%—and maintain that limit across reboots and even when the application is closed. The tool also includes a battery sensor calibration feature that discharges the battery to a low level and then fully recharges it to restore accurate capacity reporting. The project distinguishes itself by offering both a CLI and a GUI for controlling charging behavior, supporting custom percen
Periodically reads battery percentage from the sysfs filesystem to detect charge level changes.
TensorFlow Serving is a high-performance machine learning inference server designed to deploy TensorFlow models to production environments. It functions as a complete serving system that executes predictions on input data through a graph executor, providing network endpoints that eliminate the need for a separate runtime environment for client applications. The system is distinguished by its model version manager, which organizes and selects specific model versions within a directory hierarchy. It uses a filesystem watcher to detect new model versions and trigger automatic updates without int
Automatically detects new model versions in the filesystem to trigger updates without interrupting live traffic.
This project is a Nintendo Entertainment System emulator written in Go. It functions as a hardware simulation that executes game ROMs by mimicking the original console's circuitry, including the processor and picture processing unit. The emulator includes a game library browser that identifies local files and retrieves titles and thumbnails from online databases using file checksums. It also implements a system of memory management mappers to ensure compatibility across various game ROM formats and hardware configurations. The software covers high-level capabilities for game ROM execution an
Queries input device states synchronized with the application's update loop for real-time interaction.
Gitify is a cross-platform desktop application for monitoring GitHub alerts and activity through a native system tray or menu bar interface. It functions as a specialized API client that connects to both GitHub cloud and GitHub Enterprise servers on macOS, Windows, and Linux. The application manages multiple GitHub accounts and servers simultaneously from a single interface. It focuses on reducing notification noise by allowing users to filter alerts and prioritize important updates, moving monitoring away from the web browser. Users can customize alert behaviors through visual themes, nativ
Periodically queries GitHub APIs at set intervals to retrieve the latest notification updates.
freegeoip est un service de géolocalisation auto-hébergé et un serveur API qui mappe les adresses IP et les noms d'hôtes vers des emplacements géographiques. Il fonctionne comme un lecteur de base de données MaxMind, analysant les bases de données de géolocalisation binaires pour fournir des données de localisation via une interface REST. Le projet se distingue en fournissant une alternative privée aux fournisseurs de géolocalisation cloud, gérant les fichiers de base de données locaux et automatisant les mises à jour périodiques. Il inclut un résolveur IP de proxy inverse pour extraire les adresses client originales des en-têtes de proxy, garantissant un mappage précis derrière les équilibreurs de charge. Le service intègre un système de gestion de quotas pour appliquer des limites de requêtes par client et sécurise ses points de terminaison en utilisant le chiffrement TLS et les politiques CORS. Il dispose également d'une synchronisation automatisée des bases de données avec vérification de version basée sur des sommes de contrôle et une interface web publique optionnelle pour effectuer des recherches.
Monitors the local filesystem to automatically reload geolocation data files without interrupting server operation.
acme-tiny is a minimal ACME client implemented as a single-file Python script that automates obtaining and renewing SSL/TLS certificates from a Certificate Authority using the Automated Certificate Management Environment (ACME) protocol. It relies on OpenSSL command-line tools for key generation and certificate signing request creation, and uses file-based HTTP validation to verify domain ownership by placing a token file on the web server. Designed for fully automated certificate lifecycle management, acme-tiny is intended to be executed periodically by a system scheduler like cron, checking
Polls the ACME server until all domain validation challenges are completed.
Grequests is an asynchronous HTTP client and wrapper for the Requests library that uses Gevent coroutines to execute multiple network requests concurrently. It utilizes a non-blocking connection pool to manage simultaneous outgoing requests and improve throughput compared to sequential execution. The library features an asynchronous response generator that yields HTTP responses as they complete, rather than waiting for an entire batch to finish. It provides a mechanism to limit the number of active connections to manage resource consumption and prevent destination servers from being overloade
Fetches data from multiple API endpoints simultaneously with connection limits to avoid rate limits.
Grequests is an asynchronous HTTP batcher and Gevent-based client library used to execute large sets of network requests simultaneously. It functions as a concurrent request wrapper for the Requests library, enabling non-blocking operations to reduce the total time spent waiting for server responses. The project provides a task-pool execution model to handle batch network operations, such as high-throughput web scraping and API polling. It can stream responses as they arrive via a generator, allowing for immediate data processing without waiting for the entire batch to complete. The library
Enables simultaneous fetching of data from multiple API endpoints to reduce total server wait time.
Xiaomi-cloud-tokens-extractor est un outil conçu pour récupérer les jetons d'authentification et les clés de chiffrement des appareils liés à un compte cloud Xiaomi. Il fonctionne comme une interface pour se connecter aux services cloud via des identifiants ou des codes QR afin d'exporter par programmation les identifiants de sécurité pour le matériel IoT. Le projet permet spécifiquement l'extraction des clés de sécurité Bluetooth Low Energy, ce qui autorise une communication locale sécurisée avec le matériel sans dépendre du cloud. Ces jetons et clés extraits facilitent l'intégration des appareils liés au cloud dans des logiciels tiers et des plateformes de domotique locale. L'outil gère l'authentification au compte cloud et la gestion de session en utilisant OAuth2 et le polling d'API REST. Il traite les données de réponse du cloud pour mapper les identifiants d'appareils à leurs jetons de sécurité et clés de chiffrement correspondants.
Retrieves device metadata and security tokens by making sequential requests to cloud service endpoints.
Siren est un outil de gestion des mises à jour d'applications qui identifie les versions disponibles sur les magasins d'applications et invite les utilisateurs à mettre à niveau leurs installations. Il utilise le versionnage sémantique pour comparer la version installée avec la version du magasin et s'intègre aux API des magasins pour récupérer les dernières métadonnées. L'outil gère l'expérience de mise à jour via des implémentations de mises à jour forcées, des suggestions de mises à jour facultatives et des déploiements progressifs qui reportent les notifications pendant un nombre de jours défini. Il inclut un vérificateur de compatibilité du système d'exploitation pour empêcher les invites de mise à jour si l'appareil ne répond pas aux exigences minimales de la nouvelle version. Le système fournit des interfaces d'alerte localisées qui mappent les messages de mise à jour vers la langue de l'appareil ou une locale spécifiée. Il route les comportements de l'interface utilisateur selon qu'une mise à jour spécifique est marquée comme obligatoire ou facultative.
Queries official app store APIs to retrieve the latest version and minimum OS requirements.
libfreenect is a driver implementation for integrating Kinect sensors with a computer to capture depth images, audio, and accelerometer readings across various operating systems. It provides a hardware-abstracted API to manage the connection between the sensor hardware and the host system. The project enables the capture of sensor data and the control of internal device hardware, such as motors and LED indicators. It also includes tools for recording and replaying sensor data streams to local files, allowing for offline analysis and testing without a physical device. The library handles 3D d
Reads incoming depth and color data frames at fixed intervals to maintain a constant frame rate.
This project is a home automation mobile client and smart home controller for Android devices. It serves as an interface to connect to a central automation server for monitoring sensor data, managing connected household hardware, and triggering scripts. The application integrates native Android system features to act as a device integration tool, exposing system sensors, location data, and battery status to the automation server. It also provides a mobile home dashboard with visual interface personalization and custom themes to prioritize specific device controls. The system supports remote
Uses scheduled API polling to retrieve configuration and state data from the central server.
GodotSteam is a game engine plugin and API wrapper that integrates the Steamworks SDK into the Godot engine. It serves as a bridge between the engine's scripting layer and platform services, allowing applications to access social features and platform-specific connectivity. The project utilizes a C++ wrapper and a C-compatible foreign function interface to bind the Steamworks SDK. It includes a session manager that handles application ID initialization and enforces that the application is launched through the Steam client to validate ownership and session integrity. The integration covers se
Periodically checks the internal message queue during the game's main loop to dispatch callbacks.
Beehave is a behavior tree AI framework and plugin for the Godot engine. It serves as an agent logic orchestrator for designing adaptive non-player character behaviors using hierarchical behavior trees. The system features a visual debugger that provides runtime visualization of the execution flow and internal state of active trees. This allows for AI execution analysis and the identification of logic errors through a state-based runtime interface. The framework utilizes a composite-decorator pattern and a tick-based polling cycle to execute tree-based logic. It integrates directly with the
Updates the behavior tree state at a fixed frequency synchronized with the game loop frame.