{"id":13472785,"url":"https://github.com/apache/pekko","last_synced_at":"2025-05-14T06:12:54.967Z","repository":{"id":62612937,"uuid":"559857046","full_name":"apache/pekko","owner":"apache","description":"Build highly concurrent, distributed, and resilient message-driven applications using Java/Scala","archived":false,"fork":false,"pushed_at":"2025-04-13T00:29:02.000Z","size":263450,"stargazers_count":1334,"open_issues_count":183,"forks_count":163,"subscribers_count":55,"default_branch":"main","last_synced_at":"2025-04-13T01:53:29.527Z","etag":null,"topics":["actor-model","cloud-native","concurrency","distributed-actors","distributed-systems","high-performance","pekko","reactive","streaming"],"latest_commit_sha":null,"homepage":"https://pekko.apache.org/","language":"Scala","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/apache.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.protobuf","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":"2022-10-31T08:40:39.000Z","updated_at":"2025-04-12T13:19:33.000Z","dependencies_parsed_at":"2023-10-15T21:57:34.770Z","dependency_job_id":"cafbea10-dd69-4a7d-8f8e-b7a207b295be","html_url":"https://github.com/apache/pekko","commit_stats":null,"previous_names":["apache/pekko","apache/incubator-pekko"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpekko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpekko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpekko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpekko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/pekko/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654052,"owners_count":21140235,"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":["actor-model","cloud-native","concurrency","distributed-actors","distributed-systems","high-performance","pekko","reactive","streaming"],"created_at":"2024-07-31T16:00:57.982Z","updated_at":"2025-04-13T01:54:23.955Z","avatar_url":"https://github.com/apache.png","language":"Scala","funding_links":[],"categories":["Scala","并发编程"],"sub_categories":["Spring Cloud框架"],"readme":"# Apache Pekko\n\n[![Nightly Builds](https://github.com/apache/pekko/actions/workflows/nightly-builds.yml/badge.svg)](https://github.com/apache/pekko/actions/workflows/nightly-builds.yml)\n[![Nightly Aeron Tests](https://github.com/apache/pekko/actions/workflows/nightly-builds-aeron.yml/badge.svg?branch=main)](https://github.com/apache/pekko/actions/workflows/nightly-builds-aeron.yml)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9032/badge)](https://www.bestpractices.dev/projects/9032)\n\nApache Pekko is an open-source framework for building applications that are concurrent, distributed, resilient and elastic.\nPekko uses the Actor Model to provide more intuitive high-level abstractions for concurrency.\nUsing these abstractions, Pekko also provides libraries for persistence, streams, HTTP, and more.\n\nPekko is a fork of [Akka](https://github.com/akka/akka) 2.6.x, prior to the Akka project's adoption of the Business Source License.\n\n## Reference Documentation\n\nSee https://pekko.apache.org for the documentation including the API docs. The docs for all the Apache Pekko modules can be found there.\n\n## Building from Source\n\nThe CI build is Linux based (Ubuntu) and most Pekko developers use Macs or Linux machines. There have been reports of issues when building with Windows ([#829](https://github.com/apache/pekko/issues/829)).\n\n### Prerequisites\n- Make sure you have installed a Java Development Kit (JDK) version 11 or later.\n- Make sure you have [sbt](https://www.scala-sbt.org/) installed and using this JDK.\n- Make sure you also have Java 8 installed (JDK or JRE).\n- [Graphviz](https://graphviz.gitlab.io/download/) is needed for the scaladoc generation build task, which is part of the release.\n\n### Running the Build\n- Open a command window and change directory to your preferred base directory\n- Use git to clone the [repo](https://github.com/apache/pekko) or download a source release from https://pekko.apache.org (and unzip or untar it, as appropriate)\n- Change directory to the directory where you installed the source (you should have a file called `build.sbt` in this directory)\n- `sbt compile` compiles the main source for project default version of Scala (2.13)\n    - `sbt +compile` will compile for all supported versions of Scala\n- `sbt test` will compile the code and run the unit tests\n- `sbt testQuick` similar to test but when repeated in shell mode will only run failing tests\n- `sbt testQuickUntilPassed` similar to testQuick but will loop until tests pass.\n- `sbt package` will build the jars\n    - the jars will be built into target dirs of the various modules\n    - for the 'actor' module, the jar will be built to `actor/target/scala-2.13/`\n- `sbt publishLocal` will push the jars to your local Apache Ivy repository\n- `sbt publishM2` will push the jars to your local Apache Maven repository\n- `sbt docs/paradox` will build the docs (the ones describing the module features)\n     - Requires Java 11 minimum\n     - `sbt docs/paradoxBrowse` does the same but will open the docs in your browser when complete\n     - the `index.html` file will appear in `target/paradox/site/main/`\n- `sbt unidoc` will build the Javadocs for all the modules and load them to one place (may require Graphviz, see Prerequisites above)\n     - the `index.html` file will appear in `target/scala-2.13/unidoc/`\n- `sbt sourceDistGenerate` will generate source release to `target/dist/`\n- The version number that appears in filenames and docs is derived, by default. The derived version contains the most git commit id or the date/time (if the directory is not under git control). \n    - You can set the version number explicitly when running sbt commands\n        - eg `sbt \"set ThisBuild / version := \\\"1.0.0\\\"; sourceDistGenerate\"`  \n    - Or you can add a file called `version.sbt` to the same directory that has the `build.sbt` containing something like\n        - `ThisBuild / version := \"1.0.0\"` \n\n## Community\n\nThere are several ways to interact with the Pekko community:\n\n- [GitHub discussions](https://github.com/apache/pekko/discussions): for questions and general discussion.\n- [Pekko dev mailing list](https://lists.apache.org/list.html?dev@pekko.apache.org): for Pekko development discussions.\n- [Pekko users mailing list](https://lists.apache.org/list.html?users@pekko.apache.org): for Pekko user discussions.\n- [GitHub issues](https://github.com/apache/pekko/issues): for bug reports and feature requests. Please search the existing issues before creating new ones. If you are unsure whether you have found a bug, consider asking in GitHub discussions or the mailing list first.\n\n## Contributing\n\nContributions are very welcome. If you have an idea on how to improve Pekko, don't hesitate to create an issue or submit a pull request.\n\nSee [CONTRIBUTING.md](https://github.com/apache/pekko/blob/main/CONTRIBUTING.md) for details on the development workflow and how to create your pull request.\n\n## Code of Conduct\n\nApache Pekko is governed by the [Apache code of conduct](https://www.apache.org/foundation/policies/conduct.html). By participating in this project you agree to abide by its terms.\n\n## License\n\nApache Pekko is available under the Apache License, version 2.0. See [LICENSE](https://github.com/apache/pekko/blob/main/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpekko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fpekko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpekko/lists"}