Skip to content

SDK & Libraries

Verity ships three internal Python packages under libs/ that provide shared functionality across all services. These libraries enforce consistent domain modelling, configuration, and connector development patterns throughout the platform.

Libraries

Package Path Purpose
verity-common libs/verity-common/ Shared domain models, configuration, database, Kafka, logging, and metrics utilities
verity-sdk libs/verity-sdk/ Connector SDK — abstract base class and dataclasses for building platform connectors
verity-testing libs/verity-testing/ Test fixtures, factories, and helpers for unit and integration tests

Dependency Graph

graph TD
    SDK["verity-sdk<br/><i>Connector SDK</i>"]
    COMMON["verity-common<br/><i>Shared Utilities</i>"]
    TESTING["verity-testing<br/><i>Test Helpers</i>"]

    SDK --> COMMON
    TESTING --> COMMON

    CONNECTORS["Connector Services"] --> SDK
    SERVICES["All Other Services"] --> COMMON
    TESTS["Test Suite"] --> TESTING

    style SDK fill:#7c3aed,color:#fff
    style COMMON fill:#7c3aed,color:#fff
    style TESTING fill:#7c3aed,color:#fff

Installation

All three libraries are installed as editable packages from the monorepo root:

pip install -e ".[dev]"

This installs all three libs along with their dependencies, as defined in the root pyproject.toml.

  • Connector SDK — Build custom connectors to ingest audit events and permission snapshots
  • Domain Models — Pydantic models and enums shared across all services
  • Common Library — Configuration, database, Kafka, logging, and metrics utilities