Warning
This repository is work in progress, its content could change at any time.
Cloudgeometer is a tool to facilitate running data access geospatial benchmarks on cloud-native infrastructure.
Clone and access the GitHub repository:
git clone git@github.com:CLOUD-NES/cloudgeometer.git
cd cloudgeometerWe recommend to install cloudgeometer in a virtual environment, using either pixi and uv (but other virtual environment managers like Python venv and conda can be used as well).
pixi install
# run tests
pixi run test
# run lint checks
pixi run lint
# run type checker
pixi run tyuv sync --extra dev
# run tests
uv run pytest
# run lint checks
uv run ruff check && uv run ruff format --check
# run type checker
uv run ty checkcloudgeometer can be used as a CLI tool or from its Python interface. In order to access remote datasets that require authentication, environment variables can be used.
Run cloudgeometer as:
cloudgeometer --helpThe two subcommands are:
-
configure: define benchmark configuration for a given dataset. From the dataset URL/path, cloudgeometer extract parameters to run benchmark on one or several scenarions (read all data, read one tile, or read one chunk). (not implemented yet) -
run: run a benchmark for a given dataset and configuration. It can load the configuration generated by running theconfigurecommand, or it can be configured on-the-fly via CLI arguments.
TODO
# Benchmark data access from a local file, using rasterio as data accessor
cloudgeometer run --href /path/to/locat/file.tif --accessor rasterio
# Same, but on a remote S3-compatible object store
cloudgeometer run --href s3://mybucket/prefix/file.tif --accessor rasterio
# Also monitor and report network traffic information
cloudgeometer run --href s3://mybucket/prefix/file.tif --accessor rasterio --network-statsTODO