{"id":28538336,"url":"https://github.com/ziglana/grpc-zig","last_synced_at":"2025-07-16T17:34:55.158Z","repository":{"id":297751084,"uuid":"881361058","full_name":"ziglana/gRPC-zig","owner":"ziglana","description":"blazigly fast gRPC client \u0026 server implementation in zig","archived":false,"fork":false,"pushed_at":"2025-06-21T13:25:24.000Z","size":29,"stargazers_count":62,"open_issues_count":4,"forks_count":8,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-08T09:48:06.095Z","etag":null,"topics":["blazigly","grpc","rpc","zig","zig-package"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ziglana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-31T12:24:20.000Z","updated_at":"2025-07-05T00:50:46.000Z","dependencies_parsed_at":"2025-07-08T09:42:20.090Z","dependency_job_id":"cde6e60b-45d9-4a19-bd29-1466c2f34b06","html_url":"https://github.com/ziglana/gRPC-zig","commit_stats":null,"previous_names":["ziglana/grpc-zig"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ziglana/gRPC-zig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglana%2FgRPC-zig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglana%2FgRPC-zig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglana%2FgRPC-zig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglana%2FgRPC-zig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziglana","download_url":"https://codeload.github.com/ziglana/gRPC-zig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziglana%2FgRPC-zig/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265527610,"owners_count":23782480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazigly","grpc","rpc","zig","zig-package"],"created_at":"2025-06-09T18:12:07.306Z","updated_at":"2025-07-16T17:34:55.097Z","avatar_url":"https://github.com/ziglana.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 gRPC-zig\n\nA blazingly fast gRPC client \u0026 server implementation in Zig, designed for maximum performance and minimal overhead.\n\n[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\n[![Zig](https://img.shields.io/badge/Zig-%23F7A41D.svg?style=flat\u0026logo=zig\u0026logoColor=white)](https://ziglang.org/)\n[![HTTP/2](https://img.shields.io/badge/HTTP%2F2-Supported-success)](https://http2.github.io/)\n\n## ⚡️ Features\n\n- 🔥 **Blazingly Fast**: Built from ground up in Zig for maximum performance\n- 🔐 **Full Security**: Built-in JWT authentication and TLS support\n- 🗜️ **Compression**: Support for gzip and deflate compression\n- 🌊 **Streaming**: Efficient bi-directional streaming\n- 💪 **HTTP/2**: Full HTTP/2 support with proper flow control\n- 🏥 **Health Checks**: Built-in health checking system\n- 🎯 **Zero Dependencies**: Pure Zig implementation\n- 🔍 **Type Safety**: Leverages Zig's comptime for compile-time checks\n\n## 🚀 Quick Start\n\n```zig\n// Server\nconst server = try GrpcServer.init(allocator, 50051, \"secret-key\");\ntry server.handlers.append(.{\n    .name = \"SayHello\",\n    .handler_fn = sayHello,\n});\ntry server.start();\n\n// Client\nvar client = try GrpcClient.init(allocator, \"localhost\", 50051);\nconst response = try client.call(\"SayHello\", \"World\", .none);\n```\n\n## 📚 Examples\n\n### Basic Server\n\n```zig\nconst std = @import(\"std\");\nconst GrpcServer = @import(\"server.zig\").GrpcServer;\n\npub fn main() !void {\n    var gpa = std.heap.GeneralPurposeAllocator(.{}){};\n    defer _ = gpa.deinit();\n\n    var server = try GrpcServer.init(gpa.allocator(), 50051, \"secret-key\");\n    defer server.deinit();\n\n    try server.start();\n}\n```\n\n### Streaming\n\n```zig\nvar stream = streaming.MessageStream.init(allocator, 5);\ntry stream.push(\"First message\", false);\ntry stream.push(\"Final message\", true);\n```\n\n## 🔧 Installation\n\n1. Add to your `build.zig.zon`:\n\n```zig\n.dependencies = .{\n    .grpc_zig = .{\n        .url = \"https://github.com/ziglana/grpc-zig/archive/refs/tags/v0.1.0.tar.gz\",\n    },\n},\n```\n\n2. Add to your `build.zig`:\n\n```zig\nconst grpc_zig = b.dependency(\"grpc_zig\", .{});\nexe.addModule(\"grpc\", grpc_zig.module(\"grpc\"));\n```\n\n## 🏃 Performance\n\nBenchmarked against other gRPC implementations (ops/sec, lower is better):\n\n```\ngRPC-zig    │████████░░░░░░░░░░│  2.1ms\ngRPC Go     │██████████████░░░░│  3.8ms\ngRPC C++    │████████████████░░│  4.2ms\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n## 📜 License\n\nThis project is licensed under the Unlicense - see the [LICENSE](LICENSE) file for details.\n\n## ⭐️ Support\n\nIf you find this project useful, please consider giving it a star on GitHub to show your support!\n\n## 🙏 Acknowledgments\n\n- [Spice](https://github.com/judofyr/spice) - For the amazing Protocol Buffers implementation\n- [Tonic](https://github.com/hyperium/tonic) - For inspiration on API design\n- The Zig community for their invaluable feedback and support\n\n---\n\nMade with ❤️ in Zig\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziglana%2Fgrpc-zig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziglana%2Fgrpc-zig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziglana%2Fgrpc-zig/lists"}