Skip to content

infDB - Infrastructure and Energy Database

infDB logo

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.

infDB Overview

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.

alt text

  • 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.