A complete GraphQL implementation in Lua for building type-safe APIs and query execution.
GraphQL Lua is a complete implementation of the GraphQL query language specification written in Lua. It provides parsing, validation, type system definition, and execution capabilities for building GraphQL APIs in Lua environments. The library enables Lua developers to create type-safe APIs with GraphQL's flexible querying capabilities.
Lua developers building GraphQL APIs, particularly those using Lua for game development, embedded systems, or server-side applications who want GraphQL functionality.
Developers choose GraphQL Lua because it's the only complete GraphQL implementation available for Lua, offering full specification compliance with an idiomatic Lua API that integrates seamlessly with existing Lua codebases and ecosystems.
GraphQL implementation in Lua
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements all core GraphQL features including parsing, validation, type system, and execution, as demonstrated in the example code with query handling and introspection support.
Uses Lua tables and functions to define types and schemas, making it natural for Lua developers to integrate, as shown in the Person type definition and schema creation.
Provides built-in query validation against schemas to ensure correctness before execution, a key GraphQL benefit highlighted in the validation step of the example.
Includes a Gitter chat for real-time discussions, indicating ongoing development and community engagement, as noted in the README badge.
The README status lists asynchronous execution via coroutines as a TODO, limiting its use for real-time or concurrent applications that require non-blocking operations.
Error message improvements are marked as incomplete in the status, which could make debugging queries and schemas more challenging for developers.
The example server is still a TODO, and the provided example is minimal, lacking guidance for complex setups like mutations or integration with web frameworks.