Show HN: CloudCoil – Production-ready Python client for cloud-native ecosystem

github.com

3 points by samj1912 7 hours ago

Show HN: CloudCoil – Production-ready Python client for the cloud-native ecosystem

I built CloudCoil (https://github.com/cloudcoil/cloudcoil) to make cloud-native development in Python feel first-class, starting with a modern async Kubernetes client. Frustrated with existing tools that felt like awkward ports from Go/Java, I focused on creating an API that Python developers would actually enjoy using.

Installation is as simple as: uv add cloudcoil[kubernetes] # Using uv (recommended) pip install cloudcoil[kubernetes] # Using pip

Key features: - Elegant, truly Pythonic API that follows Python idioms - Async-first with native async/await (but sync works too!) - Full type safety with MyPy + Pydantic - Zero-config pytest fixtures for K8s integration testing

Quick taste of the API:

    # It's this simple to work with resources
    service = k8s.core.v1.Service.get("kubernetes")

    # Async iteration feels natural
    async for pod in await k8s.core.v1.Pod.async_list():
        print(f"Found pod: {pod.metadata.name}")

    # Create resources with pure Python syntax
    deployment = k8s.apps.v1.Deployment(
        metadata=dict(name="web"),
        spec=dict(replicas=3)
    ).create()
The ecosystem is growing! We already have first-class integrations for:

- cert-manager (cloudcoil.models.cert_manager) - FluxCD (cloudcoil.models.fluxcd) - Kyverno (cloudcoil.models.kyverno)

Missing your favorite operator? I've made it super easy to add new integrations using our cookiecutter template and codegen tools.

I'd especially love feedback on: 1. The API design - does it feel natural to Python devs? 2. Testing features - what else would make k8s testing easier? 3. Which operators/CRDs you'd most like to see integrated next

Check out https://github.com/cloudcoil/cloudcoil or try it out with PyPI: cloudcoil