Skip to main content

Python interface for Minikube

Project description

KubiPy - macOS Python manager for Minikube

Version License Status macOS

KubiPy helps you to manage Minikube clusters on macOS, all without leaving Python. It provides an interface to Minikube and allows you to setup and manage a cluster. This is immensively helpful to enable local testing of Python applications, before shipping them to a fully-fledged Kubernetes Cluster. This way, you generate a local Kubernetes test environment in a matter of minutes.

The KubiPy interface allows you to not only install Minikube and all components, but also coordinates and sporns all components.

Usage

KubiPy is available on PyPi as kubipy. So you can run your regular pip command.

pip install kubipy

KubiPy provides the minipy() class. Once initiated this class is the core of all your operations. While running these commands you will need your sudo password, so keep it close by.

# initiate the class 
cluster = minipy()

# install minikube
cluster.install()

# start the cluster
cluster.start()

# deploy an API
cluster.deploy(script_file = "api.py",
               requirements_file = "requirements.txt",
               port = "8000",
               deployment_name = "my-deployment")

# open the dashboard
cluster.dashboard()

# stop the cluster
cluster.stop()

# delete minikube
cluster.delete()

Dependencies

Minikube depends on numerous components to run. The provision and configuration of these components is handled by KubiPy. However, you should be aware of what happens.

  1. KubiPy needs a container technology to containerize scripts. To do so, KubiPy installs Docker.
  2. KubiPy installs a driver that is needed to host a Kubernetes cluster on your machine. KubiPy uses VirtualBox to do so.
  3. KubiPy relies on the Kubernetes-CLI kubectl. This is installed using the package manager Homebrew for macOS.
  4. KubiPy of course relies on Minikube. This is installed via Homebrew as well.

Stage of Development

KubiPy is under active development and supports currently only macOS. At the moment KubiPy provides the necessary functionalities to setup, start and shut down Minikube on your local machine. The functions include:

  • install()
  • start()
  • stop()
  • dashboard()
  • status()
  • deploy()
  • get_pods()
  • get_services()
  • get_deployments()
  • delete_object()
  • delete()

Next Steps

Version 1.0

  • Minikube project management
  • Minikube service management
  • Docker image creation
  • Docker image pushing
  • API deployment to minikube

Version 2.0

  • Linux Support: CentOS, Ubuntu, Debian

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kubipy-0.1.9.5.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

kubipy-0.1.9.5-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file kubipy-0.1.9.5.tar.gz.

File metadata

  • Download URL: kubipy-0.1.9.5.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

File hashes

Hashes for kubipy-0.1.9.5.tar.gz
Algorithm Hash digest
SHA256 1088f9d73a3bd6eafad61c0b529ee98d68b23cee295fd6ad78061cf19f289223
MD5 6b51b2c57637bf36a890bf550c01a47d
BLAKE2b-256 ca4a4d46ccd514f5a0b4ae6a53e8b8225855b0f83894966a5c0857450c20f3ea

See more details on using hashes here.

File details

Details for the file kubipy-0.1.9.5-py3-none-any.whl.

File metadata

  • Download URL: kubipy-0.1.9.5-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

File hashes

Hashes for kubipy-0.1.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc7499d5bcb50e590c8c52f73fcc347f80f00ea2668e735bb97d4024c697b3d
MD5 22f57176014c41253260f76e183b1b16
BLAKE2b-256 a7e687617e45fd9f432cbea27fd115e2debe2d4b4aaa5d43d0296f2b8d389d41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page