Skip to content

ExpEngine Service

The ExpEngine Service provides a RESTful API interface for managing experiments and workflows remotely. This service allows you to run, control, and monitor experiments through HTTP requests, making it ideal for integration with web applications, CI/CD pipelines, or remote experiment management.

Overview

The ExpEngine Service runs as a Flask-based web service that exposes endpoints for:

  • Starting experiments by name
  • Managing experiment lifecycle (pause, resume, kill)
  • Managing workflow lifecycle (pause, resume, kill)
  • Cross-origin resource sharing (CORS) support for web applications

API Documentation

Service Configuration

Prerequisites

  • Python >= 3.10
  • Flask and Flask-CORS
  • ExpEngine package installed
  • Properly configured experiment specifications

Starting the Service

The service runs on http://localhost:5556 by default.

python api.py

Security Considerations

Production Deployment

  • The current implementation runs without authentication
  • Consider implementing API keys or OAuth for production use
  • Ensure proper network security (firewall, VPN) for production deployments
  • Monitor and log API usage for security auditing