"""Usage allocation package for CloudZero Billing Generator.

This package provides usage calculation capabilities by transforming cost data
into usage metrics using progressive fallback matching against unified reference data.

Key Features:
- Progressive fallback matching across 5 levels for maximum coverage
- Month-by-month processing for memory efficiency  
- Fail-fast processing with comprehensive validation
- S3 integration following established patterns
- CLI interface: `czbillgen usage run --config usage_config.yaml`

Usage:
    from src.usage import UsageConfig, process_usage_allocation
    
    config = UsageConfig(dataset_name="2025-01-15_14-30-22")
    result = process_usage_allocation(config)
"""

from .config.models import UsageConfig
from .core.processor import process_usage_allocation

__all__ = [
    "UsageConfig",
    "process_usage_allocation",
]