{"id":13801626,"url":"https://github.com/twitter/scrooge","last_synced_at":"2025-05-15T03:04:59.334Z","repository":{"id":1613713,"uuid":"2249288","full_name":"twitter/scrooge","owner":"twitter","description":"A Thrift parser/generator","archived":false,"fork":false,"pushed_at":"2024-10-04T16:12:29.000Z","size":21675,"stargazers_count":793,"open_issues_count":43,"forks_count":246,"subscribers_count":165,"default_branch":"develop","last_synced_at":"2024-10-11T23:18:53.540Z","etag":null,"topics":["android","cocoa","code-generation","finagle","java","lua","scala","thrift"],"latest_commit_sha":null,"homepage":"http://twitter.github.io/scrooge/","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/twitter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":"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":"2011-08-22T15:17:18.000Z","updated_at":"2024-10-05T08:01:01.000Z","dependencies_parsed_at":"2023-02-15T11:46:38.478Z","dependency_job_id":"edea4a40-d4ff-475c-a41d-de2a01970c12","html_url":"https://github.com/twitter/scrooge","commit_stats":{"total_commits":1759,"total_committers":228,"mean_commits":7.714912280701754,"dds":0.8800454803865833,"last_synced_commit":"05a6102a99a80f3b87966843c486e25c03351f63"},"previous_names":[],"tags_count":95,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Fscrooge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Fscrooge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Fscrooge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Fscrooge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twitter","download_url":"https://codeload.github.com/twitter/scrooge/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688556,"owners_count":21145765,"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":["android","cocoa","code-generation","finagle","java","lua","scala","thrift"],"created_at":"2024-08-04T00:01:25.128Z","updated_at":"2025-04-13T08:59:59.004Z","avatar_url":"https://github.com/twitter.png","language":"Scala","readme":"# Scrooge\n\n[![Build Status](https://github.com/twitter/scrooge/workflows/continuous%20integration/badge.svg?branch=develop)](https://github.com/twitter/scrooge/actions?query=workflow%3A%22continuous+integration%22+branch%3Adevelop)\n[![Project status](https://img.shields.io/badge/status-active-brightgreen.svg)](#status)\n[![Gitter](https://badges.gitter.im/twitter/finagle.svg)](https://gitter.im/twitter/finagle?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.twitter/scrooge-core_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.twitter/scrooge-core_2.12)\n\nScrooge is a [thrift](https://thrift.apache.org/) code generator written in\nScala, which currently generates code for Scala, Java, Cocoa, Android and Lua.\n\nIt's meant to be a replacement for the apache thrift code generator, and\ngenerates conforming, compatible binary codecs by building on top of\nlibthrift.  It integrates with the [finagle][0] project, exporting stats\nand finagle APIs, and makes it easy to build high throughput, low latency,\nrobust thrift servers and clients.\n\nPart of the motivation behind scrooge's scala implementation is that since Scala\nis API-compatible with Java, you can use the apache thrift code generator to\ngenerate Java files and use them from within Scala, but the generated code uses\nJava collections and mutable \"bean\" classes, causing some annoying boilerplate\nconversions to be hand-written. Scrooge bypasses the problem by generating Scala\ncode directly. It also uses Scala syntax so the generated code is much more\ncompact.\n\nThere is a comprehensive set of unit tests, which generate code, compile it, and\nexecute it to verify expectations, as well as gold files to make it easy to\nreview the effects of changes to the generator.\n\n## Status\n\nThis project is used in production at Twitter (and many other organizations),\nand is actively developed and maintained.\n\n## Building the develop branch locally\n\nWe are not currently publishing snapshots for Scrooge's dependencies, which\nmeans that it may be necessary to publish the `develop` branches of these\nlibraries locally in order to work on Scrooge's `develop` branch. To do so\nyou can use our build tool, [dodo](https://github.com/twitter/dodo).\n\n``` bash\ncurl -s https://raw.githubusercontent.com/twitter/dodo/develop/bin/build | bash -s -- --no-test scrooge\n```\n\nIf you have any questions or run into any problems, please create\nan issue here, tweet at us at [@finagle](https://twitter.com/finagle), or email\nthe Finaglers mailing list.\n\n## Full Documentation\n\n\u003chttps://twitter.github.io/scrooge/\u003e\n\n## License\n\nCopyright 2013 Twitter, Inc.\n\nLicensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0\n\n[0]: https://github.com/twitter/finagle\n","funding_links":[],"categories":["Table of Contents","Scala"],"sub_categories":["Serialization"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Fscrooge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwitter%2Fscrooge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Fscrooge/lists"}