22 repositorios
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 es un servicio de geolocalización autohospedado y servidor API que mapea direcciones IP y nombres de host a ubicaciones geográficas. Funciona como un lector de bases de datos MaxMind, analizando bases de datos de geolocalización binarias para proporcionar datos de ubicación a través de una interfaz REST. El proyecto se distingue por proporcionar una alternativa privada a los proveedores de geolocalización en la nube, gestionando archivos de base de datos locales y automatizando actualizaciones periódicas. Incluye un resolvedor de IP de proxy inverso para extraer direcciones de clientes originales de los encabezados de proxy, asegurando un mapeo preciso detrás de balanceadores de carga. El servicio incorpora un sistema de gestión de cuotas para aplicar límites de solicitudes por cliente y asegura sus endpoints utilizando cifrado TLS y políticas CORS. También cuenta con sincronización automatizada de bases de datos con verificación de versión basada en checksum y un frontend web público opcional para realizar búsquedas.
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 es un cliente HTTP asíncrono y un wrapper para la librería Requests que utiliza corrutinas de Gevent para ejecutar múltiples peticiones de red de forma concurrente. Utiliza un pool de conexiones no bloqueante para gestionar peticiones salientes simultáneas y mejorar el rendimiento en comparación con la ejecución secuencial. La librería cuenta con un generador de respuestas asíncrono que devuelve las respuestas HTTP a medida que se completan, en lugar de esperar a que todo el lote finalice. Proporciona un mecanismo para limitar el número de conexiones activas para gestionar el consumo de recursos y evitar la sobrecarga de los servidores de destino. El proyecto cubre capacidades para la gestión de peticiones por lotes, web scraping de alto volumen y sondeo de APIs de forma concurrente. Incluye soporte para transmitir cuerpos de respuesta grandes para mantener un bajo uso de memoria y gestiona los tiempos de espera de red y errores de conexión inyectando estados de error en la lista de respuestas.
Fetches data from multiple API endpoints simultaneously with connection limits to avoid rate limits.
Grequests es un batcher HTTP asíncrono y una librería cliente basada en Gevent utilizada para ejecutar grandes conjuntos de peticiones de red simultáneamente. Funciona como un wrapper de peticiones concurrentes para la librería Requests, permitiendo operaciones no bloqueantes para reducir el tiempo total de espera de las respuestas del servidor. El proyecto proporciona un modelo de ejecución de pool de tareas para manejar operaciones de red por lotes, como web scraping de alto rendimiento y sondeo de APIs. Puede transmitir respuestas a medida que llegan mediante un generador, permitiendo el procesamiento inmediato de datos sin esperar a que todo el lote se complete. La librería cubre áreas de capacidad amplias, incluyendo la gestión de peticiones HTTP concurrentes y el manejo de excepciones de petición durante la ejecución por lotes.
Enables simultaneous fetching of data from multiple API endpoints to reduce total server wait time.
Xiaomi-cloud-tokens-extractor es una herramienta diseñada para recuperar tokens de autenticación y claves de cifrado para dispositivos vinculados a una cuenta en la nube de Xiaomi. Funciona como una interfaz para iniciar sesión en servicios en la nube mediante credenciales o códigos QR para exportar programáticamente las credenciales de seguridad del hardware IoT. El proyecto permite específicamente la extracción de claves de seguridad de Bluetooth Low Energy, lo que permite una comunicación local segura con el hardware sin depender de la nube. Estos tokens y claves extraídos facilitan la integración de dispositivos vinculados a la nube en software de terceros y plataformas locales de automatización del hogar. La herramienta gestiona la autenticación de la cuenta en la nube y la gestión de sesiones mediante OAuth2 y sondeo (polling) de API REST. Procesa los datos de respuesta de la nube para mapear los identificadores de los dispositivos con sus correspondientes tokens de seguridad y claves de cifrado.
Retrieves device metadata and security tokens by making sequential requests to cloud service endpoints.
Siren es una herramienta de gestión de actualizaciones de aplicaciones que identifica las versiones disponibles en la tienda de aplicaciones y solicita a los usuarios que actualicen sus instalaciones. Utiliza versiones semánticas para comparar la versión instalada con la versión de la tienda e integra con las API de la tienda para obtener los metadatos más recientes. La herramienta gestiona la experiencia de actualización a través de implementaciones de actualización forzada, sugerencias de actualización opcionales y despliegues graduales que posponen las notificaciones durante un número determinado de días. Incluye un verificador de compatibilidad del sistema operativo para evitar avisos de actualización si el dispositivo no cumple con los requisitos mínimos de la nueva versión. El sistema proporciona interfaces de alerta localizadas que mapean los mensajes de actualización al idioma del dispositivo o a una configuración regional específica. Dirige los comportamientos de la interfaz de usuario según si una actualización específica está marcada como obligatoria u opcional.
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.