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.2.0.tar.gz (28.5 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.2.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: krl_types-0.2.0.tar.gz
  • Upload date:
  • Size: 28.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 962d5ba41abf45867b7046745e267777e437ea73ce73b0a0a747d33ffd3047fd
MD5 d7c9e62a598a85248efc9bc9a3466897
BLAKE2b-256 f5238d4e011a39fdd2a934950a30b55ee46a2a6084760e24c2d0e3a918fbd146

See more details on using hashes here.

File details

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

File metadata

  • Download URL: krl_types-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 30.4 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b13d9b85fd5aac3048f937dae014ab18578b0f28f016c4e7e185a987b0059538
MD5 c1f2413564482897b2cafacde59eba61
BLAKE2b-256 7348bb80b9bc420893519896ad44fc9f0453b32d87ed67422889b264bedbb0de

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