package atdgen

  1. Overview
  2. Docs
Generates efficient JSON serializers, deserializers and validators

Install

Dune Dependency

Authors

  1. M
    Martin Jambon <martin@mjambon.com>
  2. R
    Rudi Grinberg <rudi.grinberg@gmail.com>
  3. M
    Martin Jambon <martin@r2c.dev>
  4. M
    Martin Jambon <github@mjambon.com>
  5. I
    Ivan Jager <aij+git@mrph.org>
  6. O
    oleksiy <oleksiy.golovko@ahrefs.com>
  7. D
    David Sheets <sheets@alum.mit.edu>
  8. R
    Rudi Grinberg <me@rgrinberg.com>
  9. M
    Martin Jambon <martin@esper.com>
  10. J
    Jeff Meister <nanaki@gmail.com>
  11. C
    Caio Wakamatsu <caio.wakamatsu@ahrefs.com>
  12. C
    Carmelo Piccione <carmelo.piccione@gmail.com>
  13. D
    Daniel Weil <danweil68@gmail.com>
  14. E
    Egor Chemokhonenko <egor.chemohonenko@ahrefs.com>
  15. Gabriel Scherer
  16. R
    Raman Varabets <roman.vorobets@gmail.com>
  17. T
    tzm <frank@boldsolutions.de>
  18. M
    Mathieu Baudet <mathieubaudet@fb.com>
  19. O
    Oleksiy Golovko <alexei.golovko@gmail.com>
  20. R
    Rauan Mayemir <rauan@mayemir.io>
  21. C
    Carmelo Piccione <cep1@solvuu.com>
  22. J
    John Billings <john@monkeynut.org>
  23. L
    Louis Roché <louis@louisroche.net>
  24. B
    Brendan Long <self@brendanlong.com>
  25. C
    Chris Yocum <cyocum@gmail.com>
  26. L
    Louis Roché (Ahrefs) <louis.roche@ahrefs.com>
  27. L
    Louis Roché <louis.roche@ahrefs.com>
  28. P
    Pavel Antoshkin <pavel.antoshkin@ahrefs.com>
  29. P
    Pierre Boutillier <pierre.boutillier@laposte.net>
  30. S
    Shon Feder <shon.feder@key.me>
  31. A
    Anurag Soni <anuragsoni.13@gmail.com>
  32. A
    Arjun Ravi Narayan <arjunravinarayan@gmail.com>
  33. A
    Asya-kawai <kawai-toshiki@aintek.xyz>
  34. C
    Christophe Troestler <christophe.Troestler@umons.ac.be>
  35. Damien Doligez
  36. D
    Daniel M <dan.mntg@gmail.com>
  37. D
    Ding Xiang Fei <dingxiangfei2009@protonmail.ch>
  38. F
    François Pottier <francois.pottier@inria.fr>
  39. J
    Javier Chavarri <javier.chavarri@gmail.com>
  40. K
    Kate <kit.ty.kate@disroot.org>
  41. L
    Louis <louis.roche@ahrefs.com>
  42. L
    Louis Roché <louis@cryptosense.com>
  43. R
    Raman Varabets <raman+git@ahrefs.com>
  44. S
    Stephane Legrand <slegrand45@gmail.com>
  45. V
    Vincent Bernardoff <vb@luminar.eu.org>
  46. H
    haoyang <haoyang@esper.co>
  47. P
    pmundkur <prashanth.mundkur@gmail.com>
  48. Y
    ygrek <ygrek@autistici.org>

Maintainers

Sources

atdts-2.8.0.tbz
sha256=d5740e52a6e57f7720640cb8c26e018e59311e1de78a20feb7168a808660aaaa
sha512=db50c74f3a92078b96c6affbb6fd3a7568741ef2fca6694272c45de84eaf682cd3c22902b1f085db9327a8e77d6765e7d77bc2bb8030422c6c897ff553e69ed7

CHANGES.md.html

