{"id":13741397,"url":"https://github.com/joyrex2001/grpc-perl","last_synced_at":"2025-04-10T18:45:15.605Z","repository":{"id":4115432,"uuid":"52043882","full_name":"joyrex2001/grpc-perl","owner":"joyrex2001","description":"Perl 5 implementation of gRPC using the official gRPC shared library.","archived":false,"fork":false,"pushed_at":"2023-11-01T18:53:52.000Z","size":236,"stargazers_count":33,"open_issues_count":3,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T16:35:30.109Z","etag":null,"topics":["grpc","grpc-library","grpc-perl","perl"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joyrex2001.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}},"created_at":"2016-02-18T22:35:12.000Z","updated_at":"2024-04-02T02:08:40.000Z","dependencies_parsed_at":"2024-01-07T18:07:09.656Z","dependency_job_id":null,"html_url":"https://github.com/joyrex2001/grpc-perl","commit_stats":{"total_commits":111,"total_committers":12,"mean_commits":9.25,"dds":0.4774774774774775,"last_synced_commit":"c50d1d1b99ccfc83eb01890fe0cae295c3628f59"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fgrpc-perl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fgrpc-perl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fgrpc-perl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyrex2001%2Fgrpc-perl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joyrex2001","download_url":"https://codeload.github.com/joyrex2001/grpc-perl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271925,"owners_count":21075800,"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":["grpc","grpc-library","grpc-perl","perl"],"created_at":"2024-08-03T04:00:58.780Z","updated_at":"2025-04-10T18:45:15.588Z","avatar_url":"https://github.com/joyrex2001.png","language":"Perl","funding_links":[],"categories":["Language-Specific"],"sub_categories":["Perl"],"readme":"# Grpc::XS / grpc-perl\n\n## Overview\n\nThis repository contains source code for a perl 5 implementation of gRPC\ntransport layer. It binds to the official shared C library. The implementation\nis heavily based on the php implementation of the [gRPC library](https://grpc.io).\n\n## Usage\n\nThis implementation only implements the grpc client, not the server. This\nlibrary also only implements the transport layer and is not intended to be used\ndirectly. Instead it should be used in combination with a protocol buffer\nimplementation that support service rpc definitions. Currently the excellent\n[Google::ProtocolBuffers::Dynamic](http://search.cpan.org/dist/Google-ProtocolBuffers-Dynamic/)\nmodule is the best option for this.\n\n#### `fork()` compatibility\n\nIt's possible to fork processes which use `Grpc::XS`, but only if this\nlibrary is used exclusively inside child processes. This requires an\nexplicit (de)initialization, otherwise things will hang forever on\nvery first attemp to use anything grpc-related. Here is how it can be\ndone:\n\n```perl\nGprc::XS::destroy();\nif (fork() == 0) { # in child\n\tGrpc::XS::init();\n\t# Grpc::XS can be used in this child without any problems\n}\n```\n\n## Installation\n\nTo install this package on ubuntu, install `libgrpc-dev` package first:\n\n```bash\nsudo apt-get install libgrpc-dev\n```\n\n## See also\n\n* https://metacpan.org/pod/Grpc::XS\n* https://hub.docker.com/r/joyrex2001/grpc-perl\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrex2001%2Fgrpc-perl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyrex2001%2Fgrpc-perl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyrex2001%2Fgrpc-perl/lists"}