Skip to content

ccproxy.plugins.pricing.plugin

ccproxy.plugins.pricing.plugin

Pricing plugin implementation.

PricingRuntime

PricingRuntime(manifest)

Bases: SystemPluginRuntime

Runtime for pricing plugin.

Source code in ccproxy/plugins/pricing/plugin.py
def __init__(self, manifest: PluginManifest):
    """Initialize runtime."""
    super().__init__(manifest)
    self.config: PricingConfig | None = None
    self.service: PricingService | None = None
    self.update_task: PricingCacheUpdateTask | None = None

get_pricing_service

get_pricing_service()

Get the pricing service instance.

Source code in ccproxy/plugins/pricing/plugin.py
def get_pricing_service(self) -> PricingService | None:
    """Get the pricing service instance."""
    return self.service

PricingFactory

PricingFactory()

Bases: SystemPluginFactory

Factory for pricing plugin.

Source code in ccproxy/plugins/pricing/plugin.py
def __init__(self) -> None:
    """Initialize factory with manifest."""
    # Create manifest with static declarations
    manifest = PluginManifest(
        name="pricing",
        version="0.1.0",
        description="Dynamic pricing plugin for AI model cost calculation",
        is_provider=False,
        config_class=PricingConfig,
        provides=["pricing"],  # This plugin provides the pricing service
    )

    # Initialize with manifest
    super().__init__(manifest)

create_runtime

create_runtime()

Create runtime instance.

Source code in ccproxy/plugins/pricing/plugin.py
def create_runtime(self) -> PricingRuntime:
    """Create runtime instance."""
    return PricingRuntime(self.manifest)