Epik8s Tools

raw JSON →
0.16.4 verified Fri May 01 auth: no python

A Python toolkit for generating Kubernetes Helm charts for EPICS (Experimental Physics and Industrial Control System) based control systems. Currently at version 0.16.4, with active development and monthly releases.

pip install epik8s-tools
error ModuleNotFoundError: No module named 'epik8s_tools'
cause Using wrong import path (package name with underscore instead of actual module name).
fix
Install with 'pip install epik8s-tools', then import as 'from epik8s import ...'.
error TypeError: generate_chart() got an unexpected keyword argument 'prefix'
cause Old parameter name 'prefix' renamed to 'pv_prefix' in v0.15.0.
fix
Use 'pv_prefix' instead of 'prefix' in the function call.
error FileExistsError: [Errno 17] File exists: '/path/to/output'
cause Output directory already exists and is not empty.
fix
Remove the existing directory or set a new output_dir path.
breaking The generate_chart function signature changed in v0.15.0: parameter 'pv_prefix' replaced legacy 'prefix'. Old code will raise TypeError.
fix Update calls: use 'pv_prefix' instead of 'prefix'.
gotcha Output directory must be empty or non-existent; otherwise generate_chart will raise FileExistsError.
fix Ensure output_dir does not exist or is empty, or remove it manually before regenerating.
deprecated Python 3.9 support is deprecated; future versions will require Python >=3.10.
fix Upgrade to Python 3.10+.

Generate a basic Helm chart for an EPICS IOC.

from epik8s import generate_chart
import os

# EPICS IOC configuration
ioc_config = {
    'name': 'my-ioc',
    'image': 'epics/ioc:latest',
    'pv_prefix': 'MY:',
    'port': 5064
}

# Generate Helm chart directory
generate_chart(ioc_config, output_dir='./helm-chart')
print('Helm chart generated at ./helm-chart')