Skip to content
Static types for JSON APIs
OCaml TeX Java Scala Shell Makefile Other
Branch: master
Clone or download
rgrinberg Merge pull request #203 from atstp/update-link-to-dune-wildcard-issue
link to the active issue for dune wildcards
Latest commit 8c46ac5 Dec 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
atd Fixes issue #89 Merge multiple annotations of the same domain Dec 17, 2019
atdcat replace str with re Dec 2, 2018
atdgen-codec-runtime/src Manual merge of PR 158 (fix-lambda-annot branch) Nov 9, 2018
atdgen-cppo Port to dune Aug 19, 2018
atdgen Fixes issue #190, issue #89 Tests for target-specific annotations and… Dec 17, 2019
atdj replace str with re Dec 2, 2018
atds Fix atds tests for Scala 2.11 Dec 17, 2019
doc link to the active issue for dune wildcards Dec 20, 2019
internal-doc More details on how to make a release Jun 3, 2018
manual transition atdgen to the new atd API Feb 2, 2018
.agignore Add .agignore so these files don't pollute grepping Mar 29, 2018
.gitignore Add emacs backup files to gitignore Aug 25, 2017
.ocp-indent Tests and fixes for Atd_sort. Good to go. Apr 28, 2014 update change log Dec 18, 2019
CODEOWNERS Direct Bucklescript-specific pull requests toward Rudi. Nov 27, 2018 Fixes for topkg Jun 1, 2018
Makefile Add makefile target for opam releases Dec 4, 2019 Attempt at making documentation link more visible Jun 24, 2018
atd.opam Prepare 2.1.0 release Dec 3, 2019
atd.opam.template Prepare 2.1.0 release Dec 3, 2019
atdgen-codec-runtime.opam Prepare 2.1.0 release Dec 3, 2019
atdgen-runtime.opam Prepare 2.1.0 release Dec 3, 2019
atdj.opam Prepare 2.1.0 release Dec 3, 2019
atdj.opam.template Prepare 2.1.0 release Dec 3, 2019
dune Use the env stanza rather than the old include hack for global flags Oct 22, 2018
dune-project Prepare 2.1.0 release Dec 3, 2019 Update dune-workspace file Oct 22, 2018

ATD project - Static Types for Json APIs

ATD stands for Adaptable Type Definitions. It is a syntax for defining cross-language data types. It is used as input to generate efficient and type-safe serializers, deserializers and validators. The current target languages are OCaml and Java.

The following opam packages are provided by the atd project:

  • atdgen: executable that generates OCaml code dealing with json and biniou data formats
  • atdj: executable that generates Java code dealing with json
  • atd: library for parsing atd files used by code generators



Help wanted

The ATD suite of tools is developed and maintained by volunteers—users like you. Various issues are in need of attention. If you'd like to contribute, please leave a comment on the issue you're interested in, or create a new issue. Experienced contributors will guide you as needed.

There are many simple ways of making a positive impact. For example, you can...

  • Use the software in your project.
  • Give a demo to your colleagues.
  • Share the passion on your blog.
  • Tweet about what you're doing with atd.
  • Report difficulties by creating new issues. We'll triage them.
  • Ask questions on StackOverflow.
  • Answer questions on StackOverflow.
  • Discuss usage on the OCaml forums.
  • Pick a task that's easy for you.

Check out in particular good first time issues and other issues with which we could use some help.

See our contribution guidelines.


The ATD language and atdgen were originally created at MyLife by Martin Jambon in 2010. Atdj was created at MyLife by John Billings in 2010. Multiple volunteers contributed to the project after that. Other prominent contributors include Jeff Meister, David Sheets, and Rudi Grinberg.

We distribute the source code under the terms of a BSD license.

You can’t perform that action at this time.