Charian (pron. /ka-ri-en/) is an innovative data serialization API that allows "packaging" structured data in a text string for easy storage or transportation.

By encoding structured data into a text string, Charian can be used for implementing –

  • Persistent data storage – for conveniently storing structured data (as strings) in files or databases;
  • Distributed computing – for passing programming object or data structure as a “string parameter” in RPC calls;
  • Data communication – for sending complex structured data in a serial form over the network;
  • ETL solutions – for transferring and transforming data of various data models through simple programming.

Charian uses the schema-less RDA format1 in its encoding, which means it can be used for serializing any data object of any data structure without predefining (and maintaining) a schema. Compared to the other data serialization systems and methods, Charian’s simple, one-size-fits-all approach has many advantages, for being –

  • Generic and universal: It is ideal for data exchange between programs with evolving and dynamic data models;
  • Minimalism: The API is implemented with a minimal code base (of ~800 lines), with no 3rd-party dependency;
  • Easy to use: Charian is “one size fits all” and has no settings or configuration for different situations;
  • Language and system independent: Charian-serialized objects can be exchanged cross-language and cross-platform.

Charian is designed for cross-program data exchange using only common data transport methods and protocols, as opposed to the conventional approach of using dedicated middleware or custom-built pipelines.

Charian is available on GitHub under the GPL license.


This article is Under construction.