Skip to content

project proposal lua grpc #565

Description

@Raezil

I would like to propose the inclusion of lua-grpc into the grpc-ecosystem organization.
lua-grpc is a modern, native gRPC implementation for the Lua programming language. It provides a pure-Lua gRPC runtime operating over HTTP/2, protocol buffers support via lua-protobuf, and complete support for all four gRPC call types (unary, server-streaming, client-streaming, and bidirectional-streaming). It also includes a protoc-gen-lua-grpc plugin written in Go to easily generate client and service bindings.
Project Link
Current repository URL: https://github.com/Protocol-Lattice/lua-grpc
Motivation
While gRPC features excellent native support across many mainstream languages, the Lua community has historically lacked a modern, pure-Lua, and actively maintained implementation supporting full streaming capabilities and standalone execution. This project fills that gap by leveraging lua-http for non-blocking HTTP/2 communications and packaging the library for seamless installation via LuaRocks. Bringing this to the grpc-ecosystem will significantly increase its visibility and help Luajit/Lua developers build or integrate into robust microservice meshes.
Current Status and Readiness
License: Apache License 2.0
Features: Full unary and streaming RPC support, native server support, and automated code generation.
Testing: Continuous Integration is configured via GitHub Actions.
Documentation: Includes an explicit README.md containing architecture notes and fully-functional "Hello World" examples for all communication types.
Community Standards: Essential files like LICENSE and CONTRIBUTING.md are integrated into the repository root.
Maintainers
The project will be actively maintained by the Protocol-Lattice core team, with primary points of contact:
@Raezil (Kamil Mościszko)
@Protocol-Lattice
We fully agree to adhere to the gRPC Ecosystem guidelines, maintain the code base actively, and align with the community's governance standards.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions