Skip to content

Contributing

Contributions are welcome: bug reports with a file that terrio reads differently from GDAL are especially useful.

Development

git clone https://github.com/opengeos/terrio
cd terrio
cargo build
cargo test --workspace

Before opening a pull request:

cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
TERRIO_TEST_DATA=../terrio-data cargo test --workspace
cargo build -p terrio --target wasm32-unknown-unknown
pre-commit run --all-files

Guidelines

  • Compare with GDAL. A driver or operation change should come with a comparison on real files (see Testing Against GDAL) and tests holding GDAL's values.
  • Stay pure Rust. New dependencies must not need a C toolchain, and the library must keep building for WebAssembly.
  • Name things as GDAL does: driver short names, option names in kebab case.

Documentation

The site is built with Zensical:

pip install zensical
zensical serve