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.41.tar.gz (20.2 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.41-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eexp_engine_utils-0.0.41.tar.gz
  • Upload date:
  • Size: 20.2 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.41.tar.gz
Algorithm Hash digest
SHA256 c36783d388751a952fc43125010d1c048df73bc2e4156e00c43e73a410934566
MD5 44c85ca54af5a594afcb3bd7ed393d9b
BLAKE2b-256 f1641e7924adc5c5cac0285bc05b4d98f5e8a8625f1f0dc8877d79b397509ac1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eexp_engine_utils-0.0.41-py3-none-any.whl
Algorithm Hash digest
SHA256 6fbf43b62006bc66e6b9a710385f5bd686db81a9d157a9b8de366b07ce511bf8
MD5 73fd8386448fe530967906a3e71869f4
BLAKE2b-256 7347d3e174e998f4a6cc281cd4891b83ca70b6441be893ef042fdbced8462af5

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