Skip to main content

ExuluPython

The main export for Python integration utilities.

Methods

setup
(options?: PythonSetupOptions) => Promise<PythonSetupResult>
Set up the Python virtual environmentParameters:
  • options.force (boolean): Force rebuild even if environment exists
  • options.verbose (boolean): Show detailed output
  • options.timeout (number): Setup timeout in milliseconds
  • options.packageRoot (string): Package root directory
Returns:
  • success (boolean): Whether setup was successful
  • message (string): Description of the result
  • alreadyExists (boolean): Whether environment already existed
  • pythonVersion (string): Python version installed
  • output (string): Full output from setup script
const result = await ExuluPython.setup({ verbose: true });
if (result.success) {
  console.log('Python version:', result.pythonVersion);
}
check
(packageRoot?: string) => boolean
Check if Python environment is set upParameters:
  • packageRoot (string): Package root directory (auto-detected)
Returns: true if environment is ready, false otherwise
if (ExuluPython.check()) {
  console.log('Environment ready');
}
validate
(packageRoot?: string) => Promise<ValidationResult>
Validate Python environment and get detailed statusParameters:
  • packageRoot (string): Package root directory (auto-detected)
Returns:
  • valid (boolean): Whether environment is valid
  • message (string): Validation message or instructions
const validation = await ExuluPython.validate();
if (!validation.valid) {
  console.error(validation.message);
}
instructions
() => string
Get helpful setup instructions for usersReturns: String with setup instructions
const help = ExuluPython.instructions();
console.log(help);

isPythonEnvironmentReady

Check if Python environment is set up and ready to use.

Usage

import { isPythonEnvironmentReady } from '@exulu/backend';

const isReady = await isPythonEnvironmentReady();
if (isReady) {
  console.log('Python environment is ready');
}

Parameters

packageRoot
string
Package root directory (auto-detected if not provided)

Returns

Returns Promise<boolean> - true if environment is ready, false otherwise.

Types

PythonSetupOptions

interface PythonSetupOptions {
  packageRoot?: string;
  force?: boolean;
  verbose?: boolean;
  timeout?: number;
}

PythonSetupResult

interface PythonSetupResult {
  success: boolean;
  message: string;
  alreadyExists: boolean;
  pythonVersion?: string;
  output?: string;
}

PythonScriptConfig

interface PythonScriptConfig {
  scriptPath: string;
  args?: string[];
  packageRoot?: string;
  cwd?: string;
  timeout?: number;
  env?: Record<string, string>;
  validateEnvironment?: boolean;
}

PythonScriptResult

interface PythonScriptResult {
  stdout: string;
  stderr: string;
  exitCode: number;
  success: boolean;
}