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.1.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

k8s_job_scheduler-0.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: k8s_job_scheduler-0.1.0.tar.gz
  • Upload date:
  • Size: 27.3 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.1.0.tar.gz
Algorithm Hash digest
SHA256 94cb984b2e14f75349f3083bbf1fd5b78e7e8bba543958c7d13fd7ffb2cd91d1
MD5 837ea4a543c658fc68bc9b04a416b72f
BLAKE2b-256 b00b9d7b8ff27174dc099d5af03956d0913028cb25c8eff6f7e981eae2653581

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for k8s_job_scheduler-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cb9eceb303a2bbdcdf558bb3af48425d4fe043ad7b69339ca578ddfeba967e2
MD5 a61b5c48c56e166701469bd6740d9cf2
BLAKE2b-256 9b55127e57051eec1ac171d13f20ae74c756ba52f7f57fa5795cf7fcf9d18c44

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