website/content/en/docs/reference
Sambhav Kothari b0cce97d89
Add cloudcoil to client libraries
[CloudCoil](https://github.com/cloudcoil/cloudcoil) - Production-ready Python client for Kubernetes with async support
I've been working on improving the Python development experience for Kubernetes, and I'm excited to share CloudCoil - a modern K8s client that brings features like async/await, type safety, and integrated testing to the Python ecosystem.
Why another Kubernetes client?
In the Python ecosystem, we've been missing features that Go developers take for granted - things like robust client implementations, proper type safety, and integrated testing tools. CloudCoil aims to fix this by providing:
1) Production-focused features:
* 🔥 Elegant, Pythonic API - Feels natural to Python developers
*  Async First - Native async/await support for high performance
* 🛡️ Type Safe - Full mypy support and runtime validation
* 🧪 Testing Ready - Built-in pytest fixtures for K8s integration tests
* 📦 Zero Config - Works with your existing kubeconfig
* 🪶 Minimal Dependencies - Only requires httpx, pydantic, and pyyaml
2) First-class operator support:
- [cert-manager](https://github.com/cloudcoil/models-cert-manager)
- [FluxCD](https://github.com/cloudcoil/models-fluxcd)
- [Kyverno](https://github.com/cloudcoil/models-kyverno)
(More coming soon - let me know what you'd like to see!)
3) Rich features for production use:
Resource watching with async support:
    async for event_type, pod in await core.v1.Pod.async_watch(
        field_selector="metadata.name=mypod"
    ):
        if event_type == "DELETED":
            break
Smart wait conditions:
    pod = core.v1.Pod.get("test-pod")
    status = await pod.async_wait_for({
        "succeeded": lambda _, pod: pod.status.phase == "Succeeded",
        "failed": lambda _, pod: pod.status.phase == "Failed"
    }, timeout=300)
Dynamic CRD support:
    DynamicCRD = resources.get_dynamic_resource(
        "MyCustomResource",
        "example.com/v1"
    )
    resource = DynamicCRD(
        metadata={"name": "example"},
        spec={"someField": "value"}
    ).create()
4) Installation:
Choose your K8s version:
    # Latest version
    pip install cloudcoil[kubernetes]
    # Specific K8s version
    pip install cloudcoil[kubernetes-1-32]
The project is Apache 2.0 licensed and ready for production use. We'd especially love feedback from:
- Teams using Python for K8s automation
- Anyone building operators/controllers in Python
- DevOps engineers managing multiple clusters
Links:
* GitHub: https://github.com/cloudcoil/cloudcoil
* Docs: https://cloudcoil.github.io/cloudcoil
* PyPI: https://pypi.org/project/cloudcoil
Looking forward to your feedback, especially on what operators you'd like to see supported next!
2025-01-22 14:12:06 +00:00
..
access-authn-authz Clean up service-accounts-admin.md 2025-01-21 09:08:14 +08:00
command-line-tools-reference Merge pull request #49355 from tengqm/fg-rdsv-132 2025-01-10 05:14:31 -08:00
config-api Fix config API for kcm config v1alpha1 2024-12-14 13:54:53 +08:00
debug-cluster address comments 2023-09-14 18:34:24 +00:00
external-api Add config APIs metrics API 2023-09-19 09:20:31 +08:00
glossary Merge pull request #49171 from yuto-kimura-g/fix/49116 2025-01-13 02:34:32 -08:00
instrumentation Merge pull request #48964 from T-Lakshmi/slis 2025-01-09 07:14:33 -08:00
issues-security Tweak issues-security/security and kubectl index 2023-10-19 16:50:33 +08:00
kubectl Update kubectl reference for v1.32 2024-12-12 14:44:04 +08:00
kubernetes-api DRA: include v1beta1 API references 2024-11-26 22:33:34 +01:00
labels-annotations-taints Clarify the namespaced-job label on nodes 2024-12-23 18:09:47 +00:00
networking Supplement the description of IPVS 2024-10-09 14:57:59 +08:00
node fix node-monitor-grace-period 2024-12-02 10:04:57 +08:00
scheduling Update content/en/docs/reference/scheduling/config.md 2024-05-17 06:04:28 +05:30
setup-tools kubeadm-reset: add notes about more manual cleanup steps 2025-01-17 18:27:11 +02:00
tools removing mapcrictl-dockercli-page from release-1.31 2024-11-21 11:55:07 +05:30
using-api Add cloudcoil to client libraries 2025-01-22 14:12:06 +00:00
_index.md Config API reference for v1.30 2024-04-18 19:57:27 +08:00