HTTPS clone URL
Subversion checkout URL
Piqi – universal schema language: JSON, XML, Protocol Buffers data validation and conversion
OCaml Protocol Buffer Shell Makefile C C++
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
OVERVIEW ======== Piqi is a set of languages and open-source tools for working with structured data. It includes: * A cross-language data serialization system compatible with Google Protocol Buffers. It allows programs implemented in various languages to exchange and persist data in a portable manner. * High-level data representation (Piq) and data definition languages (Piqi). * Tools for validating, pretty-printing and converting data between Piq, JSON and portable binary encoding. As a data serialization system, Piqi follows a static approach, when high-level data specification is used to generate static code for serializing and deserializing data structures. Piqi implements native support for OCaml and Erlang programming languages. Connectivity with other languages is provided via Google Protocol Buffers. In fact, Piqi was inspired by Google Protocol Buffers and specially designed to be largely compatible with it. Like Protocol Buffers, Piqi relies on type definitions and supports data schema evolution. The main difference is that Piqi has a richer data model, high-level modules and a human-friendly data representation language (Piq). The combination of data representation (Piq) and data definition (Piqi) languages is similar to the concept of "valid XML" (i.e. XML conforming to some XML Schema). However, unlike XML, Piq has a concise, clean syntax and a data model similar to those of high-level programming languages such as ML. FURTHER INFORMATION =================== Full description and documentation can be found at http://piqi.org INSTALLATION ============ See INSTALL file for installation instructions. FILES ===== README this file INSTALL installation instructions setenv.sh installation configuration file LICENSE license NOTICE copyright notice AUTHORS Piqi authors CHANGES release history VERSION current version Makefile main Makefile make/ make files for building the project deps/ third-party components (see NOTICE for details) camlp4/ camlp4 extensions piqicc/ Piqi compiler compiler piqic/ Piq interface compiler for OCaml and Erlang piqi/ "piqi" command-line utility (piqi tools) piqi.org/ Piqi self-specifications piqirun-ocaml/ Piqi runtime library for OCaml piqirun-erlang/ Piqi runtime library for Erlang examples/ examples tests/ tests for various piqi functionality; see tests/README editors/ text editor plugins for .piq and .piqi files