Geo Engine
April 29, 2026 · View on GitHub
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.
Overview
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.
Quick start
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).
Example recipes
Install dependencies:
just install
Build everything:
just build
Run server and GIS:
just run
Run tests:
just test
For more commands, just call:
just
OpenAPI
This 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.
Development notes
- Linting: We apply formatting and linting across the entire repository.
Use
just lintto run all linters, or run individual linters from the projectjustfileif configured. - The instructions directory contains information for development practices and language-specific guidelines.
It is valuable for AI and humans.
- For general repository practices, see developing.instructions.md.
- For Rust backend development, see backend.instructions.md.
- For Python development, see python.instructions.md.
- For UI development, see ui.instructions.md.
- For www and documentation contributions, see astro.instructions.md.
Contributing
See the repository contributing guide for PR and CI requirements: CONTRIBUTING.md.
Project docs
Full documentation is published at https://www.geoengine.io/docs.
For local docs and website development use the www project's justfile.
License
This repository is licensed under the Apache License, Version 2.0. See LICENSE for the full text.