19 dépôts
Integration of Lua interpreters to provide programmable automation within an application.
Distinct from Lua Scripting Engines: The candidates are tied strictly to RFID or game engines; this is general application automation.
Explore 19 awesome GitHub repositories matching programming languages & runtimes · Embedded Lua Scripting. Refine with filters or upvote what's useful.
Ce projet est un environnement de firmware basé sur Lua pour la puce WiFi ESP8266, fournissant un interpréteur Lua embarqué et un framework de développement pour le matériel SoC WiFi. Il fonctionne comme un wrapper basé sur C autour du SDK non-OS d'Espressif, permettant l'exécution de scripts asynchrones pour gérer la communication sans fil et les périphériques matériels. L'environnement intègre un système de fichiers flash SPIFFS pour stocker des scripts et des données persistants directement sur la mémoire non volatile. Pour optimiser les ressources matérielles limitées, le système utilise l'exécution flash « execute-in-place », exécutant les constantes et instructions en lecture seule directement depuis la mémoire flash pour préserver la RAM système. Le projet couvre la gestion de la connectivité sans fil, l'implémentation de services réseau et le mappage des périphériques matériels. Il inclut des outils pour la compilation de firmware, la compilation de scripts Lua en bytecode et la génération d'images de système de fichiers pour le déploiement cible.
Provides an embedded Lua runtime to execute asynchronous scripts for managing peripherals and wireless communication.
WickedEngine est un moteur de jeu 3D en C++ et un framework conçu pour construire des applications tridimensionnelles et des projets graphiques haute fidélité. Il dispose d'un moteur de rendu graphique moderne qui implémente les normes actuelles pour produire une géométrie et un éclairage complexes sur différents matériels. Le moteur inclut un éditeur de scène visuel autonome pour concevoir des environnements et configurer des propriétés sans écrire de code. Il fournit également un environnement de script Lua intégré pour gérer la logique d'exécution et automatiser les tâches du moteur. Le framework couvre le rendu graphique 3D et le développement d'applications, y compris un système d'importation de modèles qui convertit les formats de fichiers externes en un format de scène natif. Son architecture intègre un backend graphique multi-API pour prendre en charge divers systèmes d'exploitation et interfaces matérielles.
Integrates a Lua interpreter to provide programmable runtime logic and automation within the engine.
This project is a Telegram command line interface and MTProto client. It functions as a userbot framework, providing a terminal-based environment to interact with Telegram accounts without a graphical user interface. The system differentiates itself through extensibility, offering Python bindings and a Lua scripting engine to automate account tasks and respond to messages. It also serves as a JSON-based chat exporter, capable of extracting user metadata and conversation histories into structured files. The client covers core messaging capabilities, including text exchange, group chat managem
Executes custom Lua scripts to automate messaging and react to real-time events.
sysbench is a database and system benchmark tool used to measure the throughput and latency of database systems and hardware components. It functions as a multi-threaded workload generator and hardware performance profiler designed to determine how systems perform under heavy load. The project serves as a scriptable benchmark engine, allowing for the definition of custom performance scenarios through scripts. It simulates real-world traffic patterns by generating random data based on mathematical probability distributions, such as Zipfian, Gaussian, or Pareto. Capabilities cover database per
Uses an embedded Lua interpreter to define custom workload logic and benchmark scenarios without recompiling.
Lite XL is a lightweight, cross-platform text editor built around a minimal C core that embeds a Lua interpreter, allowing the entire editor interface and functionality to be scripted and customized through Lua. It draws text and UI elements directly to a pixel buffer using a single-threaded event loop, bypassing heavyweight widget toolkits to keep the editor fast and responsive even on low-resource hardware. The editor distinguishes itself through its Lua-based plugin architecture and file-based configuration system, where settings, keybindings, and plugin metadata are stored as plain Lua fi
Runs a lightweight C core that embeds a Lua interpreter, keeping the editor fast while allowing full customization through scripting.
lsyncd est un service de synchronisation et un démon d'arrière-plan qui surveille les répertoires locaux pour détecter les changements et les reflète sur des cibles distantes en temps réel. Il fonctionne comme un gestionnaire de synchronisation qui orchestre le déplacement des données locales vers des hôtes distants, garantissant la cohérence des données par une mise en miroir automatisée. Le projet utilise un moteur de script Lua intégré pour définir la logique de configuration, permettant des actions de synchronisation personnalisées et des définitions de règles en couches. Il exploite rsync pour les transferts delta afin de minimiser la bande passante et utilise SSH pour une communication chiffrée sécurisée avec les serveurs distants. Le service emploie une surveillance de répertoire pilotée par les événements et une agrégation d'événements mise en tampon pour déclencher des transferts sans interrogation constante. Cela garantit que les changements du système de fichiers sont collectés et synchronisés efficacement vers les partages distants tout en préservant la propriété des fichiers.
Integrates an embedded Lua engine to allow users to define complex, programmable synchronization rules and behaviors.
Rainmeter is a Windows desktop widget engine that renders customizable skins and interactive widgets directly on the desktop, supporting live data feeds and user interaction. It functions as a desktop customization platform and skin authoring framework, allowing users to create widgets by defining data sources and visual elements with full style and layout control. The engine includes a Lua scripting runtime for extending widget functionality with custom logic and data processing, and provides a plugin SDK with a C/C++ API for building native plugins that add new data sources or rendering capa
Embeds a Lua runtime within skins for custom logic, data processing, and dynamic widget behavior.
vcmi est un moteur de jeu open source pour Heroes of Might and Magic III qui recrée le gameplay, la logique et le rendu du jeu de stratégie original. Il sert de runtime de jeu multiplateforme prenant en charge Windows, Linux, macOS, Android et iOS, fournissant un simulateur de stratégie au tour par tour pour la navigation sur carte du monde stratégique et le combat tactique. Le projet est construit comme un framework de jeu moddable, présentant un système de modding piloté par les données et une intégration de script Lua en bac à sable (sandboxed). Ceux-ci permettent la définition d'une logique de gameplay personnalisée, d'effets de sorts et l'ajout de nouvelles factions, personnages et ressources via des fichiers de configuration externes et une validation de schéma. Le moteur inclut un synchroniseur d'état multijoueur qui coordonne les tours simultanés et les mises à jour d'état du jeu entre les clients via une sérialisation binaire. Il incorpore également une intelligence artificielle intégrée pour la simulation de stratégie, un système dédié de création et de génération de cartes, et des outils pour les surcharges de ressources et la localisation. Le logiciel prend en charge les configurations de build multiplateformes et fournit des outils pour extraire les données de jeu et déboguer les états de jeu.
Integrates Lua scripting to provide programmable automation and extension of gameplay mechanics.
Sol2 est une bibliothèque de binding C++ Lua qui sert de couche d'interopérabilité de langage pour intégrer des scripts Lua dans des applications C++. Elle agit comme un wrapper de scripting et un toolkit API, permettant l'exécution de code Lua et la gestion d'état partagé au sein d'un environnement C++ natif. La bibliothèque se concentre sur le mappage automatisé de fonctions et de types pour faire le pont entre les classes C++ natives et les types de données complexes avec le moteur de scripting Lua. Elle fournit des mécanismes pour l'échange de données bidirectionnel, permettant à la logique compilée et aux variables d'être synchronisées entre l'application hôte et le runtime de script. Le système inclut des capacités pour le binding d'API native, le mappage de types personnalisés et l'exécution de scripts depuis un environnement C++. Il gère également la gestion des ressources via la gestion automatique de la mémoire et le suivi de la durée de vie des objets.
Provides a comprehensive library for embedding the Lua scripting engine into C++ applications.
oh-my-rime est un framework de configuration complet et une collection de schémas, lexiques et mises en page optimisés pour la méthode de saisie chinoise Rime. Il fournit un système pour personnaliser les comportements de saisie de texte, les mises en page des listes de candidats et les mappages de symboles sur différentes plateformes. Le projet se distingue par un modèle de déploiement automatisé, utilisant un outil en ligne de commande et une installation pilotée par recettes pour appliquer des packages de configuration aux répertoires système. Il implémente également une logique avancée via le scripting Lua, permettant des fonctionnalités telles que le calcul d'expressions mathématiques, l'insertion de date et heure, et la conversion calendrier solaire-lunaire. Le framework couvre un large éventail de capacités, incluant la gestion de dictionnaires avec construction de lexique personnalisé, le mappage phonétique pour le pinyin flou, et un mappage détaillé des raccourcis clavier pour la navigation et le changement de langue. Il inclut en outre une personnalisation de l'interface utilisateur pour l'affichage des candidats et des outils de synchronisation de données pour maintenir la cohérence entre les appareils.
Employs an embedded Lua interpreter to implement custom logic for date triggers and mathematical expressions.
Vis est un éditeur de texte modal basé sur le terminal qui utilise les raccourcis clavier de vi et un système d'expressions régulières structurelles. Il fonctionne comme un environnement scriptable où Lua est utilisé pour la configuration, les mappages de touches personnalisés et le développement de plugins. L'éditeur se distingue par un système de coloration syntaxique basé sur des grammaires d'expression d'analyse (PEG) et un moteur de correspondance de motifs qui traite le texte comme une structure pour des opérations complexes de recherche et remplacement. Il s'intègre également directement au shell système, permettant aux utilisateurs de rediriger des plages de texte vers des commandes externes et de capturer la sortie résultante. Le projet offre de larges capacités de manipulation de texte, notamment l'utilisation de curseurs et de sélections multiples, un graphe dirigé pour l'historique d'annulation et de rétablissement non linéaire, et une interface multi-fenêtres rendue via des séquences d'échappement VT-100. Les utilisateurs peuvent définir des mouvements et des opérateurs personnalisés via l'API de script intégrée. L'application peut être compilée en un seul binaire lié statiquement pour la portabilité.
Provides an embedded Lua interpreter for defining custom editor motions, operators, and general configuration.
Splash est une API HTTP de navigateur headless et un moteur de rendu JavaScript conçu pour convertir le contenu web dynamique en HTML statique ou en images. Il fonctionne comme un service de navigateur scriptable en Lua qui expose des capacités d'automatisation et de rendu via une interface RESTful pour l'extraction de données programmatique. Le service se distingue en permettant l'exécution de scripts Lua personnalisés pour automatiser des séquences d'interaction utilisateur complexes et la navigation sur les pages. Il offre la possibilité de changer de moteur de rendu par requête pour vérifier la compatibilité entre navigateurs et la cohérence visuelle. La plateforme couvre un large éventail de capacités, incluant l'interaction web automatisée via des événements clavier et souris simulés, ainsi que l'interception du trafic réseau pour surveiller ou modifier les requêtes et réponses. Elle prend également en charge l'extraction DOM via des sélecteurs CSS et l'exportation de journaux réseau pour l'analyse du trafic.
Integrates an embedded Lua engine to define custom interaction sequences and page logic.
RmlUi est un moteur de rendu d'interface utilisateur multiplateforme et une bibliothèque middleware qui permet la création d'interfaces utilisateur en utilisant un sous-ensemble de HTML et CSS. Il fonctionne comme une couche agnostique de rendu conçue pour intégrer la mise en page et le stylage standard du web dans des moteurs de jeu personnalisés et des applications embarquées. Le framework se distingue par son intégration de Lua pour la logique dynamique et le contrôle, ainsi qu'un kit d'outils spécialisé pour le rendu d'images SVG et d'animations Lottie. Il utilise un backend de rendu enfichable qui découple la génération de géométrie de l'affichage final, lui permettant de générer de la géométrie texturée pour divers pipelines graphiques. Le système couvre un large éventail de capacités, incluant un moteur de mise en page en boîte (box-model), un moteur de style en cascade et une liaison de données pour synchroniser les modèles avec les vues. Il fournit une gestion complète des entrées pour la souris, le clavier et le tactile, ainsi que des services d'internationalisation pour la traduction de texte basée sur la locale. Les fonctionnalités supplémentaires incluent la mise à l'échelle haute résolution (DPI), la composition alpha basée sur les couches et un ensemble de composants interactifs comme des curseurs de plage et des menus déroulants. La source peut être compilée en binaires WebAssembly pour une exécution dans les navigateurs web.
Exposes comprehensive bindings to the Lua scripting language for dynamic UI logic and control.
FiveM est un framework de modification multijoueur et un outil de modding de moteur de jeu. Il sert de plateforme pour créer et héberger des modifications pilotées par la communauté pour des moteurs de jeu en monde ouvert, fonctionnant spécifiquement comme un framework pour Grand Theft Auto V afin d'activer des serveurs personnalisés et des modes de jeu multijoueur. Le projet fournit un hôte de serveur de jeu dédié pour gérer le trafic réseau et les états de jeu synchronisés dans des environnements modifiés. Ses capacités s'étendent au modding de Red Dead Redemption 2, permettant l'extension des mécaniques de jeu et l'ajout de contenu personnalisé. Le framework prend en charge l'injection de logique de jeu personnalisée et l'hébergement de sessions multijoueur dédiées. Il permet la modification du comportement de base du jeu et l'implémentation de nouvelles mécaniques interactives.
Integrates an embedded Lua interpreter allowing users to define custom game logic without recompiling the engine.
Ledisdb est un serveur de base de données NoSQL haute performance écrit en Go. Il fonctionne comme un magasin clé-valeur qui prend en charge des structures de données complexes et utilise un stockage disque persistant pour gérer des volumes de données qui dépassent la capacité de la mémoire système. Le système est conçu à la fois comme un serveur autonome et une bibliothèque de moteur embarquable qui s'intègre directement dans les binaires Go. Il dispose d'un magasin de données scriptable qui exécute des scripts Lua côté serveur pour des opérations atomiques et fournit une API HTTP pour l'échange de données utilisant la sérialisation JSON, BSON et msgpack. La base de données inclut des capacités pour la réplication de données distribuée entre les nœuds primaires et répliques pour assurer la haute disponibilité. Elle implémente également l'expiration TTL (time-to-live) pour la suppression automatique des données, l'authentification utilisateur pour la sécurité des requêtes et des outils de maintenance pour réparer les fichiers de données corrompus.
Integrates a Lua interpreter to provide programmable, atomic automation within the database server.
Ce projet fournit un runtime de langage côté serveur et une image Docker standardisée pour déployer des applications sur différents systèmes d'exploitation. Il fonctionne comme un environnement d'exécution pour générer du contenu HTML, JSON et XML dynamique, tout en servant également d'interface en ligne de commande pour des scripts d'automatisation et des tâches de fond. Le runtime est conçu pour être extensible grâce à une architecture d'extension basée sur C, permettant le chargement de modules personnalisés pour des fonctionnalités spécialisées. Il prend en charge plusieurs interfaces d'application serveur, notamment une interface web FastCGI pour une communication haute performance avec les serveurs web et un serveur web intégré pour héberger des pages sans installations externes. La surface de capacités couvre un large éventail de tâches de programmation système et de développement web. Celles-ci incluent l'intégration de bases de données SQL et non relationnelles, la communication par protocoles réseau via HTTP et SOAP, et des primitives de sécurité pour le hachage de mots de passe et le chiffrement symétrique. De plus, le runtime fournit des outils pour le traitement XML, la gestion des chaînes multi-octets et les mathématiques à précision arbitraire. Le projet est packagé sous forme d'image de conteneur multicouche pour assurer une exécution cohérente dans divers environnements d'hébergement.
Embeds a Lua interpreter to execute dynamic scripts within a sandboxed environment.
crun est un runtime de conteneur bas niveau qui implémente la spécification Open Container Initiative pour gérer le cycle de vie des processus isolés. Il fournit les mécanismes fondamentaux pour la création, l'exécution et la suppression de conteneurs, assurant la compatibilité entre les plateformes grâce à une gestion standardisée du cycle de vie. Le projet se distingue en offrant une bibliothèque C partagée qui permet d'intégrer les opérations de runtime de conteneur directement dans d'autres applications compilées. Il étend davantage les capacités d'exécution via des gestionnaires spécialisés qui permettent le déploiement de conteneurs au sein de microVMs isolées ou l'exécution de charges de travail WebAssembly. Le runtime couvre un large éventail de capacités d'isolation bas niveau et de gestion des ressources. Cela inclut l'utilisation d'espaces de noms (namespaces) et de filtres seccomp pour la sécurité, de cgroups pour l'application des limites CPU et mémoire, et des outils pour sauvegarder et reprendre les états d'exécution des conteneurs via checkpoint et restore. Il fournit également des interfaces pour les mises à jour dynamiques des ressources, la gestion des montages et l'automatisation via une interface Lua intégrée.
Provides an embedded Lua scripting interface for automating container management tasks.
LuaViewSDK is a cross-platform UI engine and framework that uses a Lua-based scripting engine to render native user interfaces across multiple mobile operating systems. It functions as a dynamic UI orchestrator, separating interface logic from the underlying operating system to allow for the creation of native views driven by scripts. The system features a bidirectional native scripting bridge for exchanging data and triggering functions between the script runtime and native platform APIs. It also includes a Lua game runtime capable of executing interactive graphics and lightweight games thro
Integrates an embedded Lua interpreter to decouple interface logic from native binaries.
Lua RTOS pour ESP32 est un système d'exploitation temps réel conçu pour les microcontrôleurs ESP32 qui intègre un interpréteur Lua léger pour gérer les ressources matérielles et la logique applicative. Il utilise une architecture de micro-noyau pour fournir une planification de tâches préemptive, garantissant un timing déterministe et une concurrence fiable pour les opérations embarquées sur du matériel aux ressources limitées. Le système se distingue en fournissant une couche d'abstraction matérielle unifiée qui mappe les commandes de programmation de haut niveau directement sur les registres périphériques. Cela permet aux développeurs d'interagir avec des capteurs, des actionneurs et des bus de communication via des interfaces simplifiées tout en maintenant les exigences de performance d'un environnement temps réel. La plateforme inclut une suite complète d'outils de développement pour l'ingénierie de firmware personnalisé, permettant aux utilisateurs de compiler et de flasher des images binaires adaptées à des configurations matérielles spécifiques. Elle dispose également d'une interface de console série pour une interaction directe avec le système, facilitant le développement et l'exécution de scripts qui contrôlent des composants électroniques physiques.
Integrates a lightweight scripting environment for direct access to hardware components on constrained platforms.