{"id":23943,"library":"kubernetes-typed","title":"kubernetes-typed","description":"Collection of mypy plugins and stubs for Kubernetes to enable strong typing of Kubernetes objects. Current version: 18.20.2. Released as needed, follows kubernetes Python client versioning.","status":"active","version":"18.20.2","language":"python","source_language":"en","source_url":"https://github.com/gordonbondon/kubernetes-typed","tags":["kubernetes","types","mypy","stubs","type-hints"],"install":[{"cmd":"pip install kubernetes-typed","lang":"bash","label":"Default install"}],"dependencies":[{"reason":"Required runtime dependency; provides the Kubernetes client library that stubs target.","package":"kubernetes","optional":false},{"reason":"Required for type-checking; kubernetes-typed provides a mypy plugin.","package":"mypy","optional":false}],"imports":[{"note":"kubernetes-typed does not change import paths; wrong import will not find the symbol.","wrong":"from kubernetes import V1Deployment","symbol":"V1Deployment","correct":"from kubernetes.client.models import V1Deployment"}],"quickstart":{"code":"from kubernetes import client\nfrom kubernetes.client.models import V1Deployment\n\ndef create_deployment() -> V1Deployment:\n    return V1Deployment(\n        api_version=\"apps/v1\",\n        kind=\"Deployment\",\n        metadata=client.V1ObjectMeta(name=\"example\"),\n        spec=client.V1DeploymentSpec(\n            replicas=1,\n            selector=client.V1LabelSelector(match_labels={\"app\": \"example\"}),\n            template=client.V1PodTemplateSpec(\n                metadata=client.V1ObjectMeta(labels={\"app\": \"example\"}),\n                spec=client.V1PodSpec(\n                    containers=[client.V1Container(name=\"nginx\", image=\"nginx:1.14.2\")]\n                )\n            )\n        )\n    )","lang":"python","description":"Create a strongly-typed Kubernetes Deployment object using kubernetes-typed stubs."},"warnings":[{"fix":"pip install kubernetes kubernetes-typed","message":"kubernetes-typed provides stubs for the kubernetes Python client; it does NOT replace the full kubernetes library. You must also install kubernetes.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to 18.20.2: pip install kubernetes-typed==18.20.2","message":"Version 18.20.0 introduced many changes; pin to exact minor if you encounter issues. v18.20.1 fixed a too-strict mypy version pin; v18.20.2 fixed circular imports in TypedDict definitions.","severity":"breaking","affected_versions":">=18.20.0, <18.20.2"},{"fix":"Use correct import: from kubernetes.client.models import V1Deployment","message":"Import paths for Kubernetes models must follow the official kubernetes client paths (e.g., kubernetes.client.models.V1Deployment). Using kubernetes-typed does not change these paths.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use: from kubernetes.client.models import V1Deployment","cause":"Incorrect import path: direct 'kubernetes.V1Deployment' instead of 'kubernetes.client.models.V1Deployment'.","error":"AttributeError: module 'kubernetes' has no attribute 'V1Deployment'"},{"fix":"Install kubernetes-typed: pip install kubernetes-typed","cause":"kubernetes-typed is not installed or not configured in mypy; mypy cannot find stubs.","error":"Cannot find implementation or library stub for module 'kubernetes.typing'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}