package atdpy
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
- 2.15.0 (2023-10-26)
- 2.14.1 (2023-10-20)
- 2.14.0 (2023-10-19)
- 2.13.0 (2023-10-15)
- 2.12.0 (2023-05-12)
- 2.11.0 (2023-02-08)
- 2.10.0 (2022-08-09)
- 2.9.1 (2022-06-10)
- 2.8.0 (2022-06-06)
- 2.7.0 (2022-05-17)
- 2.6.0 (2022-05-03)
- 2.5.0 (2022-04-23)
- 2.4.1 (2022-03-25)
- 2.4.0 (2022-03-24)
- 2.3.3 (2022-03-16)
- 2.3.2 (2022-03-11)
- 2.3.1 (2022-03-10)
- 2.3.0 (2022-03-10)
- 2.2.0 (2020-09-03)
- 2.1.0 (2019-12-3)
- 2.0.0 (2018-05-31)
- 1.13.0 (2018-03-27)
Python/mypy code generation for ATD APIs
Install
dune-project
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
atd-2.16.0.tbz
sha256=59e6b445620241cbd6901a842b336683afb0eb125b3adbfee28bd94cd54e0def
sha512=7fbd12a1a482cecb7e0ccbfd5918a33637ec8af46212ce88bfa2410d2b927dc48e8ceb78fc5eabd80d99bc59cddd5d72fc236e990b4031ccda6fadb1ecdfe00a
doc/CHANGES.html
2.16.0 (2025-01-22)
- atdgen: Breaking change, migrate from Bucklescript to Melange (#375)
- atdd: Workaround d compiler bug regarding declaration order when using aliases (#393) Algebraic data types (SumType) now uses
alias thissyntax. - atdgen: Add support for
<json open_enum>in Melange (#401) - atdcpp: Initial Release (#404)
- atdcpp: Use
doublec++ type as default floating point type (#411) - atdgen: Fix JSON I/O for inline records (#419)
- atdgen: The deprecated
atdgenlibrary is no longer available. Useatdgen-runtimeinstead (#421) - atddiff: To ensure that all the intended types are checked when new type definitions are added to an ATD file, an
--ignoreoption is now available. It makes atddiff fail if some types are neither selected via--typesnor ignored via--ignore.
2.15.0 (2023-10-26)
- atddiff: Breaking changes in the JSON output format of atddiff (#382)
- atddiff: Fix
atddiff --versionoutput (#379) - atddiff: New experimental option
--no-locationsaimed at producing more stable results that allow diffing successive atddiff reports to spot new findings and ignore old ones (#377)
2.14.1 (2023-10-20)
- atddiff: Fixed reports for new variant cases. They are now correctly reported as forward incompatibilities (#373)
2.14.0 (2023-10-19)
- atdd: Fix various issues with the interoperability of user defined types, used in or outside of records (#355)
- atdd: Generated
.dfiles now have the suffix_atd.d(#355) - atddiff now supports options for filtering the findings based on the direction of the incompatibility (
--backward,--forward) or based on the name of the affected types (--types) (#365) - atddiff: new option
--output-format jsonfor exporting the results to JSON (#360)
2.13.0 (2023-10-15)
- atdts: Stop compiler errors on generated typescript (#348)
- atdts: Don't fail on
wrapconstructs (#353) - atdcat: New option
-remove-wrapswhich pretty-prints the type definitions withoutwrapconstructs (#353) - atdd: Add
dlangbackend to generate D code from ATD definitions (#349) - new tool: atddiff. Compares two versions of an ATD file and reports possible incompatibilities in the JSON data. Atddiff ships as part of the
atdpackage together withatdcat(#352, #358)
2.12.0 (2023-05-12)
- atdgen: Annotate generated code with types to disambiguate OCaml classic variants (#331)
- atdpy: Support the option type more correctly so that it follows ATD's convention for JSON encoding. This allows compatibility with JSON produced by other tools of the ATD suite. The Python type, however, is still a nullable (
Optional) to make things simpler for Python programmers. This prevents distinguishing["Some", "None"]from"None"which both translate toNonein Python. (#332) - (BREAKING) atdgen: revert default encoding of int64 values as string (#330)
- atdgen: Support
<json repr="string">forintvalues (#330) - atdpy: Treat default field values as expressions to evaluate each time they're assigned to a field. This allows the use of mutable defaults such as lists (#339)
2.11.0 (2023-02-08)
- atdpy: Support parametrized type definitions (#303)
- atdpy: Support options approximately by treating them as nullables (#320)
- atdts: Support parametrized type definitions (#303)
- atdts: Fix incorrect type for TypeScript readers/writers generated for type
abstract. - atdts: Fix incorrect type for TypeScript writers of optional fields. It was working only in special cases such as
foo?: int. - atdts: Eliminate the type alias
type Int = numbersince it was more confusing than helpful. Occurrences ofIntare replaced bynumber /*int*/. - atdts: Disable all tslint and eslint rules in generated code so as to play well with all tslint and eslint configurations.
2.10.0 (2022-08-09)
- atdgen: use Yojson 2.0 API (#299)
- atdpy: Support recursive definitions (#315)
- atdts: fix nullable object field writer (#312)
2.9.1 (2022-06-10)
- atdgen: update
abstracttype validation to accept all input by default (#301) - atdts: fix reader for case type (#302)
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-propertiesfor JSON Schema output to specify that JSON objects may not have extra properties (#293, #294). - atdcat: add
titlefield 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
abstractbuilt-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
-jsonschemato translate from ATD to JSON Schema (#284)
2.5.0 (2022-04-23)
- atdpy: make
atdpy --versionprint the version of atdpy itself rather than the version of theatdlibrary (#270) - atdpy: fix handling of
nullableand improve error message onoptiontypes used without optional fields (#277) - Add TypeScript backend called atdts (#274)
2.4.1 (2022-03-25)
- atdpy: don't apply the
@dataclassdecorator 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-runtimepackage. This package contains the runtime dependency introduced by theatdgencode generator. The old runtime library is deprecated - Add
atdjto set of released packages.atdjis a java code generator for .atd files. - Improve generated code to emit ppx attributes to ignore harmless warnings
Ag_versionsubmodule has been replaced withVersion.- Transition
atdaliases using the(wrapped true)mode of jbuilder. This is a breaking change for all of those who useatdthe library. All modules are now accessible under theAtd.entry module.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
- 2.15.0 (2023-10-26)
- 2.14.1 (2023-10-20)
- 2.14.0 (2023-10-19)
- 2.13.0 (2023-10-15)
- 2.12.0 (2023-05-12)
- 2.11.0 (2023-02-08)
- 2.10.0 (2022-08-09)
- 2.9.1 (2022-06-10)
- 2.8.0 (2022-06-06)
- 2.7.0 (2022-05-17)
- 2.6.0 (2022-05-03)
- 2.5.0 (2022-04-23)
- 2.4.1 (2022-03-25)
- 2.4.0 (2022-03-24)
- 2.3.3 (2022-03-16)
- 2.3.2 (2022-03-11)
- 2.3.1 (2022-03-10)
- 2.3.0 (2022-03-10)
- 2.2.0 (2020-09-03)
- 2.1.0 (2019-12-3)
- 2.0.0 (2018-05-31)
- 1.13.0 (2018-03-27)