Skip to main content

KolaPoint Schema Registry — Shared Python enums and Pydantic v2 event models (Envelope V2)

Project description

KolaPoint-schema-sdk

KolaPoint Schema Registry — Shared Python enums and Pydantic v2 event models for all KolaPoint domain events across 20 modules (134 events).

Installation

pip install KolaPoint-schema-sdk==1.0.0

Always pin to an exact version. Do not use >= or ~= — this is a contract package.

Requirements

  • Python ≥ 3.10
  • pydantic ≥ 2.0.0

Usage

from KolaPoint_schema.generated.models import OrderCreatedEvent, BuyerBehaviorRecordedEvent
from KolaPoint_schema.shared_enums import OrderStatus, VendorStatus

# Validate an inbound event
raw = {
    "eventType": "order.created.v1",
    "correlationId": "req-abc-123",
    "timestamp": "2026-05-25T10:00:00Z",
    "payload": {
        "orderId": "order-xyz",
        "userId": "user-abc",
        "storeIds": ["store-1"],
        "totalKobo": 25000,
        "itemCount": 2,
        "isQrOrder": False,
        "checkoutSessionId": "chk-def",
    }
}
event = OrderCreatedEvent(**raw)
print(event.payload.order_id)   # "order-xyz"
print(event.payload.total_kobo) # 25000

# Use enums
status = OrderStatus.PENDING
assert status == "PENDING"  # str enum

Top-level import (convenience)

# Import everything from the top-level package
from KolaPoint_schema import OrderCreatedEvent, OrderStatus

Available Exports

KolaPoint_schema.shared_enums

All Prisma enums as Python str, Enum subclasses (JSON-safe serialization):

  • OrderStatus — PENDING, CONFIRMED, PREPARING, READY_FOR_PICKUP, OUT_FOR_DELIVERY, COMPLETED, CANCELLED, FAILED, REFUNDED
  • VendorStatus — PENDING, ACTIVE, SUSPENDED, REJECTED
  • UserRole — BUYER, VENDOR, ADMIN, SUPER_ADMIN, SUPPORT
  • ProductStatus — DRAFT, ACTIVE, ARCHIVED
  • DeliveryStatus — PENDING, ASSIGNED, PICKED_UP, IN_TRANSIT, DELIVERED, FAILED, RETURNED
  • NotificationChannel — PUSH, IN_APP, EMAIL, SMS
  • 20+ additional enums — see KolaPoint_schema/shared_enums/__init__.py

KolaPoint_schema.generated.models

Pydantic v2 models with Field(alias="camelCase") + populate_by_name: True:

Class Event type
OrderCreatedEvent order.created.v1
OrderCompletedEvent order.completed.v1
OrderCancelledEvent order.cancelled.v1
BuyerBehaviorRecordedEvent buyer.behavior.recorded.v1
BuyerAffinityUpdatedEvent buyer.affinity.updated.v1
BuyerStreakUpdatedEvent buyer.streak.updated.v1
InventoryStockUpdatedEvent inventory.stock.updated.v1
InventoryOutOfStockEvent inventory.product.out_of_stock.v1
IntelligenceIntentSignalEvent intelligence.intent.signal.generated.v1
IntelligenceAffinityUpdatedEvent intelligence.affinity.updated.v1
AuthLoginSucceededEvent auth.login.succeeded.v1
LogisticsDispatchCreatedEvent logistics.dispatch.created.v1
LogisticsDeliveryCompletedEvent logistics.delivery.completed.v1
CommunityViralSignalEvent community.viral_signal.generated.v1

Union Types

from KolaPoint_schema.generated.models import AnyOrderEvent, AnyInventoryEvent, AnyIntelligenceEvent

Field Naming Convention

All models use camelCase JSON aliases with snake_case Python attributes:

event = OrderCreatedEvent(**json_data)
event.payload.order_id         # snake_case Python access
event.payload.model_dump(by_alias=True)["orderId"]  # camelCase JSON output

Version Policy

This package follows the KolaPoint Schema Registry semver rules:

  • MAJOR — breaking change (field removed, type changed, event removed)
  • MINOR — additive change (new event, new optional field)
  • PATCH — editorial (description updates, constraint relaxation)

Source

Generated from: contracts/events/ in KolaPoint-schema-registry

Do not edit generated files directly — raise a PR in the schema registry instead.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kolapoint_schema_sdk-2.7.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kolapoint_schema_sdk-2.7.0-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file kolapoint_schema_sdk-2.7.0.tar.gz.

File metadata

  • Download URL: kolapoint_schema_sdk-2.7.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for kolapoint_schema_sdk-2.7.0.tar.gz
Algorithm Hash digest
SHA256 5f0b5dea0683d740d5932c8d6d62c214a4e4e58817845397725ed6b6b7fe175c
MD5 4f8a3e4df1f91f3cb78a049e4bfb62fd
BLAKE2b-256 2f615ebe3448e3894cfd1d0076e12fa7f97b32004af203fa3d0a99ec73d90fad

See more details on using hashes here.

File details

Details for the file kolapoint_schema_sdk-2.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kolapoint_schema_sdk-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fcdac46351448c7ab52c6600414e1c7efd66331cc84c216bee4441fe6033f0c
MD5 ef1e41bae566f97562c997c7fdaee450
BLAKE2b-256 c26f1cb3055f9186cf9c9fa6c5646966a8ade3a5e826d1e71f26e1f506005112

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page