# Product OS : Async Executor
Product OS : Async Executor provides a set of tools to handle async execution generically so that the desired async library (e.g. tokio, smol) to be used can be chosen at compile time.
### 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 : Async Executor.
```bash
cargo add product-os-async-executor
```
or add Product OS : Async Executor to your cargo.toml ```[packages]``` section.
```rust
product-os-async-executor = { version = "0.0.16", features = [], default-features = true, optional = false }
```
## Features
Product OS Async Executor supports a number of features leveraging existing Rust libraries to help manage an executor generically including:
- Traits for handling implementations of additional async libraries
- Out of the box support for tokio and smol with partial support for async_std
- Support for one time and interval timers
- Provides some traits for AsyncRead and AsyncWrite to be used across async runtimes
- Supports no_std with alloc only environments
```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/)