Skip to main content

cloudcoil-models-keda

Versioned keda models for cloudcoil.

PyPI Downloads License: Apache-2.0 CI

🔧 Installation

Using uv (recommended):

# Install with KEDA support
uv add cloudcoil.models.keda

Using pip:

pip install cloudcoil.models.keda

💡 Examples

Using KEDA Models

from cloudcoil import apimachinery
import cloudcoil.models.keda.v1alpha1 as keda

# Create a ScaledObject
scaled_object = keda.ScaledObject(
    metadata=apimachinery.ObjectMeta(name="rabbitmq-scaler"),
    spec=keda.ScaledObjectSpec(
        scale_target_ref=keda.ScaledObjectSpecScaleTargetRef(
            name="my-deployment",
            kind="Deployment",
            api_version="apps/v1"
        ),
        triggers=[
            keda.ScaledObjectSpecTriggersItem(
                type="rabbitmq",
                metadata={
                    "queue_name": "hello",
                    "host": "amqp://guest:guest@rabbitmq:5672"
                }
            )
        ],
        min_replica_count=1,
        max_replica_count=10
    )
).create()

# List ScaledObjects
for scaler in keda.ScaledObject.list():
    print(f"Found scaler: {scaler.metadata.name}")

# Update a ScaledObject
scaled_object.spec.max_replica_count = 20
scaled_object.save()

# Delete resources
keda.ScaledObject.delete("rabbitmq-scaler")

Using the Fluent Builder API

from cloudcoil.models.keda.v1alpha1 import ScaledObject

# Create a ScaledObject using the fluent builder
scaled_object = (
    ScaledObject.builder()
    .metadata(lambda metadata: metadata
        .name("prometheus-scaler")
        .namespace("default")
    )
    .spec(lambda spec: spec
        .scale_target_ref(lambda target: target
            .name("my-deployment")
            .kind("Deployment")
            .api_version("apps/v1")
        )
        .min_replica_count(1)
        .max_replica_count(10)
        .triggers(lambda triggers: triggers.add(
            lambda trigger: trigger.type("prometheus").metadata({
                "server_address": "http://prometheus.monitoring.svc",
                "metric_name": "http_requests_total",
                "threshold": "100"
            })
        ))
    )
    .build()
)

Using the Context Manager Builder API

from cloudcoil.models.keda.v1alpha1 import ScaledObject

# Create a ScaledObject using context managers
with ScaledObject.new() as cpu_scaler:
    with cpu_scaler.metadata() as metadata:
        metadata.name("cpu-scaler")
        metadata.namespace("default")
    
    with cpu_scaler.spec() as spec:
        with spec.scale_target_ref() as target:
            target.name("my-deployment")
            target.kind("Deployment")
            target.api_version("apps/v1")
        
        spec.min_replica_count(1)
        spec.max_replica_count(10)
        
        with spec.triggers() as trigger_list:
            with trigger_list.add() as trigger:
                trigger.type("cpu")
                trigger.metadata({
                    "type": "Utilization",
                    "value": "50"
                })

final_scaler = cpu_scaler.build()

📚 Documentation

For complete documentation, visit cloudcoil.github.io/cloudcoil

📜 License

Apache License, Version 2.0 - see LICENSE

Metadata

Release files for cloudcoil.models.keda 2.20.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloudcoil.models.keda 2.20.2.0
File Size Uploaded
cloudcoil_models_keda-2.20.2.0.tar.gz 245.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cloudcoil.models.keda 2.20.2.0
File Interpreter ABI Platform
cloudcoil_models_keda-2.20.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 429.8 kB

Release files / cloudcoil_models_keda-2.20.2.0.tar.gz

Download URL cloudcoil_models_keda-2.20.2.0.tar.gz
Size 245.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b842bc3b26bc35402e38a3b86d817b1b780fa05d46bbbf8c8b17547bf605f630
BLAKE2b-256 checksum
How to use checksums
23e324731864696bef207cae9e3752b2cec7d85eadf833d69126d4612bcf3cf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / cloudcoil_models_keda-2.20.2.0-py3-none-any.whl

Download URL cloudcoil_models_keda-2.20.2.0-py3-none-any.whl
Size 184.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28d1c92950ed1be449555f777afaeb68e53235719b446525f6e936cc88c092a9
BLAKE2b-256 checksum
How to use checksums
c2650d7baba083455833bdab9fa737b859f97e44724660a70c8ab84cdad80577
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.20.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page