dat
is primarily intended as a command line tool. There is also a programmatic API that you can use in node.js programs for more advanced use cases.
The dat
module is designed with a small-core philosophy. It defines an API for reading, writing and syncing datasets. It's written using Node and a variety of modules.
- For high-level description read what is
dat
? - Are you a coder? Pick your favorite database/API/file format and try to hook it up to dat. Check out our data importing guide to learn how
- We also have a module wishlist in case you are looking for a module to hack on
- Check out the JS API docs or the CLI usage docs
- Curious about how we built dat? Read about the node modules we used
- Interested in contributing to dat core? Start by checking out our help wanted issue
- Want to ask questions in IRC? Join
#dat
on freenode. Chat logs are available here - Watch the
dat
repo on Github or follow @dat_project on twitter - Suggest an organization that should be using
dat
to distribute their data. Let us know on Twitter - Have any other questions/concerns? Open an issue
There are three main interfaces to dat:
In addition to the JS API documentation linked above we also wrote a guide that shows examples of how to use the dat JS API from Node.
Internally dat has two kinds of data storage: tabular and blob. The default tabular data store is LevelDB and the default blob store stores files on the local filesystem. Both of these default backends can be swapped out for other backends.
To learn about how replication works in detail check out our replication guide.
To help build data pipelines with dat we have a complementary tool called gasket.
The best way to learn about gasket is to do the data-plumber workshop.