26 releases (15 breaking)

new 0.16.0 Jul 22, 2021
0.14.0 Jun 29, 2021
0.12.0 Mar 12, 2021
0.9.0 Jul 10, 2020
0.3.1 Oct 23, 2019
Download history 23/week @ 2021-04-06 39/week @ 2021-04-13 41/week @ 2021-04-20 6/week @ 2021-04-27 22/week @ 2021-05-04 10/week @ 2021-05-11 29/week @ 2021-05-18 1/week @ 2021-05-25 23/week @ 2021-06-08 1/week @ 2021-06-15 3/week @ 2021-06-22 34/week @ 2021-06-29 3/week @ 2021-07-06 3/week @ 2021-07-13 44/week @ 2021-07-20

57 downloads per month
Used in preserves-schema

Apache-2.0

185KB
4.5K SLoC


projectpages: "https://gitlab.com/preserves/preserves" projecttree: "https://gitlab.com/preserves/preserves/tree/main" title: "Preserves: an Expressive Data Language" no_site_title: true

This repository contains a proposal and various implementations of Preserves, a new data model and serialization format in many ways comparable to JSON, XML, S-expressions, CBOR, ASN.1 BER, and so on.

WARNING Everything in this repository is experimental and in flux! The design of Preserves is not finalised and may change drastically. Please offer any feedback you may have with this in mind.

Core documents

Preserves data model and serialization formats

Preserves is defined in terms of a syntax-neutral data model and semantics which all transfer syntaxes share. This allows trivial, completely automatic, perfect-fidelity conversion between syntaxes.

Preserves schema

Implementations

Implementations of the data model, plus the textual and/or binary transfer syntaxes:

Implementations of the data model, plus Syrup transfer syntax:

Tools

Preserves documents

Preserves Schema documents and codegen

Additional resources

Contact

Tony Garnock-Jones tonyg@leastfixedpoint.com

Licensing

The contents of this repository are made available to you under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0), and are Copyright 2018-2021 Tony Garnock-Jones.

Dependencies

~1–1.6MB
~38K SLoC