# bmi-rust
[](https://crates.io/crates/bmi-rust)
[](https://docs.rs/bmi-rust)
[](https://github.com/eWaterCycle/bmi-rust/actions/workflows/publish.yml)
[](./aidecl.yaml)
[](https://doi.org/10.5281/zenodo.24137036)
The Rust specification for the CSDMS
[Basic Model Interface](https://bmi.csdms.io/en/stable/).
## Installation
Add [`bmi-rust`](https://crates.io/crates/bmi-rust) to your dependencies:
```toml
[dependencies]
bmi-rust = "0.1"
```
See the [API documentation](https://docs.rs/bmi-rust) for the complete interface.
See [bmi-example-rust](https://github.com/eWaterCycle/bmi-example-rust) for an example implementation of a BMI model in Rust.
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md) for development and release instructions.
## References
- [BMI specification](https://bmi.csdms.io/en/stable/bmi.spec.html)
- [bmi-driver 0.2.0 trait](https://crates.io/crates/bmi-driver/0.2.0/code/src/types/traits.rs)
- [bmi-rs 0.0.1-alpha.0 interface](https://crates.io/crates/bmi-rs/0.0.1-alpha.0/code/src/bmi.rs)
## License
Apache-2.0. See the `LICENSE` file.