{"id":13582746,"url":"https://github.com/pravega/pravega","last_synced_at":"2025-05-13T17:12:12.921Z","repository":{"id":37390953,"uuid":"63096822","full_name":"pravega/pravega","owner":"pravega","description":"Pravega - Streaming as a new software defined storage primitive","archived":false,"fork":false,"pushed_at":"2025-03-02T17:39:21.000Z","size":49252,"stargazers_count":1996,"open_issues_count":245,"forks_count":409,"subscribers_count":106,"default_branch":"master","last_synced_at":"2025-04-24T01:58:20.931Z","etag":null,"topics":["data-ingestion","distributed-storage","real-time-data","streaming","streaming-data"],"latest_commit_sha":null,"homepage":"http://pravega.io","language":"Java","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/pravega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2016-07-11T19:41:03.000Z","updated_at":"2025-04-23T23:15:38.000Z","dependencies_parsed_at":"2023-10-04T10:54:20.304Z","dependency_job_id":"6c0526c6-939a-4e2f-9b5f-9f63566b86b5","html_url":"https://github.com/pravega/pravega","commit_stats":null,"previous_names":[],"tags_count":107,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pravega%2Fpravega","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pravega%2Fpravega/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pravega%2Fpravega/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pravega%2Fpravega/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pravega","download_url":"https://codeload.github.com/pravega/pravega/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990482,"owners_count":21995775,"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":["data-ingestion","distributed-storage","real-time-data","streaming","streaming-data"],"created_at":"2024-08-01T15:02:59.315Z","updated_at":"2025-05-13T17:12:07.907Z","avatar_url":"https://github.com/pravega.png","language":"Java","funding_links":[],"categories":["Java","Data Ingestion","大数据"],"sub_categories":[],"readme":"\u003c!--\nCopyright Pravega Authors.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n--\u003e\n# Pravega [![Build Status](https://github.com/pravega/pravega/workflows/build/badge.svg?branch=master)](https://github.com/pravega/pravega/actions?query=branch%3Amaster) [![codecov](https://codecov.io/gh/pravega/pravega/branch/master/graph/badge.svg?token=6xOvaR0sIa)](https://codecov.io/gh/pravega/pravega) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![Version](https://img.shields.io/github/release/pravega/pravega.svg)](https://github.com/pravega/pravega/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4178/badge)](https://bestpractices.coreinfrastructure.org/projects/4178)\n\nPravega is an open source distributed storage service implementing **Streams**. It offers Stream as the main primitive for the foundation of reliable storage systems: a *high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency*.\n\nTo learn more about Pravega, visit https://pravega.io\n\n## Prerequisites\n\n- Java 11+\n\n In spite of the requirements of using JDK 11+ to build this project, `client` artifacts (and its dependencies) must be compatible with a *Java 8* runtime. All other components are built and ran using JDK11+.\n\nThe `clientJavaVersion` project property determines the version used to build the client (defaults to *8*).\n## Building Pravega\n\nCheckout the source code:\n\n```\ngit clone https://github.com/pravega/pravega.git\ncd pravega\n```\n\nBuild the pravega distribution:\n\n```\n./gradlew distribution\n```\n\nInstall pravega jar files into the local maven repository. This is handy for running the `pravega-samples` locally against a custom version of pravega.\n\n```\n./gradlew install\n```\n\nRunning unit tests:\n\n```\n./gradlew test\n```\n\n## Setting up your IDE\n\nPravega uses [Project Lombok](https://projectlombok.org/) so you should ensure you have your IDE setup with the required plugins. Using IntelliJ is recommended.\n\nTo import the source into IntelliJ:\n\n1. Import the project directory into IntelliJ IDE. It will automatically detect the gradle project and import things correctly.\n2. Enable `Annotation Processing` by going to `Build, Execution, Deployment` -\u003e `Compiler` \u003e `Annotation Processors` and checking 'Enable annotation processing'.\n3. Install the `Lombok Plugin`. This can be found in `Preferences` -\u003e `Plugins`. Restart your IDE.\n4. Pravega should now compile properly.\n\nFor eclipse, you can generate eclipse project files by running `./gradlew eclipse`.\n\n\u003csup\u003e Note: Some unit tests will create (and delete) a significant amount of files. For improved performance on Windows machines, be sure to add the appropriate 'Microsoft Defender' exclusion.\u003c/sup\u003e\n\n## Releases\n\nThe latest pravega releases can be found on the [Github Release](https://github.com/pravega/pravega/releases) project page.\n\n## Snapshot artifacts \n\nAll snapshot artifacts from `master` and `release` branches are available in GitHub Packages Registry\n\nAdd the following to your repositories list and import dependencies as usual. \n\n```\nmaven {\n    url \"https://maven.pkg.github.com/pravega/pravega\"\n    credentials {\n        username = \"pravega-public\"\n        password = \"\\u0067\\u0068\\u0070\\u005F\\u0048\\u0034\\u0046\\u0079\\u0047\\u005A\\u0031\\u006B\\u0056\\u0030\\u0051\\u0070\\u006B\\u0079\\u0058\\u006D\\u0035\\u0063\\u0034\\u0055\\u0033\\u006E\\u0032\\u0065\\u0078\\u0039\\u0032\\u0046\\u006E\\u0071\\u0033\\u0053\\u0046\\u0076\\u005A\\u0049\"\n    }\n}\n```\nNote GitHub Packages requires authentication to download packages thus credentials above are required. Use the provided password as is, please do not decode it. \n\nIf you need a dedicated token to use in your repository (and GitHub Actions) please reach out to us.  \n\nAs alternative option you can use JitPack (https://jitpack.io/#pravega/pravega) to get pre-release artifacts. \n\n## Quick Start\n\nRead [Getting Started](documentation/src/docs/getting-started/quick-start.md) page for more information, and also visit [sample-apps](https://github.com/pravega/pravega-samples) repo for more applications.\n\n## Running Pravega\n\nPravega can be installed locally or in a distributed environment. The installation and deployment of pravega is covered in the [Running Pravega](documentation/src/docs/deployment/deployment.md) guide.\n\n## Support\n\nDon’t hesitate to ask! Contact the developers and community on [slack](https://pravega-io.slack.com/) \n([signup](https://join.slack.com/t/pravega-io/shared_invite/zt-245sgpw47-vbLBLiLfBdW9TlKemXkUnw)) if you need any help. \nOpen an issue if you found a bug on [Github Issues](https://github.com/pravega/pravega/issues).\n\n## Documentation\n\nThe Pravega documentation is hosted on the website:\n\u003chttps://pravega.io/docs/latest\u003e or in the [documentation](documentation/src/docs) directory of the source code.\n\n## Contributing\n\nBecome one of the contributors! We thrive to build a welcoming and open\ncommunity for anyone who wants to use the system or contribute to it.\n[Here](documentation/src/docs/contributing.md) we describe how to contribute to Pravega!\nYou can see the roadmap document [here](documentation/src/docs/roadmap.md).\n\n## About\n\nPravega is 100% open source and community-driven. All components are available\nunder [Apache 2 License](https://www.apache.org/licenses/LICENSE-2.0.html) on\nGitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpravega%2Fpravega","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpravega%2Fpravega","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpravega%2Fpravega/lists"}