Types API π
Type definitions used in flowyml.
Resource Requirements
Resource requirements for a pipeline step.
Orchestrator-agnostic resource specification that can be translated to platform-specific formats (Kubernetes, Vertex AI, SageMaker, etc.).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cpu
|
str | None
|
CPU cores (e.g., "2", "500m", "2.5") |
None
|
memory
|
str | None
|
RAM amount (e.g., "4Gi", "8192Mi", "16G") |
None
|
storage
|
str | None
|
Ephemeral storage (e.g., "100Gi", "50G") |
None
|
gpu
|
GPUConfig | None
|
GPU configuration |
None
|
node_affinity
|
NodeAffinity | None
|
Node selection rules |
None
|
Examples:
Functions
__getitem__(key: str) -> Any
Provide dict-style access for backwards compatibility.
Source code in flowyml/core/resources.py
__post_init__()
Validate resource specifications.
Source code in flowyml/core/resources.py
get_gpu_count() -> int
has_gpu() -> bool
merge_with(other: ResourceRequirements) -> ResourceRequirements
Merge with another ResourceRequirements, taking maximum of each.
This is used when grouping steps to aggregate their resource needs. Strategy: - CPU: Take maximum - Memory: Take maximum - Storage: Take maximum - GPU: Merge configs (max count, best type) - Node affinity: Merge constraints
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
ResourceRequirements
|
Another ResourceRequirements to merge with |
required |
Returns:
| Type | Description |
|---|---|
ResourceRequirements
|
New ResourceRequirements with merged specifications |
Source code in flowyml/core/resources.py
to_dict() -> dict[str, Any]
Convert to dictionary representation.
Source code in flowyml/core/resources.py
Scheduler Config
Bases: BaseModel
Scheduler configuration.
Functions
from_env() -> SchedulerConfig
classmethod
Load from environment variables.