Skip to content

Build

Pages for readers who want to write services, configure the runtime, and integrate Underwrite into their own infrastructure.

Development guide

Dev loop, test runner, lint / typecheck / security gates, and the conventions every service follows.

Development →

Services

The 34 wired nano-services and the events they emit and consume. How to wire a custom service into the bus.

Services →

Configuration

The full Configuration surface — 28 sections, ~120 keys. JSON file, env vars, and the merge order.

Configuration →

Sagas

Multi-step workflows, compensating actions, and the orchestrator's persistence semantics.

Sagas →

KYC integrations

PAN, Aadhaar eKYC, CIBIL, and CKYC wire-protocol clients. Sandbox URLs and partner credential handling.

KYC →

Environment variables

Every UNDERWRITE_* variable, its default, and the configuration section it overrides.

Env vars →

Dependencies

The extras taxonomy, optional installs, and upgrade considerations.

Dependencies →

Code style

Google-style docstrings, type hints, line length, visibility, and the linters that enforce them.

Code style →

Testing

The pytest layout, coverage gate, and the conventions for service-level and integration tests.

Testing →

Build

Packaging with setuptools_scm + build, reproducible wheels, and the multi-stage production Dockerfile.

Build →