{"id":13726318,"url":"https://github.com/ahrefs/atd","last_synced_at":"2026-04-12T05:03:45.812Z","repository":{"id":7357113,"uuid":"8681682","full_name":"ahrefs/atd","owner":"ahrefs","description":"Static types for JSON APIs","archived":false,"fork":false,"pushed_at":"2025-04-19T08:20:48.000Z","size":5373,"stargazers_count":326,"open_issues_count":89,"forks_count":57,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-15T23:01:55.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahrefs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-03-10T06:43:15.000Z","updated_at":"2025-05-15T20:26:34.000Z","dependencies_parsed_at":"2024-02-01T20:07:54.250Z","dependency_job_id":"089451bb-4625-402c-bff3-0287478a2004","html_url":"https://github.com/ahrefs/atd","commit_stats":{"total_commits":1073,"total_committers":50,"mean_commits":21.46,"dds":0.6887232059645852,"last_synced_commit":"fc3bcfb5233982b9bb912c11c3f89841ffa4d1dd"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrefs%2Fatd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrefs%2Fatd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrefs%2Fatd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrefs%2Fatd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahrefs","download_url":"https://codeload.github.com/ahrefs/atd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254436943,"owners_count":22070946,"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":[],"created_at":"2024-08-03T01:02:59.120Z","updated_at":"2026-04-12T05:03:45.806Z","avatar_url":"https://github.com/ahrefs.png","language":"OCaml","funding_links":[],"categories":["OCaml","Reason","Serialization"],"sub_categories":["Libraries"],"readme":"\u003c!-- testing readthedocs webhook --\u003e\n\nATD project - Static Types for Json APIs\n==\n\n[![CircleCI](https://circleci.com/gh/ahrefs/atd/tree/master.svg?style=svg)](https://circleci.com/gh/ahrefs/atd/tree/master)\n\nATD stands for Adaptable Type Definitions. It is a syntax for defining\ncross-language data types. It is used as input to generate efficient\nand type-safe serializers, deserializers and validators.\n\nTarget programming languages currently supported:\n* C++: [atdcpp](atdcpp)\n* DLang: [atdd](atdd)\n* Java: [atdj](atdj)\n* OCaml (legacy), Melange: [atdgen](atdgen)\n* OCaml (coming soon): [atdml](atdml)\n* Python: [atdpy](atdpy)\n* Scala: [atds](atds)\n* TypeScript: [atdts](atdts)\n\nExport to other interface description languages (IDLs):\n* JSON Schema: [`atdcat -jsonschema`](atdcat)\n\nTools to work with ATD files:\n* [atdcat](atdcat): check syntax, reformat, expand inherited definitions,\n  export to JSON Schema, ...\n* [atddiff](atddiff): compare two revisions of a given ATD interface and\n  report incompatibilities.\n\nAll can installed with opam e.g.\n```\n$ opam install atdgen\n```\n\nRelated\n--\n\n[atd-lsp](https://github.com/ahrefs/atd-lsp) - Language Server for ATD\n\nDocumentation\n--\n\n[here](http://atd.readthedocs.io/)\n\nContributing\n--\n\nThe ATD suite of tools is developed and maintained by\nvolunteers\u0026mdash;users like you.\n[Various issues](https://github.com/ahrefs/atd/issues) are in need\nof attention. If you'd like to contribute, please leave a comment on the\nissue you're interested in, or create a new issue. Experienced\ncontributors will guide you as needed.\n\nThere are many simple ways of making a positive impact. For example,\nyou can...\n\n* Use the software in your project.\n* Give a demo to your colleagues.\n* Share the passion on your blog.\n* Tweet about what you're doing with atd.\n* Report difficulties by creating new issues. We'll triage them.\n* Ask questions on StackOverflow.\n* Answer questions on\n  [StackOverflow](https://stackoverflow.com/search?q=atdgen).\n* Discuss usage on the [OCaml forums](https://discuss.ocaml.org/).\n* Pick a [task](https://github.com/ahrefs/atd/issues) that's easy for you.\n\nCheck out in particular\n[good first time issues](https://github.com/ahrefs/atd/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+time+issue%22)\nand other issues with which\n[we could use some\nhelp](https://github.com/ahrefs/atd/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22).\n\nFor guidelines on how to contribute code, consult\n[CONTRIBUTING.md](CONTRIBUTING.md).\n\nAuthors\n--\n\n\u003c!-- The list of contributors was obtained with:\n       git shortlog -s -n | cut -f2 | sed -e 's/^/* /'\n\n     Let's try to refresh it once in a while.\n--\u003e\nThe ATD project started in 2010. Contributors include:\n\n* Martin Jambon\n* Rudi Grinberg\n* Alexandre Bourquelot\n* Ivan Jager\n* oleksiy\n* Gregoire Lionnet\n* David Sheets\n* Rytis Jonynas\n* Jeff Meister\n* Carmelo Piccione\n* Louis\n* Louis Roché\n* Raman Varabets\n* Daniel Weil\n* Egor Chemokhonenko\n* Gabriel Scherer\n* Louis Roché (Ahrefs)\n* Matthew McQuaid\n* koonwen\n* tzm\n* Mathieu Baudet\n* Oleksiy Golovko\n* Rauan Mayemir\n* Hyeseong Kim\n* John Billings\n* Marek Kubica\n* Zach Yannes\n* Antonin Décimo\n* Brendan Long\n* Caio Wakamatsu\n* Chris Yocum\n* Pierre Boutillier\n* Shon Feder\n* metanivek\n* sebastiantoh\n* Anurag Soni\n* Arjun Ravi Narayan\n* Asya-kawai\n* Christophe Troestler\n* Damien Doligez\n* Daniel M\n* Enrico Tassi\n* François Pottier\n* Javier Chavarri\n* Jonas Bergler\n* Kate\n* Stephane Legrand\n* Vincent Bernardoff\n* Zach\n* haoyang\n* pmundkur\n* ygrek\n\nWe distribute the source code under the terms of a [BSD license](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrefs%2Fatd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahrefs%2Fatd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrefs%2Fatd/lists"}