Data Modelling With ftd

ftd is an alternative to XML/JSON for storing data.

Optimized For Human Readability

ftd is designed for humans to write data. It tries to be a minimal as possible, intuitive and readable, no quote character for strings, avoid indentation etc.
ftd file containing data
-- record person:
caption name:
string location:
optional body bio:

-- person amitu: Amit Upadhyay
location: Banglore, India

Amit is the founder and CEO of FifthTry.

Consider this example. We have described our data, person, and notice we have type for each field. Notice also our types caption, which like “heading of the data”, body, which lets people write multiline strings without worrying about quoting or indentation etc.

Read our ftd::p1 grammar guide to understand the low level grammer better.

Rich Data Modelling

It has support for typed variables, records (struct in other languages), or-type (enum in Rust, also called “algebraic data type”) and lists.

FTD files can be validated to confirm to strict type or not, and this can be used by editors to assist humans write correct ftd files.

Better Organization Of Data

ftd also supports referring to other ftd files, so one can describe the schema or data in one file and refer it from other files.

Support fastn!

Enjoying fastn? Please consider giving us a star ⭐️ on GitHub to show your support!

Getting Help

Have a question or need help?

Visit our GitHub Q&A discussion to get answers and subscribe to it to stay tuned.

Join our Discord channel and share your thoughts, suggestion, question etc.

Connect with our community!

Found an issue?

If you find some issue, please visit our GitHub issues to tell us about it.

Join us

We welcome you to join our Discord community today.

We are trying to create the language for human beings and we do not believe it would be possible without your support. We would love to hear from you.
Copyright © 2023 -