Skip to main content

Kubernetes job scheduler for Python

Project description

Project generated with PyScaffold Coveralls PyPI-Server

k8s-job-scheduler

A package for managing Kubernetes jobs and cron jobs from Python. It allows running CLI scripts and Python functions within native Kubernetes job engine. No need to package separate Docker images with functions to be executed - the package can remotely "inject" the Python function using dill into publicly available Docker images.

Installation

pip install k8s-job-scheduler

Getting Started

from k8s_job_scheduler import JobManager

def add(a, b):
    return a + b

manager = JobManager(docker_image="python:3.11.1-slim-bullseye")
job = manager.create_job(add, 1, 2)

This example will create a Kubernetes job and run the function add with arguments 1 and 2 inside Python Docker container.

Other Prerequisites

Executing Python functions withing Kubernetes containers

  • Docker images should include Python interpreter and all the dependencies required to execute the function.
  • dill package is used to send the execution function and it's arguments when Docker container is created. If you wish to use standard Python Docker images or custom images which does not have dill package preinstalled, it is possible to specify dynamic_dill_install=True when calling create_instant_python_job. In this case dill will be dynamically installed before running the code.

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

k8s_job_scheduler-0.2.0.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

k8s_job_scheduler-0.2.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file k8s_job_scheduler-0.2.0.tar.gz.

File metadata

  • Download URL: k8s_job_scheduler-0.2.0.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for k8s_job_scheduler-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f0af1677d3ae0c966e7617a7205e0b1c9c2664f72cc72c44cb45cd720ac5aca7
MD5 dc884fca2212a123a82d2bf20a55be00
BLAKE2b-256 bee749bbe34fdb499f2ca52e375e70133590154646140f732448d8a913bab54a

See more details on using hashes here.

File details

Details for the file k8s_job_scheduler-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for k8s_job_scheduler-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71bc69cc4998bf0925e23569fb524a16be35850f632327bb344e1b49ea6f1d2d
MD5 9a13bd273a2191188910874115ee1656
BLAKE2b-256 6ae4951db86d0b7446c73f66d6bcd1b8fe91d2dc3314365fcf92bad53925a106

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