Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 114 lines (83 sloc) 4.322 kB
8d56ba1 @alavrik first commit
authored
1 OVERVIEW
2 ========
3
dbae783 @alavrik Updated README, NOTICE; added AUTHORS.
authored
4 Piqi is a set of languages and open-source tools for working with structured
5 data. It includes:
8d56ba1 @alavrik first commit
authored
6
3308f37 @alavrik piqi-0.5.5 release
authored
7 - A cross-language data serialization system compatible with Google Protocol
8 Buffers. It allows programs implemented in various languages to exchange
9 and persist data in a portable manner.
10
11 - Piq -- a human-friendly typed data representation language. It is designed
12 to be more convenient for representing, viewing and editing data than
13 JSON, XML, CSV, S-expressions and other formats.
14
15 - Piqi -- a powerful data definition language. It is specially designed to be
16 used with Piq, but also works as a schema language for other data formats
17 including JSON, XML and Protocol Buffers binary format. Tools for
18 validating, pretty-printing and converting data between Piq, JSON, XML and
19 Protocol Buffers binary format.
20
21 - Piqi-RPC -- an RPC-over-HTTP system for Erlang. It provides a simple way to
22 expose Erlang services via JSON, XML and Google Protocol Buffers over
23 HTTP.
24
25 As a data serialization system, Piqi implements native support for OCaml and
26 Erlang. Connectivity with other programming languages is provided via Google
27 Protocol Buffers. Overall, Piqi provides a more natural mapping to functional
28 programming languages compared to various serialization systems that were
29 originally designed for imperative or object-oriented languages.
30
31 Piqi was inspired by Google Protocol Buffers and specially designed to be
32 largely compatible with it. Like Protocol Buffers, Piqi relies on type
3cba41d @alavrik Updated README and INSTALL to reflect the addition of Erlang support.
authored
33 definitions and supports data schema evolution. The main difference is that Piqi
3308f37 @alavrik piqi-0.5.5 release
authored
34 has a richer data model, high-level modules and a powerful data representation
35 language (Piq).
8d56ba1 @alavrik first commit
authored
36
3cba41d @alavrik Updated README and INSTALL to reflect the addition of Erlang support.
authored
37 The combination of data representation (Piq) and data definition (Piqi)
38 languages is similar to the concept of "valid XML" (i.e. XML conforming to some
39 XML Schema). However, unlike XML, Piq has a concise, clean syntax and a data
3308f37 @alavrik piqi-0.5.5 release
authored
40 model similar to those of high-level programming languages.
8d56ba1 @alavrik first commit
authored
41
42
43 FURTHER INFORMATION
44 ===================
45
02c6146 @alavrik piqi-0.5.6 release
authored
46 Full description and documentation can be found at:
8d56ba1 @alavrik first commit
authored
47
48 http://piqi.org
49
50
51 INSTALLATION
52 ============
53
02c6146 @alavrik piqi-0.5.6 release
authored
54 See the INSTALL file for installation instructions.
55
56
57 BUG TRACKER
58 ===========
59
60 If you found a bug or have any suggestions, please report them to the issue
61 tracker:
62
63 http://github.com/alavrik/piqi/issues
64
65
66 CONTRIBUTING
67 ============
68
69 Participation and patches are very welcome! The best way to submit a
70 contribution is to open a pull request on GitHub against "dev" branch.
71
72
73 MAILING LIST
74 ============
75
76 For discussions about the usage, development, and future of Piqi, please post on
77 the Piqi Google Group:
78
79 http://groups.google.com/group/piqi
8d56ba1 @alavrik first commit
authored
80
81
82 FILES
83 =====
84
85 README this file
02c6146 @alavrik piqi-0.5.6 release
authored
86 INSTALL general installation instructions
87 INSTALL.erlang instructions for building Piqi for Erlang
88 INSTALL.ocaml instructions for building Piqi for OCaml
e8bcfe0 @alavrik Windows support
authored
89 INSTALL.windows instructions for building Piqi on Windows
8d56ba1 @alavrik first commit
authored
90 setenv.sh installation configuration file
e8bcfe0 @alavrik Windows support
authored
91 setenv-mingw.sh build configuration file for Windows/MinGW
8d56ba1 @alavrik first commit
authored
92 LICENSE license
93 NOTICE copyright notice
dbae783 @alavrik Updated README, NOTICE; added AUTHORS.
authored
94 AUTHORS Piqi authors
95 CHANGES release history
8d56ba1 @alavrik first commit
authored
96 VERSION current version
97 Makefile main Makefile
a50d5c1 @alavrik (ocaml) a better build system and OCaml library packaging
authored
98 make/ makefiles and build scripts
3cba41d @alavrik Updated README and INSTALL to reflect the addition of Erlang support.
authored
99 deps/ third-party components (see NOTICE for details)
a50d5c1 @alavrik (ocaml) a better build system and OCaml library packaging
authored
100 piqi-camlp4/ Piqi syntax extensions for OCaml
dbae783 @alavrik Updated README, NOTICE; added AUTHORS.
authored
101 piqicc/ Piqi compiler compiler
3cba41d @alavrik Updated README and INSTALL to reflect the addition of Erlang support.
authored
102 piqic/ Piq interface compiler for OCaml and Erlang
ef21722 @alavrik - Extracted Piqi common library "piqilib" from Piqi tools.
authored
103 piqi-tools/ "piqi" command-line utility (piqi tools)
711832d @alavrik Self-spec refactoring
authored
104 piqi Piqi self-specification
ef21722 @alavrik - Extracted Piqi common library "piqilib" from Piqi tools.
authored
105 piqilib/ Piqi common library
3cba41d @alavrik Updated README and INSTALL to reflect the addition of Erlang support.
authored
106 piqirun-ocaml/ Piqi runtime library for OCaml
d0059dc @alavrik - Renamed "piqirun-erlang" top-level directory to "piqi-erlang".
authored
107 piqi-erlang/ Piqi runtime library and Piqi tools bindings for Erlang
3308f37 @alavrik piqi-0.5.5 release
authored
108 piqi-rpc/ Piqi-RPC -- an RPC-over-HTTP system for Erlang
8d56ba1 @alavrik first commit
authored
109 examples/ examples
110 tests/ tests for various piqi functionality; see tests/README
111 editors/ text editor plugins for .piq and .piqi files
0616a8f @alavrik Make "rebar dialyze" work by adding a dummy .erl module
authored
112 src/ makes rebar happy (rebar is a build tool for Erlang)
8d56ba1 @alavrik first commit
authored
113
Something went wrong with that request. Please try again.