{"id":14983608,"url":"https://github.com/akka/akka-grpc","last_synced_at":"2025-05-14T01:08:49.671Z","repository":{"id":37663996,"uuid":"120786720","full_name":"akka/akka-grpc","owner":"akka","description":"Akka gRPC","archived":false,"fork":false,"pushed_at":"2024-10-23T13:12:09.000Z","size":4713,"stargazers_count":431,"open_issues_count":170,"forks_count":123,"subscribers_count":19,"default_branch":"main","last_synced_at":"2024-10-29T14:53:43.529Z","etag":null,"topics":["akka","akka-http","grpc","hacktoberfest","java","reactive","reactive-streams","rpc","scala","streaming"],"latest_commit_sha":null,"homepage":"https://doc.akka.io/docs/akka-grpc/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2018-02-08T16:28:56.000Z","updated_at":"2024-10-23T11:31:44.000Z","dependencies_parsed_at":"2023-02-13T22:30:53.503Z","dependency_job_id":"3dd0ed73-76af-47b8-b9e5-71f6a5be304b","html_url":"https://github.com/akka/akka-grpc","commit_stats":{"total_commits":1411,"total_committers":93,"mean_commits":"15.172043010752688","dds":0.7129695251594614,"last_synced_commit":"36bd99d707056ddd3d0e6f981ff2675cb3247d35"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akka%2Fakka-grpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akka%2Fakka-grpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akka%2Fakka-grpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akka%2Fakka-grpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akka","download_url":"https://codeload.github.com/akka/akka-grpc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248209056,"owners_count":21065274,"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":["akka","akka-http","grpc","hacktoberfest","java","reactive","reactive-streams","rpc","scala","streaming"],"created_at":"2024-09-24T14:07:35.115Z","updated_at":"2025-04-10T11:38:01.388Z","avatar_url":"https://github.com/akka.png","language":"Scala","funding_links":[],"categories":["Projects"],"sub_categories":["Networking"],"readme":"# Akka gRPC\n\nSupport for building streaming gRPC servers and clients on top\nof Akka Streams.\n\nThis library is meant to be used as a building block in projects using the Akka\ntoolkit.\n\nThe Akka family of projects is managed by teams at [Lightbend](https://lightbend.com/) with help from the community.\n\n## Documentation\n\n- [Akka gRPC reference](https://doc.akka.io/libraries/akka-grpc/current/) documentation \n\n## Project Status\n\nThis library is ready to be used in production\n\nThe API on both sides (Client and Server) is a simple Akka Streams-based one.\n\nThe client side is currently implemented on top of [io.grpc:grpc-netty-shaded](https://mvnrepository.com/artifact/io.grpc/grpc-netty-shaded) with an [Akka HTTP](https://doc.akka.io/libraries/akka-http/current) client \nbackend alternative available.\n\nAs for performance, we are currently relying on the JVM TLS implementation,\nwhich is sufficient for many use cases, but is planned to be replaced with\n[conscrypt](https://github.com/google/conscrypt) or [netty-tcnative](https://netty.io/wiki/forked-tomcat-native.html).\n\n## General overview\n\ngRPC is a schema-first RPC framework, where your protocol is declared in a\nprotobuf definition, and requests and responses will be streamed over an HTTP/2\nconnection.\n\nBased on a protobuf service definition, akka-grpc can generate:\n\n* Model classes (using plain protoc for Java or scalapb for Scala)\n* The API (as an interface for Java or a trait for Scala), expressed in Akka Streams `Source`s\n* On the server side, code to create an Akka HTTP route based on your implementation of the API\n* On the client side, a client for the API.\n\n## Project structure\n\nThe project is split up in a number of subprojects:\n\n* codegen: code generation shared among plugins\n* runtime: run-time utilities used by the generated code\n* sbt-plugin: the sbt plugin\n* scalapb-protoc-plugin: the scalapb Scala model code generation packaged as a protoc plugin, to be used from gradle\n* [interop-tests](interop-tests/README.md)\n\nAdditionally, 'plugin-tester-java' and 'plugin-tester-scala' contain an example\nproject in Java and Scala respectively, with both sbt and Gradle configurations.\n\n## License\n\nAkka gRPC is licensed under the Business Source License 1.1, please see the [Akka License FAQ](https://www.lightbend.com/akka/license-faq).\n\nTests and documentation are under a separate license, see the LICENSE file in each documentation and test root directory for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakka%2Fakka-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakka%2Fakka-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakka%2Fakka-grpc/lists"}