2.8.0 (2022-06-06)

  • atdgen: use odoc syntax to disambiguate clashing names (#296)

  • atdpy: propagate decorators on sum types to all constructor classes (#298)

2.7.0 (2022-05-17)

  • Add ability to specify JSON/OCaml adapter with the arbitrary code using <json adapter.to_ocaml="..." adapter.from_ocaml="..."> (#184).

  • atdcat: add option -jsonschema-no-additional-properties for JSON Schema output to specify that JSON objects may not have extra properties (#293, #294).

  • atdcat: add title field to JSON Schema output containing the name of root type (#294).

  • atdcat: add command-line option to choose the version of JSON Schema to target. Options are the latest version "Draft 2020-12" and the previous version "Draft 2019-09" (#294).

  • ATD language: the abstract built-in can now be used like any other type to hold untyped data, if the implementation supports it. The supported targets so far are OCaml/JSON (atdgen), Python (atdpy), TypeScript (atdts), JSON Schema (atdcat) (#295).

2.6.0 (2022-05-03)

  • atdcat: add option -jsonschema to translate from ATD to JSON Schema (#284)

2.5.0 (2022-04-23)

  • atdpy: make atdpy --version print the version of atdpy itself rather than the version of the atd library (#270)

  • atdpy: fix handling of nullable and improve error message on option types used without optional fields (#277)

  • Add TypeScript backend called atdts (#274)

2.4.1 (2022-03-25)

  • atdpy: don't apply the @dataclass decorator twice if explicitly added by the user via an ATD annotation such as <python decorator="dataclass(frozen=True)"> (#267)

2.4.0 (2022-03-24)

  • atdpy: allow custom imports and class decorators to be added to the generated Python code.

2.3.3 (2022-03-16)

  • Prevent incorrect validation errors for annotations of the form <ocaml field_prefix=...> and a few others (#258)

2.3.2 (2022-03-11)

  • Fix package dependencies (#257)

2.3.1 (2022-03-10)

  • Ensure that atdgen reports its own version rather than the version of the atd library.

  • Fix version constraint on cmdliner.

2.3.0 (2022-03-10)

  • Allow single-quoted strings as an alternative to double-quoted strings in ATD files (#239)

  • Add Python backend called atdpy (#235)

  • Add detection of misplaced annotations and misspelled annotation field names for atdgen targets and atdpy (#204, #227)

  • atdpy: Downcase Python output files (#251)

  • atdpy: Disable flake8 checks on generated code via a special comment (#252)

  • atdgen: Add support for ppx attributes on individual type definitions (#238)

  • (BREAKING) atdgen: change encoding of int64 values to string (#231)

  • other enhancement and fixes (see git log)

2.2.0 (2020-09-03)

  • Add support for merging double annotations (<ocaml from="ProtoA"><ocaml predef>)

  • Add tests for annotation merging and target-specific annotations

2.1.0 (2019-12-3)

  • Fix bug preventing generated code from compiling when using json adapters on recursive types.

  • Improve automatic error messages shown in case of failed validation. Now include the validator's name or code.

  • Add support for json adapters in the bucklescript backend. (#153)

2.0.0 (2018-05-31)

  • Add support for json adapters in OCaml (<json adapter.ocaml=...>)

  • Add support for json enums with a catch-all case (<json open_enum>)

  • Remove <json tag_field=...> and <json untyped>

1.13.0 (2018-03-27)

  • Introduce atdgen-runtime package. This package contains the runtime dependency introduced by the atdgen code generator. The old runtime library is deprecated

  • Add atdj to set of released packages. atdj is a java code generator for .atd files.

  • Improve generated code to emit ppx attributes to ignore harmless warnings

  • Ag_version submodule has been replaced with Version.

  • Transition atd aliases using the (wrapped true) mode of jbuilder. This is a breaking change for all of those who use atd the library. All modules are now accessible under the Atd. entry module.

OCaml

Innovation. Community. Security.