Stof is a simple data runtime for all of your stuff. It unifies data handling and makes working with data much more enjoyable.
Why
Stof drastically decreases the amount of application code it takes to manipulate data by moving logic into the data that needs manipulating (typically done the other way around), creating a standard interface that can be used for cheaper and higher-quality access, while improving security, developer experience, and governance.
Getting Started
CLI
CLI is a standalone way to use Stof outside of an embedded environment.
Rust
The Stof Rust Crate is the most fully-featured way to embed and work with Stof. However, we are adding as many languages as possible to this list.
TypeScript (JSR)
It is currently possible to use Stof from the browser and in JavaScript host environments through WebAssembly. In this context, Stof is not yet fully featured. Stof JSR
Example
Note: Stof is also a superset of JSON
users:
: obj
> stof
Why Use Stof?
Use Stof for just about any data interchange use-case. It's particularly helpful for data unification and sending APIs (logic) over the wire (and combining APIs dynamically).
- Data Unification
- Use different types of data together at once (PDFs, JSON, YAML, XML, Images, DOCX, etc).
- Remote Execution
- Send Stof over networks as a lightweight and sandboxed way to execute logic remotely.
- Data Validation
- Use Stofs type system to quickly and easily filter/validate data according to your needs.
- Data Transformation & Connectors
- Connect data to your application through Stof for easy restructuring & access.
Contributing
Theres a lot to do, so please jump in and consider supporting the project.
License
Apache 2.0. See LICENSE for details.