Install & Compatibility
Where this runs
tested against v1.36.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.412s · 123.6MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 5.3s · import 0.396s · 124MB
122MB installed
● package 122MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
validate
✓ from kubernetes_validate import validate
✗ from kubernetes_validate import validator
No direct 'validator' symbol exists; use 'validate' function.
validation_failures
✓ from kubernetes_validate.utils import validation_failures
✗ from kubernetes_validate import validation_failures
validation_failures is in the utils module, not top-level.
Validates a Kubernetes YAML resource against the schema for a specific API version and Kubernetes version.
from kubernetes_validate import validate
import yaml
with open('deployment.yaml') as f:
resource = yaml.safe_load(f)
failures = validate(resource, 'apps/v1', 'Deployment', '1.35')
if failures:
for f in failures:
print(f)
else:
print('Resource is valid')
kubernetes-validate --version
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'kubernetes_validate'
Package name has an underscore, but pip installation uses 'kubernetes-validate' (hyphen).
fixRun: pip install kubernetes-validate
KeyError: 'apiVersion'
The input resource dict does not contain 'apiVersion', 'kind', or 'metadata'. The validate function requires these keys.
fixEnsure the resource dictionary has the standard Kubernetes fields, e.g., from yaml.safe_load of a valid manifest.
kubernetes_validate.utils.validation_failures object has no attribute '__iter__'
validation_failures is a class, not a function. The correct usage is to instantiate it or use the validate function directly.
fixUse 'from kubernetes_validate import validate' and call 'validate(...)' which returns a list of failures.
Upgrade
Version history
1.36.0latest on PyPI · released May 18, 2026
Audit
Dependencies
PyYAMLrequiredRequired for parsing YAML files.
jsonschemarequiredUsed for JSON Schema validation.
referencingrequiredRequired for schema referencing in newer versions (v1.29+).