Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

74 lines (53 sloc) 2.605 kb
Piqi is a set of languages and open-source tools for working with structured
data. It includes:
* High-level data representation (Piq) and data definition languages
* Support for binary and JSON encodings for portable data
* Tools for validating, pretty-printing and converting data between
different formats: Piq, JSON, binary.
* Mappings to various programing languages allowing programs to
serialize and deserialize data in a portable manner.
The combination of data representation (Piq) and data definition (Piqi)
languages is similar to the concept of "valid XML" (i.e. XML with 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.
In addition to that, Piqi supports binary encoding and static language mappings
which makes it similar to cross-language data serialization tools like Google
Protocol Buffers or ASN.1.
In fact, Piqi was inspired by Google Protocol Buffers
( and 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).
Full description, documentation and binary builds can be found at
See INSTALL file for installation instructions.
README this file
INSTALL installation instructions 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
camlp4/ camlp4 extensions
piqicc/ Piqi compiler compiler
piqic/ Piq interface compiler
piqi/ "piqi" command-line utility (piqi tools) Piqi self-specifications
piqirun-ocaml/ runtime library for stubs generated by "piqic ocaml"
examples/ examples
tests/ tests for various piqi functionality; see tests/README
editors/ text editor plugins for .piq and .piqi files
Jump to Line
Something went wrong with that request. Please try again.