Skip to main content

Shared type definitions for the KRL Analytics Platform

Project description

KRL Types

Version: 0.1.0
License: MIT
Python: ≥3.9
Status: ⚠️ CRITICAL DEPENDENCY RISK


⚠️ CRITICAL: NOT PUBLISHED TO PyPI

This package is NOT published to PyPI but is declared as a dependency by other packages.

If krl-data-connectors or krl-premium-backend declare krl-types as a dependency in their pyproject.toml, then:

pip install krl-data-connectors  # WILL FAIL

Impact

Package Declares krl-types? Installation Impact
krl-data-connectors ⚠️ Yes Installation will fail
krl-premium-backend ⚠️ Possibly Installation may fail

Resolution Required

  1. Option A: Publish krl-types to PyPI immediately
  2. Option B: Remove krl-types dependency from other packages and inline the types
  3. Option C: Use a private PyPI index

SECTION A — Executive & Strategic Overview

What This Repository Does

KRL Types provides shared type definitions used across the KRL suite:

  1. Billing EnumsLicenseTier, BillingCycle, UsageType
  2. Connector EnumsConnectorTier, DataSourceType
  3. Model EnumsModelCategory, ModelTier
  4. Pydantic Models — Shared request/response schemas

Why This Matters

Type consistency across packages:

  • Ensures frontend and backend use same tier names
  • Prevents "Community" vs "COMMUNITY" vs "community" bugs
  • Enables IDE autocomplete across all packages

Current State: BROKEN DEPENDENCY

Criterion Status
Types defined ✅ Yes
Package structure ✅ Yes
Published to PyPI NO
Git repository NO (no .git folder)
Version pinned 0.1.0

SECTION B — Contents

Billing Types

from krl_types.billing import LicenseTier, BillingCycle

class LicenseTier(str, Enum):
    COMMUNITY = "community"
    PROFESSIONAL = "professional"
    ENTERPRISE = "enterprise"

class BillingCycle(str, Enum):
    MONTHLY = "monthly"
    ANNUAL = "annual"

Connector Types

from krl_types.connectors import ConnectorTier

class ConnectorTier(str, Enum):
    COMMUNITY = "community"
    PROFESSIONAL = "professional"
    ENTERPRISE = "enterprise"

SECTION C — Engineering Notes

Package Structure

krl-types/
├── src/
│   └── krl_types/
│       ├── __init__.py
│       ├── billing.py      # Billing enums
│       ├── connectors.py   # Connector enums
│       └── models.py       # Model enums
│
├── tests/                  # Minimal tests
├── pyproject.toml          # Package definition
└── README.md               # This file

Local Installation

Since this is not on PyPI, install locally:

# From the krl-types directory
pip install -e .

# Or from another package directory
pip install -e ../krl-types

pyproject.toml Fix

Until krl-types is on PyPI, other packages should use:

[project]
dependencies = [
    # krl-types @ git+https://github.com/KR-Labs/krl-types.git  # When git repo exists
    # OR remove dependency and inline types
]

SECTION D — Action Required

Immediate Priority: HIGH

  1. Create git repository for krl-types
  2. Publish to PyPI (or private index)
  3. Update dependent packages to use published version

Owner

Risk If Not Addressed

  • pip install krl-data-connectors fails
  • pip install krl-premium-backend may fail
  • Customer onboarding blocked
  • CI/CD pipelines fail

Last updated: December 14, 2025 — Forensic audit identified CRITICAL deployment blocker

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

krl_types-0.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

krl_types-0.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file krl_types-0.1.0.tar.gz.

File metadata

  • Download URL: krl_types-0.1.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for krl_types-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89eb7617427acf229cb5267d62a0353a9e13dd0b1bf8bed5e4adde42ed5ea1ca
MD5 c80c3b4a7e494f65efb275273813c47e
BLAKE2b-256 8c6ea78822042e36c954f365374cb6d2aaea3b13c91caf2907008efaa64e899b

See more details on using hashes here.

File details

Details for the file krl_types-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: krl_types-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for krl_types-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb92c1a2e5a533e23652b3775951cee880e12f3f62136c9c3fa9e6cd4dfae251
MD5 6b54a2f9c9b1a68ccc59be435e6be73b
BLAKE2b-256 2f30495c510d7ba982094ffb3725ed667e7c627f66a68dee0d071b1df6cd2464

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