Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Piqi – universal schema language: JSON, XML, Protocol Buffers data validation and conversion
OCaml Protocol Buffer Shell Makefile Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
camlp4
deps
editors/vim
examples
make
piqi.org
piqi
piqic
piqicc
piqirun-erlang
piqirun-ocaml
tests
.gitignore
AUTHORS
CHANGES
INSTALL
LICENSE
Makefile
NOTICE
README
VERSION
setenv.sh

README

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

Something went wrong with that request. Please try again.