5 repositorios
Runtimes and mechanisms for executing Lua scripts from within a host application.
Distinct from Lua Scripting: Existing candidates are too specific to Redis or RFID hardware; this is for general-purpose C++ embedding.
Explore 5 awesome GitHub repositories matching programming languages & runtimes · Lua Script Execution Environments. Refine with filters or upvote what's useful.
Sol2 es una biblioteca de enlace de C++ a Lua que sirve como capa de interoperabilidad de lenguaje para integrar scripts de Lua en aplicaciones C++. Actúa como un envoltorio de scripting y kit de herramientas de API, permitiendo la ejecución de código Lua y la gestión del estado compartido dentro de un entorno C++ nativo. La biblioteca se centra en el mapeo automatizado de funciones y tipos para unir clases nativas de C++ y tipos de datos complejos con el motor de scripting Lua. Proporciona mecanismos para el intercambio de datos bidireccional, permitiendo que la lógica compilada y las variables se sincronicen entre la aplicación host y el tiempo de ejecución del script. El sistema incluye capacidades para el enlace de API nativa, mapeo de tipos personalizados y la ejecución de scripts desde dentro de un entorno C++. También maneja la gestión de recursos mediante la gestión automática de memoria y el seguimiento de los tiempos de vida de los objetos.
Implements the execution of Lua script code from C++, including stack and error management.
Splash es una API HTTP de navegador headless y motor de renderizado JavaScript diseñado para convertir contenido web dinámico en HTML estático o imágenes. Funciona como un servicio de navegador programable en Lua que expone capacidades de automatización y renderizado de navegador a través de una interfaz RESTful para la extracción programática de datos. El servicio se distingue por permitir la ejecución de scripts Lua personalizados para automatizar secuencias complejas de interacción del usuario y navegación de páginas. Proporciona la capacidad de cambiar los motores de renderizado por solicitud para verificar la compatibilidad entre navegadores y la consistencia visual. La plataforma cubre una amplia gama de capacidades, incluyendo la interacción web automatizada mediante eventos simulados de teclado y ratón, así como la interceptación de tráfico de red para monitorear o modificar solicitudes y respuestas. También admite la extracción de DOM mediante selectores CSS y la exportación de registros de red para el análisis de tráfico.
Executes custom Lua scripts to control browser behavior and automate complex interaction sequences.
FRRouting es una suite de enrutamiento de internet que comprende una colección de daemons que implementan protocolos de enrutamiento IPv4 e IPv6 estándar. Proporciona un motor de protocolo para BGP, un virtualizador de red EVPN y un gestor de etiquetas MPLS, junto con una interfaz de enrutamiento gRPC para la configuración programática y la recuperación de datos utilizando modelos YANG. La suite se distingue por su extensibilidad a través de un framework de scripting Lua que ejecuta scripts personalizados en hooks internos para modificar el comportamiento de enrutamiento. También cuenta con un modelo de configuración transaccional que utiliza bases de datos candidatas y en ejecución separadas para garantizar commits atómicos y reversiones de la configuración del sistema. El proyecto cubre una amplia gama de protocolos de puerta de enlace interior y exterior, incluyendo OSPF, IS-IS, EIGRP y RIP. Admite ingeniería de tráfico avanzada a través de Segment Routing y SRv6, virtualización de red a través de aislamiento VRF y L3VPNs, y monitoreo integral a través de SNMP y BGP Monitoring Protocol. El software se puede desplegar mediante compilación de fuente, cadenas de herramientas de arquitectura cruzada o imágenes de contenedor Docker preconstruidas.
Provides an extensibility framework that executes Lua scripts at protocol event hooks to modify routing behavior.
crun es un runtime de contenedores de bajo nivel que implementa la especificación de la Open Container Initiative para gestionar el ciclo de vida de procesos aislados. Proporciona los mecanismos centrales para la creación, ejecución y eliminación de contenedores, asegurando la compatibilidad entre plataformas mediante una gestión estandarizada del ciclo de vida. El proyecto se distingue por ofrecer una biblioteca C compartida que permite que las operaciones del runtime de contenedores se incrusten directamente en otras aplicaciones compiladas. Además, extiende las capacidades de ejecución mediante manejadores especializados que permiten el despliegue de contenedores dentro de microVMs aisladas o la ejecución de cargas de trabajo WebAssembly. El runtime cubre una amplia gama de capacidades de aislamiento de bajo nivel y gestión de recursos. Esto incluye el uso de namespaces y filtros seccomp para seguridad, cgroups para la aplicación de límites de CPU y memoria, y herramientas para guardar y reanudar estados de ejecución de contenedores mediante checkpoint y restore. También proporciona interfaces para actualizaciones dinámicas de recursos, gestión de montajes y automatización mediante una interfaz Lua incrustada.
Exposes the runtime library to Lua scripts for programmatic control of container environments.
Luvit es un runtime basado en eventos para Lua que integra libuv para proporcionar E/S no bloqueante y operaciones de sistema asíncronas. Funciona como un framework de red asíncrono y entorno de ejecución que aprovecha la compilación Just-In-Time para el procesamiento de scripts de alto rendimiento. La plataforma permite la distribución del tráfico de red a través de múltiples núcleos de CPU mediante un gestor de clusters TCP que comparte manejadores de sockets entre procesos hijos. Proporciona capacidades especializadas para construir servidores HTTP decodificando flujos de solicitudes entrantes y codificando respuestas mediante un procesador de flujos. El runtime soporta el desarrollo general de aplicaciones basadas en eventos, programación de red asíncrona y la integración de módulos binarios compilados para extender las capacidades de lenguaje de bajo nivel. Los usuarios pueden interactuar con el entorno a través de un bucle read-eval-print, ejecutar scripts independientes o evaluar fragmentos de código a través de la línea de comandos.
Provides an execution environment to run Lua scripts using a non-blocking, event-driven runtime.