package atdgen
Install
Dune Dependency
Authors
-
MMartin Jambon <martin@mjambon.com>
-
RRudi Grinberg <rudi.grinberg@gmail.com>
-
MMartin Jambon <martin@r2c.dev>
-
MMartin Jambon <github@mjambon.com>
-
IIvan Jager <aij+git@mrph.org>
-
Ooleksiy <oleksiy.golovko@ahrefs.com>
-
DDavid Sheets <sheets@alum.mit.edu>
-
RRudi Grinberg <me@rgrinberg.com>
-
MMartin Jambon <martin@esper.com>
-
JJeff Meister <nanaki@gmail.com>
-
CCaio Wakamatsu <caio.wakamatsu@ahrefs.com>
-
CCarmelo Piccione <carmelo.piccione@gmail.com>
-
DDaniel Weil <danweil68@gmail.com>
-
EEgor Chemokhonenko <egor.chemohonenko@ahrefs.com>
-
Gabriel Scherer
-
RRaman Varabets <roman.vorobets@gmail.com>
-
Ttzm <frank@boldsolutions.de>
-
MMathieu Baudet <mathieubaudet@fb.com>
-
OOleksiy Golovko <alexei.golovko@gmail.com>
-
RRauan Mayemir <rauan@mayemir.io>
-
CCarmelo Piccione <cep1@solvuu.com>
-
JJohn Billings <john@monkeynut.org>
-
LLouis Roché <louis@louisroche.net>
-
BBrendan Long <self@brendanlong.com>
-
CChris Yocum <cyocum@gmail.com>
-
LLouis Roché (Ahrefs) <louis.roche@ahrefs.com>
-
LLouis Roché <louis.roche@ahrefs.com>
-
PPavel Antoshkin <pavel.antoshkin@ahrefs.com>
-
PPierre Boutillier <pierre.boutillier@laposte.net>
-
SShon Feder <shon.feder@key.me>
-
AAnurag Soni <anuragsoni.13@gmail.com>
-
AArjun Ravi Narayan <arjunravinarayan@gmail.com>
-
AAsya-kawai <kawai-toshiki@aintek.xyz>
-
CChristophe Troestler <christophe.Troestler@umons.ac.be>
-
Damien Doligez
-
DDaniel M <dan.mntg@gmail.com>
-
DDing Xiang Fei <dingxiangfei2009@protonmail.ch>
-
FFrançois Pottier <francois.pottier@inria.fr>
-
JJavier Chavarri <javier.chavarri@gmail.com>
-
KKate <kit.ty.kate@disroot.org>
-
LLouis <louis.roche@ahrefs.com>
-
LLouis Roché <louis@cryptosense.com>
-
RRaman Varabets <raman+git@ahrefs.com>
-
SStephane Legrand <slegrand45@gmail.com>
-
VVincent Bernardoff <vb@luminar.eu.org>
-
Hhaoyang <haoyang@esper.co>
-
Ppmundkur <prashanth.mundkur@gmail.com>
-
Yygrek <ygrek@autistici.org>
Maintainers
Sources
sha256=ba4279bed54d13dcf3f6703a4b31744db815df22c0502d9965d6c674ce083933
sha512=33b7943ae6afd14e5a0709d9131d288e663d3f2b962caa065f1b11db8f6adfe081becba7968c8596b3ff2420577295ac248d521858cb0748e95971390eb29829
Description
Atdgen is a command-line program that takes as input type definitions in the ATD syntax and produces OCaml code suitable for data serialization and deserialization. Two data formats are currently supported, these are biniou and JSON. Atdgen-biniou and Atdgen-json will refer to Atdgen used in one context or the other. Atdgen was designed with efficiency and durability in mind. Software authors are encouraged to use Atdgen directly and to write tools that may reuse part of Atdgen’s source code.
Published: 30 Oct 2023
README
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.
Target programming languages currently supported:
Export to other interface description languages (IDLs):
JSON Schema:
atdcat -jsonschema
Tools to work with ATD files:
atdcat: check syntax, reformat, expand inherited definitions, export to JSON Schema, ...
atddiff: compare two revisions of a given ATD interface and report incompatibilities.
All can installed with opam e.g.
$ opam install atdgen
Documentation
Contributing
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.
For guidelines on how to contribute code, consult CONTRIBUTING.md.
Authors
The ATD project started in 2010. Contributors include:
Martin Jambon
Rudi Grinberg
Alexandre Bourquelot
Ivan Jager
oleksiy
Gregoire Lionnet
David Sheets
Rytis Jonynas
Jeff Meister
Carmelo Piccione
Louis
Louis Roché
Raman Varabets
Daniel Weil
Egor Chemokhonenko
Gabriel Scherer
Louis Roché (Ahrefs)
Matthew McQuaid
koonwen
tzm
Mathieu Baudet
Oleksiy Golovko
Rauan Mayemir
Hyeseong Kim
John Billings
Marek Kubica
Zach Yannes
Antonin Décimo
Brendan Long
Caio Wakamatsu
Chris Yocum
Pierre Boutillier
Shon Feder
metanivek
sebastiantoh
Anurag Soni
Arjun Ravi Narayan
Asya-kawai
Christophe Troestler
Damien Doligez
Daniel M
Enrico Tassi
François Pottier
Javier Chavarri
Jonas Bergler
Kate
Stephane Legrand
Vincent Bernardoff
Zach
haoyang
pmundkur
ygrek
We distribute the source code under the terms of a BSD license.
Dependencies (7)
Dev Dependencies (3)
-
odoc
with-doc
-
atdgen-codec-runtime
with-test
-
alcotest
with-test
Used by (31)
- ast_generic
- azure-cosmos-db
- calculon-redis-lib
- calculon-web
- daypack-lib
-
elasticsearch-cli
< "1.0"
-
elpi
>= "1.16.8"
-
facebook-sdk
< "0.3.1"
-
github
< "1.0.0" | >= "4.1.0" & < "4.4.0"
- github-data
-
gitlab
>= "0.1.3"
- iocaml-kernel
- jsonschema2atd
- jupyter-kernel
- kappa-agents
- kappa-server
-
libdash
>= "0.3"
- melange-atdgen-codec-runtime
- monorobot
-
ocamleditor
>= "1.15.2-ocaml414"
-
oclaunch
!= "0.2.1"
- openai-gym
- otoggl
- oxylc
- piece_rope
- sanddb
- sarif
- slack
- spotify-web-api
-
uritemplate
>= "0.1.0"
-
wcs-lib
>= "2017-05-26.05"
Conflicts
None