# What This crate contains a structure that acquires data form an indeterminately big amount of files in a directory. It also provides Error types and builders for the structure. It assumes that a directory is a table with each file in the directory being an entry. More information in the docs. # Why This crate exists in order to solve the following problem. You need your user to hold to a bunch of data which they should be able to modify on their own. It is simple structured data, of an undetermined length. The problem with it is that a database is unreadable by the user and you need to provide an interface to it. Should you want to provide said interface, SQLite is ideal, with [several crates](https://lib.rs/search?q=sqlite) to choose bindings from, being [rusqlite](https://lib.rs/crates/rusqlite) the most popular one. If you want ORM (object relational mapping) there is [diesel](https://diesel.rs) and [sea-QL](https://www.sea-ql.org/). You don't want to provide the interface, or have to deal with SQL or with database management. Shame on you, and shame on me for making it easier (I hope) for you. # [Dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) I am personally using this crate in my application [amisgitpm](https://github.com/david-soto-m/amisgitpm). # How It navigates to a directory, opens all the files and stores the content according to a structure. There are cleverer ways, like caching what's used. Those are not used.