{"id":16680855,"url":"https://github.com/fthomas/crjdt","last_synced_at":"2025-04-07T12:07:03.860Z","repository":{"id":54388728,"uuid":"66337434","full_name":"fthomas/crjdt","owner":"fthomas","description":"A conflict-free replicated JSON datatype (CRDT) in Scala","archived":false,"fork":false,"pushed_at":"2021-02-21T15:51:05.000Z","size":1582,"stargazers_count":297,"open_issues_count":7,"forks_count":18,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-31T10:09:26.519Z","etag":null,"topics":["crdt","json","scala"],"latest_commit_sha":null,"homepage":"https://fthomas.github.io/crjdt/","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/fthomas.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}},"created_at":"2016-08-23T05:54:56.000Z","updated_at":"2024-11-06T16:23:31.000Z","dependencies_parsed_at":"2022-08-13T14:10:43.198Z","dependency_job_id":null,"html_url":"https://github.com/fthomas/crjdt","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fthomas%2Fcrjdt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fthomas%2Fcrjdt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fthomas%2Fcrjdt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fthomas%2Fcrjdt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fthomas","download_url":"https://codeload.github.com/fthomas/crjdt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"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":["crdt","json","scala"],"created_at":"2024-10-12T13:44:07.891Z","updated_at":"2025-04-07T12:07:03.836Z","avatar_url":"https://github.com/fthomas.png","language":"Scala","funding_links":[],"categories":["分布式开发"],"sub_categories":["Spring Cloud框架"],"readme":"# crjdt: a conflict-free replicated JSON datatype in Scala\n[![Build Status](https://travis-ci.com/fthomas/crjdt.svg?branch=master)](https://travis-ci.com/fthomas/crjdt)\n[![codecov](https://codecov.io/gh/fthomas/crjdt/branch/master/graph/badge.svg)](https://codecov.io/gh/fthomas/crjdt)\n[![Join the chat at https://gitter.im/fthomas/crjdt](https://badges.gitter.im/fthomas/crjdt.svg)](https://gitter.im/fthomas/crjdt?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Scaladex](https://index.scala-lang.org/fthomas/crjdt/crjdt-core/latest.svg?color=blue)][scaladex]\n[![Scaladoc](https://www.javadoc.io/badge/eu.timepit/crjdt-core_2.12.svg?color=blue\u0026label=Scaladoc)](https://www.javadoc.io/doc/eu.timepit/crjdt-core_2.12)\n\nThis is an implementation of the data structures and algorithms described\nin the paper [A Conflict-Free Replicated JSON Datatype][paper.abs]\n([PDF][paper.pdf]) by **[Martin Kleppmann][kleppmann]** and\n**[Alastair R. Beresford][beresford]**.\n\nThe goal of this project is to provide a high-level API to the CRDT described\nin the paper that integrates well with other JSON libraries for Scala.\n\n## Getting Started\n\ncrjdt is currently available for Scala and [Scala.js][scala.js],\nversion 2.11 and 2.12.\n\nTo get started with sbt, add the following to your `build.sbt` file:\n\n```sbt\nlibraryDependencies ++= Seq(\n  \"eu.timepit\" %% \"crjdt-core\"  % \"0.0.7\",\n  \"eu.timepit\" %% \"crjdt-circe\" % \"0.0.7\" // optional\n)\n```\nFor Scala.js just replace `%%` with `%%%` above.\n\nInstructions for Maven and other build tools are available on the\n[Scaladex][scaladex] page.\n\n## Contributors and participation\n\n* [Frank S. Thomas](https://github.com/fthomas) ([@fthomas](https://github.com/fthomas))\n* [Jan](https://github.com/Tamriel) ([@Tamriel](https://github.com/Tamriel))\n* [Yusuke Yasuda](https://github.com/TanUkkii007) ([@TanUkkii007](https://github.com/TanUkkii007))\n\nThe crjdt project supports the [Typelevel][typelevel]\n[code of conduct][typelevel-coc] and wants all of its channels (Gitter,\nGitHub, etc.) to be welcoming environments for everyone.\n\n## Other implementations\n\nHere are other implementations of the JSON CRDT described in the\n[paper][paper.abs] by **Kleppmann** and **Beresford**.\n\nIf you know an implementation that is not listed here, please submit a PR!\n\n- [crjdt-haskell](https://github.com/amarpotghan/crjdt-haskell)\n\n## Development\n- Format your code with [Scalafmt](http://scalameta.org/scalafmt/).\n- Run a specific test with e.g. `sbt \"test:testOnly eu.timepit.crjdt.core.examples.Figure1\"` or all tests with `sbt test`.\n- Documentation for Vertical Move is in the file [`doc.md`](https://github.com/Tamriel/crjdt/blob/master/doc/doc.md).\n\n## License\n\nCopyright 2016 Frank S. Thomas\n\ncrjdt is licensed under the [Apache License, Version 2.0][apache2]\n(the \"License\"); you may not use this software except in compliance with\nthe License.\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\n[apache2]: http://www.apache.org/licenses/LICENSE-2.0\n[beresford]: https://www.cl.cam.ac.uk/~arb33/\n[fst9000]: https://twitter.com/fst9000\n[kleppmann]: https://martin.kleppmann.com/\n[paper.abs]: http://arxiv.org/abs/1608.03960\n[paper.pdf]: http://arxiv.org/pdf/1608.03960.pdf\n[scala.js]: http://www.scala-js.org/\n[scaladex]: https://index.scala-lang.org/fthomas/crjdt/crjdt-core\n[typelevel]: http://typelevel.org/\n[typelevel-coc]: http://typelevel.org/conduct.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffthomas%2Fcrjdt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffthomas%2Fcrjdt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffthomas%2Fcrjdt/lists"}