Skip to main content

Helper utilities for eexp_engine - supporting ProActive and Kubeflow execution environments

Project description

eexp_engine_utils

Helper utilities for the ExtremeXP Experimentation Engine that automatically adapt to different execution environments (Kubeflow, ProActive, Local).

Overview

This package provides a transparent proxy that automatically routes function calls to the appropriate implementation based on your execution environment. No more manual environment checking or conditional imports!

Installation

pip install -e exp_engine_utils

Quick Start

from eexp_engine_utils import utils

# Load a dataset - automatically works in any environment
data = utils.load_dataset(variables, resultMap, "input_data")

# Process your data
processed_data = your_processing_function(data)

# Save the result - automatically works in any environment
utils.save_dataset(variables, resultMap, "output_data", processed_data)

That's it! The utils proxy automatically detects your execution environment and routes calls to the correct implementation.

How It Works

The package uses a transparent proxy pattern that automatically determines which utils module to use:

  • Kubeflow/Local: Routes to kubeflow_utils (reads EXECUTIONWARE environment variable)
  • ProActive: Routes to proactive_utils (reads execution_engine_runtime_config_*.json file)

You write your task code once, and it works everywhere.

Key Features

  • Zero configuration - Works automatically based on runtime environment
  • Clean API - Just import utils and go
  • Portable - Same task code runs on Kubeflow, ProActive, and Local
  • Simple migration - Replace conditional imports with one line

Available Functions

Dataset Management

  • load_dataset(variables, resultMap, key) - Load a single dataset
  • load_datasets(variables, resultMap, key) - Load multiple datasets
  • save_dataset(variables, resultMap, key, value) - Save a single dataset
  • save_datasets(variables, resultMap, key, values, file_names) - Save multiple datasets

Helpers

  • get_experiment_results(variables) - Get experiment results
  • load_dataset_by_path(file_path) - Load from specific path
  • load_pickled_dataset_by_path(file_path) - Load pickled data
  • And more environment-specific helpers...

Documentation

See USAGE_EXAMPLE.md for detailed usage examples and migration guide.

Requirements

  • Python >= 3.8
  • requests >= 2.25.0
  • fsspec >= 2021.0.0
  • s3fs >= 2021.0.0
  • minio >= 7.0.0

License

Apache License 2.0

Links

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

eexp_engine_utils-0.0.42.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eexp_engine_utils-0.0.42-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file eexp_engine_utils-0.0.42.tar.gz.

File metadata

  • Download URL: eexp_engine_utils-0.0.42.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for eexp_engine_utils-0.0.42.tar.gz
Algorithm Hash digest
SHA256 77970dcc2de2c0a64f123f20fa0e6d50926721b42e7955dd0df9b48d1b69f3c6
MD5 70aadae4326f46e278beb95240c4deb0
BLAKE2b-256 afd71269e8fe6d3be7ee83bc94e83e35080d9e3087f8e6cb2992b43510eb521f

See more details on using hashes here.

File details

Details for the file eexp_engine_utils-0.0.42-py3-none-any.whl.

File metadata

File hashes

Hashes for eexp_engine_utils-0.0.42-py3-none-any.whl
Algorithm Hash digest
SHA256 b66b551073a6cf92eb171335d53c5f3ec70ccdc94c60d56dfa4f0127b2641f3b
MD5 b8896bf7c43b567d29fa4a769611b083
BLAKE2b-256 81bbee3e80e50c9882824032c574ea3d10236220d62918bae5be9d93b3575fa5

See more details on using hashes here.

Supported by

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