txkube is a Twisted-based client library for interacting with Kubernetes.
from __future__ import print_function
from twisted.internet.task import react
from txkube import v1, network_kubernetes_from_context
@react
def main(reactor):
k8s = network_kubernetes_from_context(reactor, u"minikube")
client = k8s.client()
d = client.list(v1.Namespace)
d.addCallback(print)
return d
To install the latest version of txkube using pip:
$ pip install txkube
For additional development dependencies, install the dev
extra:
$ pip install txkube[dev]
txkube uses pyunit-style tests. After installing the development dependencies, you can run the test suite with trial:
$ pip install txkube[dev] $ trial txkube
txkube also includes integration tests. It is not recommended that you run these against anything but a dedicated testing Kubernetes cluster. Minikube is an easy way to obtain such a thing. Once running:
$ pip install txkube[dev] $ TXKUBE_INTEGRATION_CONTEXT=minikube trial txkube
This will run the full test suite which includes the integration tests. It will interact with (and make destructive changes to) the identified Kubernetes cluster.
txkube is open source software released under the MIT License. See the LICENSE file for more details.