A CLI tool for launching Kubernetes job fast in EIDF
Project description
kblaunch
A CLI tool for launching Kubernetes jobs with environment variable and secret management.
Installation
pip install kblaunch
Or using uv:
uv add kblaunch
You can even use uvx to use the cli without installing it:
uvx kblaunch --help
Usage
Setup
Run the setup command to configure the tool (email and slack webhook):
kblaunch setup
This will go through the following steps:
- Set the user (optional): This is used to identify the user and required by the cluster. The default is set to $USER.
- Set the email (required): This is used to identify the user and required by the cluster.
- Set up Slack notifications (optional): This will send a test message to the webhook, and setup the webhook in the config. When your job starts you will receive a message at the webhook
- Set up a PVC (optional): This will create a PVC for the user to use in their jobs
- Set the default PVC to use (optional): Note only one pod can use the PVC at a time
Basic Usage
Launch a simple job:
kblaunch launch
--job-name myjob \
--command "python script.py"
With Environment Variables
-
From local environment:
export PATH=... export OPENAI_API_KEY=... # pass the environment variables to the job kblaunch launch \ --job-name myjob \ --command "python script.py" \ --local-env-vars PATH \ --local-env-vars OPENAI_API_KEY
-
From Kubernetes secrets:
kblaunch launch \ --job-name myjob \ --command "python script.py" \ --secrets-env-vars mysecret1 \ --secrets-env-vars mysecret2
-
From .env file (default behavior):
kblaunch launch \ --job-name myjob \ --command "python script.py" \ --load-dotenv
If a .env exists in the current directory, it will be loaded and passed as environment variables to the job.
GPU Jobs
Specify GPU requirements:
kblaunch launch \
--job-name gpu-job \
--command "python train.py" \
--gpu-limit 2 \
--gpu-product "NVIDIA-A100-SXM4-80GB"
Interactive Mode
Launch an interactive job:
kblaunch launch \
--job-name interactive \
--interactive
Options
--email: User email--job-name: Name of the Kubernetes job [required]--docker-image: Docker image (default: "nvcr.io/nvidia/cuda:12.0.0-devel-ubuntu22.04")--namespace: Kubernetes namespace (default: "informatics")--queue-name: Kueue queue name--interactive: Run in interactive mode (default: False)--command: Command to run in the container [required if not interactive]--cpu-request: CPU request (default: "1")--ram-request: RAM request (default: "8Gi")--gpu-limit: GPU limit (default: 1)--gpu-product: GPU product (default: "NVIDIA-A100-SXM4-80GB")--secrets-env-vars: List of secret environment variables--local-env-vars: List of local environment variables--load-dotenv: Load environment variables from .env file (default: True)
Features
- Kubernetes job management
- Environment variable handling from multiple sources
- Kubernetes secrets integration
- GPU job support
- Interactive mode
- Automatic job cleanup
- Slack notifications (when configured)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kblaunch-0.2.8.tar.gz.
File metadata
- Download URL: kblaunch-0.2.8.tar.gz
- Upload date:
- Size: 45.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.5.26
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4880423ecf94845eec7b7b9ce0b2e35dc8191d87bfa5ec47a195e5fff9f94d96
|
|
| MD5 |
d365483b411aed5c785065a21b2196b5
|
|
| BLAKE2b-256 |
4bb0dc5fc9107a64de511fd78f29f8e74d95d2011e40682c43dc2b8847a4c56b
|
File details
Details for the file kblaunch-0.2.8-py3-none-any.whl.
File metadata
- Download URL: kblaunch-0.2.8-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.5.26
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6845a44a816a7e48bd324c9103000704b278dec6fa160a6391e999e126ee52ae
|
|
| MD5 |
c1d9a0c74718712e7bf6cea92b4fa3b3
|
|
| BLAKE2b-256 |
8853018d53f103b69928a5865376022e54cb6354d5dfc43f848988b3ab9e4b5f
|