infDB - Infrastructure and Energy Database¶
The infDB is a modular and flexible data platform built on dockerized services that can be easily activated and configured for specific use cases. This architecture ensures portability across all platforms. By providing standardized interfaces and APIs, infDB fosters an extensible ecosystem that empowers users to integrate custom tools and workflows seamlessly.
- As shown in the diagram above, the architecture is composed of two main components:
-
Services – Dockerized open-source software providing base functionality.
-
Tools – Software interacting with the infDB.
Services¶
infDB services follow microservice architecture principles, enabling independent development and deployment while improving modularity, scalability, and adaptability.
- infdb-db: Core PostgreSQL database with PostGIS, timescaledb, and pgrouting extensions; handles all central storage and queries.
- infdb-import: Automates the ingestion, structuring, and integration of external open data formats into the platform.
- pgAdmin: Web UI for inspecting schemas, running SQL, managing roles; auto-configured credentials.
- FastAPI: REST endpoints with OpenAPI docs and validated access to 3D, geospatial, and time-series data.
- Jupyter: Notebook environment for exploratory queries, ETL prototypes, reproducible analysis.
- QWC2: Web mapping client for 2D/3D visualization, layer styling, spatial inspection, quick dataset validation.
- PostgREST: Auto-generated REST API over PostgreSQL schemas using DB roles for auth; rapid, lightweight data access without extra backend code.
- pygeoapi: OGC API (Features/Coverages/Processes) server exposing PostGIS data via standards-based JSON & HTML endpoints for interoperable geospatial discovery and querying.
- Opencloud: Cloud infrastructure and deployment management for scalable service orchestration and resource provisioning.
Tools¶
The infDB ecosystem includes a variety of tools designed to handle different aspects of data workflows. These so called tools are software that interact with infDB and process data through standardized, open interfaces. This modular approach allows you to tackle problems of any complexity by combining different tools into custom toolchains.
For a comprehensive list of integrated tools and additional information, see Tools.
Python Package¶
Moreover, there is a python package infdb that can be used to interact with the infDB database and services. It provides functionalities for database connections, logging, configuration management, and utility functions. You can find more information about the package in the API -> pypackage.

