# Product OS : Store
Product OS : Store provides a flexible and higher-level framework for defining storage engines / database engines and the actions to read and write to those storage engines / databases.
This crate leverages a number of existing crates to achieve this. Support currently for key-value, queue and relational databases. Popular databases supported include Redis and PostgreSQL at this time.
You should use Product OS : Store Macros with this crate for best results.
### What is Product OS?
Product OS is a collection of packages that provide different tools and features that can work together to build products more easily for the Rust ecosystem.
## Installation
Use the Rust crate package manager [cargo](https://www.rust-lang.org/tools/install) to install Product OS : Store.
```bash
cargo add product-os-store
```
or add Product OS : Store to your cargo.toml ```[packages]``` section.
```rust
product-os-store = { version = "0.0.27", features = [], default-features = true, optional = false }
```
## Features
Product OS Store supports a number of features leveraging existing Rust libraries such as sqlx and redis as follows:
- Higher level interface for handling storage reads and writes
- Support for key-value, queue and relational databases
- Supports Redis, PostgreSQL and Sqlite at this time
- Entire abstraction of data to allow for high level definitions of SQL queries using macros with Product OS : Store Macros
- Scalable support for future document and event stores (yet to implement)
```rust
// Feature samples TODO
```
## Usage
```rust
// Examples TODO
```
## Contributing
Contributions are not currently available but will be available on a public repository soon.
## License
[GNU AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)