{"id":13481831,"url":"https://github.com/onyx-platform/onyx","last_synced_at":"2025-09-28T21:30:49.961Z","repository":{"id":12238017,"uuid":"14849761","full_name":"onyx-platform/onyx","owner":"onyx-platform","description":"Distributed, masterless, high performance, fault tolerant data processing","archived":true,"fork":false,"pushed_at":"2019-08-31T10:58:07.000Z","size":17013,"stargazers_count":2049,"open_issues_count":84,"forks_count":205,"subscribers_count":122,"default_branch":"0.14.x","last_synced_at":"2024-12-28T14:20:30.389Z","etag":null,"topics":["batch","clojure","data","distributed","streaming"],"latest_commit_sha":null,"homepage":"http://www.onyxplatform.org","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onyx-platform.png","metadata":{"files":{"readme":"README.md","changelog":"changes.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-02T01:21:14.000Z","updated_at":"2024-12-28T04:09:43.000Z","dependencies_parsed_at":"2022-09-08T12:30:20.690Z","dependency_job_id":null,"html_url":"https://github.com/onyx-platform/onyx","commit_stats":null,"previous_names":[],"tags_count":208,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyx-platform%2Fonyx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyx-platform%2Fonyx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyx-platform%2Fonyx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onyx-platform%2Fonyx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onyx-platform","download_url":"https://codeload.github.com/onyx-platform/onyx/tar.gz/refs/heads/0.14.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234563136,"owners_count":18853060,"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":["batch","clojure","data","distributed","streaming"],"created_at":"2024-07-31T17:00:56.387Z","updated_at":"2025-09-28T21:30:47.577Z","avatar_url":"https://github.com/onyx-platform.png","language":"Clojure","funding_links":[],"categories":["Table of Contents","Clojure","Streaming Platforms","Java","Tools","Clojure Tools, Libraries, and Frameworks","Capabilities","大数据","Science and Data Analysis","\u003ca name=\"Clojure\"\u003e\u003c/a\u003eClojure"],"sub_categories":["Streaming Engine","Tools","[Tools](#tools-1)","Speech Recognition","Mesh networks","JavaScript Libraries for Machine Learning","Elasticity"],"readme":"# ![Logo](http://i.imgur.com/zdlOSZD.png?1) Onyx\n\n[![Join the chat at https://gitter.im/onyx-platform/onyx](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/onyx-platform/onyx?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n### What is it?\n\n- a masterless, cloud scale, fault tolerant, high performance distributed computation system\n- batch and stream hybrid processing model\n- exposes an information model for the description and construction of distributed workflows\n- Competes against Storm, Flink, Cascading, Cascalog, Spark, Map/Reduce, Sqoop, etc\n- written in pure Clojure\n\n### What would I use this for?\n\n- Realtime event stream processing\n- CQRS\n- Continuous computation\n- Extract, transform, load\n- Data transformation à la map-reduce\n- Data ingestion and storage medium transfer\n- Data cleaning\n\n### Installation\n\nAvailable on Clojars:\n\n```\n[org.onyxplatform/onyx \"0.14.6\"]\n```\n\n### Changelog\n\nChangelog can be found at [changes.md](changes.md).\n\n### Quick Lookup Doc\n\nA searchable set of documentation for the Onyx data model is [available](http://www.onyxplatform.org/docs/cheat-sheet/latest/).\n\n### Project Template\n\nA project template can be found at [onyx-template](https://github.com/onyx-platform/onyx-template).\n\n### Plugins and Libraries\n\n### Plugin Template\n\nWe provide a plugin template for use in building new plugins. This can be found at [onyx-plugin](https://github.com/onyx-platform/onyx-plugin).\n\n#### Plugin Use\n\nTo use the supported plugins, please use version coordinates such as\n`[org.onyxplatform/onyx-amazon-sqs \"0.14.6.SNAPSHOT.0\"]`, and read\nthe READMEs on the 0.14.x branches linked above.\n\n### Build Status\n\nComponent | `release`| `unstable`\n----------|--------|----------\n[onyx core](https://github.com/onyx-platform/onyx)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx/tree/master)\n[onyx-local-rt](https://github.com/onyx-platform/onyx-local-rt)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-local-rt/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-local-rt/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-local-rt/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-local-rt/tree/master)\n[onyx-kafka](https://github.com/onyx-platform/onyx-kafka)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-kafka/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-kafka/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-kafka/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-kafka/tree/master)\n[onyx-datomic](https://github.com/onyx-platform/onyx-datomic)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-datomic/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-datomic/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-datomic/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-datomic/tree/master)\n[onyx-redis](https://github.com/onyx-platform/onyx-redis)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-redis/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-redis/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-redis/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-redis/tree/master)\n[onyx-sql](https://github.com/onyx-platform/onyx-sql)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-sql/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-sql/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-sql/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-sql/tree/master)\n[onyx-bookkeeper](https://github.com/onyx-platform/onyx-bookkeeper)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-bookkeeper/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-bookkeeper/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-bookkeeper/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-bookkeeper/tree/master)\n[onyx-amazon-sqs](https://github.com/onyx-platform/onyx-amazon-sqs)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-amazon-sqs/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-amazon-sqs/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-amazon-sqs/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-amazon-sqs/tree/master)\n[onyx-amazon-s3](https://github.com/onyx-platform/onyx-amazon-s3)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-amazon-s3/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-amazon-s3/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-amazon-s3/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-amazon-s3/tree/master)\n[onyx-http](https://github.com/onyx-platform/onyx-http)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-http/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-http/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-http/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-http/tree/master)\n[learn-onyx](https://github.com/onyx-platform/learn-onyx)| [![Circle CI](https://circleci.com/gh/onyx-platform/learn-onyx/tree/answers.svg?style=svg)](https://circleci.com/gh/onyx-platform/learn-onyx/tree/answers) | `-`\n[onyx-examples](https://github.com/onyx-platform/onyx-examples)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-examples/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-examples/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-examples/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-examples/tree/master)\n[onyx-peer-http-query](https://github.com/onyx-platform/onyx-peer-http-query)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-peer-http-query/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-peer-http-query/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-peer-http-query/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-peer-http-query/tree/master)\n[lib-onyx](https://github.com/onyx-platform/lib-onyx)| [![Circle CI](https://circleci.com/gh/onyx-platform/lib-onyx/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/lib-onyx/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/lib-onyx/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/lib-onyx/tree/master)\n[onyx-plugin](https://github.com/onyx-platform/onyx-plugin)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-plugin/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-plugin/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-plugin/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-plugin/tree/master)\n[onyx-template](https://github.com/onyx-platform/onyx-template)| [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-template/tree/0.14.x.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-template/tree/0.14.x) | [![Circle CI](https://circleci.com/gh/onyx-platform/onyx-template/tree/master.svg?style=svg)](https://circleci.com/gh/onyx-platform/onyx-template/tree/master)\n\n- `release`: stable, released content\n- `unstable`: unreleased content\n\n#### Unsupported plugins\n\nSome plugins are currently unsupported in onyx 0.14.x. These are:\n\n- [`onyx-durable-queue`](https://github.com/onyx-platform/onyx-durable-queue)\n- [`onyx-elasticsearch`](https://github.com/onyx-platform/onyx-elasticsearch)\n- [`onyx-kafka-0.8`](https://github.com/onyx-platform/onyx-kafka-0.8)\n\n### Companies Running Onyx in Production\n\n[![LockedOn](doc/images/lockedon.png)](https://lockedon.com)\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"doc/images/cognician.png\" height=\"30%\" width=\"30%\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"doc/images/indaba.png\" height=\"40%\" width=\"40%\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"doc/images/yapster.png\" height=\"15%\" width=\"15%\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"doc/images/modnakasta.png\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg src=\"doc/images/breeze-125.png\"\u003e\n\n### Quick Start Guide\n\nFeeling impatient? Hit the ground running ASAP with the [onyx-starter repo](https://github.com/onyx-platform/onyx-starter) and [walkthrough](https://github.com/onyx-platform/onyx-starter/blob/master/WALKTHROUGH.md). You can also boot into preloaded a Leiningen [application template](https://github.com/onyx-platform/onyx-template).\n\n### User Guide 0.14.6\n\n- [User Guide Table of Contents](http://www.onyxplatform.org/docs)\n- [API docs](http://www.onyxplatform.org/docs/api/latest)\n- [Cheat Sheet](http://www.onyxplatform.org/docs/cheat-sheet/latest)\n\n### Developer's Guide 0.14.6\n\n- [Branch Policy](doc/developers-guide/branch-policy.md)\n- [Release Checklist](doc/developers-guide/release-checklist.md)\n- [Deployment Process](doc/developers-guide/deployment-process.md)\n\n### API Docs 0.14.6\n\nCode level API documentation [can be found here](http://www.onyxplatform.org/docs/api/0.14.6).\n\n### Official plugin listing\n\nOfficial plugins are vetted by Michael Drogalis. Ensure in your project that plugin versions directly correspond to the same Onyx version (e.g. `onyx-kafka` version `0.14.6.0-SNAPSHOT` goes with `onyx` version `0.14.6`). Fixes to plugins can be applied using a 4th versioning identifier (e.g. `0.14.6.1-SNAPSHOT`).\n\n- [`onyx-core-async`](doc/user-guide/core-async-plugin.adoc)\n- [`onyx-kafka`](https://github.com/onyx-platform/onyx-kafka)\n- [`onyx-kafka-0.8`](https://github.com/onyx-platform/onyx-kafka-0.8)\n- [`onyx-datomic`](https://github.com/onyx-platform/onyx-datomic)\n- [`onyx-redis`](https://github.com/onyx-platform/onyx-redis)\n- [`onyx-sql`](https://github.com/onyx-platform/onyx-sql)\n- [`onyx-bookkeeper`](https://github.com/onyx-platform/onyx-bookkeeper)\n- [`onyx-seq`](src/onyx/plugin/seq.cljc)\n- [`onyx-durable-queue`](https://github.com/onyx-platform/onyx-durable-queue)\n- [`onyx-elasticsearch`](https://github.com/onyx-platform/onyx-elasticsearch)\n- [`onyx-http`](https://github.com/onyx-platform/onyx-http)\n- [`onyx-amazon-sqs`](https://github.com/onyx-platform/onyx-amazon-sqs)\n- [`onyx-amazon-s3`](https://github.com/onyx-platform/onyx-amazon-s3)\n\nGenerate plugin templates through Leiningen with [`onyx-plugin`](https://github.com/onyx-platform/onyx-plugin).\n\n### 3rd Party plugin listing\n\nUnofficial plugins have not been vetted.\n- [`onyx-rethink`](https://github.com/cddr/onyx-rethink)\n\n### Need help?\n\nCheck out the [Onyx Google Group](https://groups.google.com/forum/#!forum/onyx-user).\n\n### Want the logo?\n\nFeel free to use it anywhere. You can find [a few different versions here](https://github.com/onyx-platform/onyx/tree/0.14.x/doc/images/logo).\n\n### Running the tests\n\nA simple `lein test` will run the full suite for Onyx core.\n\n#### Contributor list\n\n- [Michael Drogalis](https://github.com/MichaelDrogalis)\n- [Lucas Bradstreet](https://github.com/lbradstreet)\n- [Owen Jones](https://github.com/owengalenjones)\n- [Bruce Durling](https://github.com/otfrom)\n- [Malcolm Sparks](https://github.com/malcolmsparks)\n- [Bryce Blanton](https://github.com/bblanton)\n- [David Rupp](https://github.com/davidrupp)\n- [sbennett33](https://github.com/sbennett33)\n- [Tyler van Hensbergen](https://github.com/tvanhens)\n- [David Leatherman](https://github.com/leathekd)\n- [Daniel Compton](https://github.com/danielcompton)\n- [Jeff Rose](https://github.com/rosejn)\n- [Ole Krüger](https://github.com/dignati)\n- [Juho Teperi](https://github.com/Deraen)\n- [Nicolas Ha](https://github.com/nha)\n- [Andrew Meredith](https://github.com/kendru)\n- [Bridget Hillyer](https://github.com/bridgethillyer)\n- [Ivan Mushketyk](https://github.com/mushketyk)\n- [Jochen Rau](https://github.com/jocrau)\n- [Tienson Qin](https://github.com/tiensonqin)\n- [Roman Volosovskyi](https://github.com/rasom)\n- [Vijay Kiran](https://github.com/vijaykiran)\n- [Paul Kehrer](https://github.com/reaperhulk)\n- [Scott Bennett](https://github.com/sbennett33)\n- [Nathan Todd.stone](https://github.com/nathants)\n- [Mariusz Jachimowicz](https://github.com/mariusz-jachimowicz-83)\n- [Jason Bell](https://github.com/jasebell)\n\n\n#### Acknowledgements\n\nSome code has been incorporated from the following projects:\n\n- [Riemann](https://github.com/aphyr/riemann)\n- [zookeeper-clj](https://github.com/liebke/zookeeper-clj)\n\n### License\n\nCopyright © 2017 Michael Drogalis\n\nDistributed under the Eclipse Public License, the same as Clojure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonyx-platform%2Fonyx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonyx-platform%2Fonyx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonyx-platform%2Fonyx/lists"}