Geo Engine is a geospatial data processing engine that allows you to perform spatial analyses and visualizations. Its query engine has native time support and can handle large datasets through stream processing. It supports various geospatial data formats and provides a robust API for integrating with other applications, e.g., by providing OGC APIs.
This workspace contains multiple projects that together provide a geospatial processing platform and related clients. The main pieces are:
geoengine– the Rust-based Geo Engine server and core libraries.api-clients– generated OpenAPI-based API clients for various languages.python– the Python library with bindings, packages, and tests.ui– the Angular-based frontend projects, such as GIS and dashboards.www– the project website and documentation (Astro + OpenAPI integration).
Each top-level directory has its own justfile for common commands; use just from the
project directory you want to work on.
Prerequisites
- Ubuntu Linux (recommended for development; CI uses Ubuntu images).
- Rust toolchain (use
rustup) - Python (with
venvandpipx) - Node.js (with
npmandnpx) justcommand runner (used for task aliases across projects).
Install dependencies:
just installBuild everything:
just buildRun server and GIS:
just runRun tests:
just testFor more commands, just call:
justThis repository contains an OpenAPI specification for the Geo Engine API, which is used to generate API clients and documentation.
The OpenAPI spec is generated by the Rust CLI and checked by CI.
- Linting: We apply formatting and linting across the entire repository.
Use
just lintto run all linters, or run individual linters from the projectjustfileif configured. - See CODESTYLE.md for general coding guidelines.
- The instructions directory contains information for development practices and language-specific guidelines. It is valuable for AI and humans.
See the repository contributing guide for PR and CI requirements: CONTRIBUTING.md.
Full documentation is published at https://www.geoengine.io/docs.
For local docs and website development use the www project's justfile.
This repository is licensed under the Apache License, Version 2.0. See LICENSE for the full text.