Open Water is a set of tools to process data dives.
It is my toy repo to learn Rust.
Currently, Open Water only is a CLI that processes the dive logs to converts them to JSON and Plots the data.
- CLI only supports JSON and a basic plot (average depth by location)
- Since I do not have access to every single computer dive, I do not know how the logs are per vendor. So I'm mocking the data in a CSV file which is the entry-data point.
| Feature | Status | Objective |
|---|---|---|
| CLI | Implemented | Learn how to write CLI applications |
| API and database | Pending | Save data into DB and learn how to write API's |
| Desktop GUI | Pending | Learn how to work with graphics and CPU optimization |
| Integrate libdivecomputer library | Pending | Learn how to use C libraries into Rust |
make run-lib
cargo run --bin cli -- -o json -i /path_to_dive_log.uddf
It prints the JSON in the stdout.
cargo run --bin cli -- -o plot -i /path_to_dive_log.uddf
It draws a bar chat in your browser. e.g:
cargo test
MIT
This is an open space to learn together Rust and expand our knowledge in the diving world. If you are a diver (our you are interested in the wonderful world) and want to learn or already know Rust. Please feel free to submit a PR or open an issue.

