Skip to content

Libraries

Sabu includes shared Python libraries that provide reusable functionality for services.

Shared libraries are different from services. They are imported by services and used internally. They are not deployed as standalone runtime units.

Library list

Library Purpose
sabu-chassis Shared service infrastructure, currently focused on logging and runtime conventions
citygisoo Reusable geospatial data-cleaning functionality

sabu-chassis

sabu-chassis provides common infrastructure for Sabu services.

Its current role includes support for:

  • logging,
  • request correlation,
  • service-level runtime conventions,
  • configuration-related patterns.

The goal of sabu-chassis is to reduce repeated implementation effort across services and help future services follow a consistent structure.

citygisoo

citygisoo provides reusable GIS data-cleaning functionality.

It supports geospatial workflows that can be used by Sabu services, especially workflows related to city-scale building data preparation.

Why shared libraries are separated

Sabu separates reusable internal functionality from deployable services.

This separation helps keep services focused. It also allows shared capabilities to evolve as packages that can be reused across multiple services.

In practice:

  • services expose user-facing functionality,
  • libraries provide reusable implementation support,
  • services import libraries when needed.