dataflow.platform.models.base¶

Base Platform Models - Foundation Layer

This module provides the foundation platform model for all Haive systems with intelligent inheritance patterns. All platform models inherit from BasePlatform to ensure consistent behavior and capabilities.

Key Features: - Pure Pydantic models (no __init__ methods) - Platform-based inheritance architecture - Intelligent design patterns with composition - Comprehensive validation and field management

Classes¶

BasePlatform

Foundation platform model for all Haive systems.

PlatformStatus

Platform operational status.

Module Contents¶

class dataflow.platform.models.base.BasePlatform(/, **data)¶

Bases: pydantic.BaseModel

Foundation platform model for all Haive systems.

This is the base class that all platform models inherit from, providing: - Core platform identification and metadata - Standard configuration and state management - Lifecycle tracking (created_at, updated_at, status) - Capability flags for different platform features - Comprehensive validation for platform fields

Design Philosophy: - Pure Pydantic model (no __init__ method) - All configuration via Field definitions - Validation through field validators - Extensible through inheritance

Examples

Basic platform creation:

platform = BasePlatform(
    platform_id="my-platform",
    platform_name="My Platform",
    description="A sample platform"
)

With capabilities:

platform = BasePlatform(
    platform_id="advanced-platform",
    platform_name="Advanced Platform",
    description="Platform with enhanced capabilities",
    supports_discovery=True,
    supports_health_monitoring=True,
    supports_authentication=True
)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

add_metadata(key, value)¶

Add metadata entry to platform.

Parameters:
  • key (str) – Metadata key

  • value (Any) – Metadata value

Return type:

None

get_capability_summary()¶

Get summary of all platform capabilities.

Returns:

Dictionary mapping capability names to their status

Return type:

Dict[str, bool]

update_status(new_status, update_timestamp=True)¶

Update platform status and optionally timestamp.

Parameters:
  • new_status (PlatformStatus) – New platform status

  • update_timestamp (bool) – Whether to update the updated_at timestamp

Return type:

None

classmethod validate_platform_id(v)¶

Validate platform ID format.

Platform IDs must be: - Lowercase only - Alphanumeric characters - Hyphens (-) and underscores (_) allowed - No spaces or special characters

Parameters:

v (str) – Platform ID to validate

Returns:

Validated platform ID

Raises:

ValueError – If platform ID format is invalid

Return type:

str

classmethod validate_version(v)¶

Validate semantic version format.

Versions must follow semantic versioning (semver) format: - MAJOR.MINOR.PATCH - Optional pre-release: 1.0.0-beta.1 - Optional build metadata: 1.0.0+20210101

Parameters:

v (str) – Version string to validate

Returns:

Validated version string

Raises:

ValueError – If version format is invalid

Return type:

str

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dataflow.platform.models.base.PlatformStatus¶

Bases: str, enum.Enum

Platform operational status.

Initialize self. See help(type(self)) for accurate signature.