txkube

A Twisted-based Kubernetes client.


Keywords
containers, kubernetes, python
License
MIT
Install
pip install txkube==0.3.0

Documentation

txkube

PyPI Package CI status Coverage

What is this?

txkube is a Twisted-based client library for interacting with Kubernetes.

Usage Sample

from __future__ import print_function
from twisted.internet.task import react

from txkube import network_kubernetes_from_context

@react
def main(reactor):
    k8s = network_kubernetes_from_context(reactor)
    d = k8s.versioned_client()
    d.addCallback(
        lambda client: client.list(client.model.v1.Namespace)
    )
    d.addCallback(print)
    return d

Installing

To install the latest version of txkube using pip:

$ pip install txkube

For additional development dependencies, install the dev extra:

$ pip install txkube[dev]

Testing

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.

License

txkube is open source software released under the MIT License. See the LICENSE file for more details.