Python SDK
Official Python SDK for Sematryx. Full-featured client library with support for optimization, AEAO Tetrad configuration, and domain-specific libraries.
pip install sematryxThe SDK requires Python 3.8 or higher. For domain-specific optimizations, install with extras:
pip install sematryx[financial,healthcare,supply_chain]The simplest way to use Sematryx is with the main sematryx() function:
from sematryx import sematryx
# Define your objective function
def sphere(x):
return sum(xi**2 for xi in x)
# Run optimization
result = sematryx(
objective_function=sphere,
bounds=[[-5, 5], [-5, 5]],
max_evaluations=1000
)
print(f"Best solution: {result['best_solution']}")
print(f"Best fitness: {result['best_fitness']}")Configure the four pillars of AEAO intelligence to match your needs:
from sematryx import sematryx, AEAOTetradCompleteConfig
# Option 1: Use preset configuration
result = sematryx(
objective_function=sphere,
bounds=[[-5, 5], [-5, 5]],
preset="production" # development, production, research, enterprise, minimal
)
# Option 2: Enable specific tetrad pillars
result = sematryx(
objective_function=sphere,
bounds=[[-5, 5], [-5, 5]],
use_agentic_intelligence=True, # Multi-agent coordination
use_autodidactic_intelligence=True, # Self-improvement
explanation_level=3 # Detailed explanations
)
# Option 3: Complete custom configuration
config = AEAOTetradCompleteConfig.enterprise()
config.expository.explanation_level = 4
config.agentic.max_agents_per_problem = 5
result = sematryx(objective_function=sphere, bounds=[[-5, 5], [-5, 5]], config=config)The AEAO Tetrad
- 🤖 Agentic Intelligence: Multi-agent coordination for strategy selection
- đź“– Expository Intelligence: Explainable results (levels 0-5)
- đź§ Autodidactic Intelligence: Self-improvement through learning
- 🏗️ Domain Extension: Business domain libraries (enabled by default)
Use specialized domain libraries for industry-specific problems:
from sematryx import financial_optimize, healthcare_optimize, supply_chain_optimize
# Financial portfolio optimization
result = financial_optimize(
problem_type='portfolio',
config={
'assets': ['AAPL', 'GOOGL', 'MSFT', 'TSLA'],
'risk_tolerance': 0.15,
'expected_returns': [0.12, 0.15, 0.10, 0.20]
},
max_evaluations=2000
)
# Healthcare drug discovery
result = healthcare_optimize(
problem_type='drug_discovery',
config={
'target_protein': 'protein_id_123',
'constraints': {'toxicity': '< 0.1', 'solubility': '> 0.5'}
}
)
# Supply chain routing
result = supply_chain_optimize(
problem_type='vehicle_routing',
config={
'locations': [...],
'vehicle_capacity': 1000,
'time_windows': {...}
}
)Available Domains
- financial: Portfolio optimization, trading strategies, risk management
- healthcare: Drug discovery, clinical trials, treatment optimization
- supply_chain: Vehicle routing, inventory optimization, cold chain
- ai_ml: Neural architecture search, hyperparameter tuning
- marketing: Campaign optimization, pricing strategies
For server-side optimization via the REST API:
from sematryx import SematryxClient
# Initialize API client
client = SematryxClient(
api_url="https://api.sematryx.com",
api_key="your-api-key"
)
# Authenticate
client.authenticate()
# Run optimization via API
result = client.optimize(
objective_function=sphere,
bounds=[[-5, 5], [-5, 5]],
max_evaluations=1000
)Enable advanced capabilities for complex optimization problems:
from sematryx import sematryx
# GPU acceleration
result = sematryx(
objective_function=complex_function,
bounds=[[-10, 10]] * 100, # High-dimensional
use_gpu_acceleration=True
)
# Visual intelligence
result = sematryx(
objective_function=landscape_function,
bounds=[[-5, 5], [-5, 5]],
use_visual_intelligence=True,
explanation_level=4
)
# Neural-symbolic reasoning
result = sematryx(
objective_function=hybrid_function,
bounds=[[-5, 5], [-5, 5]],
use_neural_symbolic=True
)The SDK provides specific exception types for different error scenarios:
from sematryx.exceptions import (
SematryxError,
AuthenticationError,
RateLimitError,
OptimizationError
)
try:
result = sematryx(
objective_function=sphere,
bounds=[[-5, 5], [-5, 5]],
max_evaluations=1000
)
except AuthenticationError:
print('Invalid API key')
except RateLimitError:
print('Rate limit exceeded. Please wait and retry.')
except OptimizationError as e:
print(f'Optimization failed: {e.message}')
except SematryxError as e:
print(f'Error: {e.message}')Use AsyncAEAO for concurrent operations:
import asyncio
from sematryx import AsyncSematryx
async def main():
client = AsyncSematryx(api_key='your-api-key')
# Run multiple optimizations concurrently
results = await asyncio.gather(
client.optimize(objective1, bounds1, max_evaluations=1000),
client.optimize(objective2, bounds2, max_evaluations=1000),
client.optimize(objective3, bounds3, max_evaluations=1000)
)
return results
asyncio.run(main())Manage client identity, privacy settings, and usage quotas:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Create client identity
identity = client.register_with_identity(
email="user@example.com",
organization_id="org_123",
privacy_level=PrivacyLevel.AGGREGATED,
subscription_tier=SubscriptionTier.PROFESSIONAL
)
# Get privacy status
privacy_status = client.get_privacy_status()
print(f"Privacy level: {privacy_status['privacy_level']}")
# Get usage quotas
quotas = client.get_usage_quotas()
print(f"Optimizations used: {quotas['current_usage']['optimizations_per_day']}")
print(f"Quota: {quotas['api_quotas']['optimizations_per_day']}")
# Configure data sharing
client.configure_data_sharing({
'optimization_results': True,
'performance_metrics': True,
'problem_signatures': False
})Submit and manage batch optimization jobs:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Submit batch optimization job
batch_job = client.submit_batch_optimization(
batch_name="portfolio_analysis",
optimizations=[
{
"job_name": "portfolio_1",
"objective_function": "sphere",
"bounds": [[-5, 5], [-5, 5]],
"max_evaluations": 1000
},
{
"job_name": "portfolio_2",
"objective_function": "rosenbrock",
"bounds": [[-5, 5], [-5, 5]],
"max_evaluations": 1000
}
],
parallel_workers=2
)
# Check batch status
status = client.get_batch_status(batch_job['batch_id'])
print(f"Progress: {status['progress_percentage']}%")
# Get batch results
results = client.get_batch_results(batch_job['batch_id'])
for job_result in results['job_results']:
print(f"{job_result['job_name']}: {job_result['optimal_value']}")Train models and get learning insights:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Train learning model
training_data = [
{"problem_type": "sphere", "strategy": "differential_evolution", "success": True},
{"problem_type": "rosenbrock", "strategy": "shgo", "success": True}
]
training_result = client.train_learning_model(
training_data=training_data,
model_type="cross_problem",
max_epochs=100
)
# List trained models
models = client.list_learning_models()
for model in models:
print(f"Model: {model['model_name']}, Type: {model['model_type']}")
# Get learning insights
insights = client.get_learning_insights()
print(f"Total models: {insights['total_models']}")
print(f"Learning enabled: {insights['learning_enabled']}")Multi-objective optimization and sensitivity analysis:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Multi-objective optimization
multi_obj_result = client.multi_objective_optimize(
objectives=["sphere", "rosenbrock"],
bounds=[[-5, 5], [-5, 5]],
method="nsga2",
max_evaluations=2000
)
# Get Pareto frontier
pareto_frontier = multi_obj_result['pareto_frontier']
for point in pareto_frontier:
print(f"Solution: {point['solution']}, Objectives: {point['objectives']}")
# Sensitivity analysis
sensitivity_result = client.sensitivity_analysis(
objective_function="sphere",
bounds=[[-5, 5], [-5, 5]],
reference_point=[0.0, 0.0],
analysis_type="global"
)
print(f"Sensitivity scores: {sensitivity_result['sensitivity_scores']}")Analyze problem context and get recommendations:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Analyze problem context
context = {
"problem_id": "prob_123",
"problem_type": "portfolio_optimization",
"domain": "financial",
"description": "Optimize portfolio allocation for risk-return tradeoff",
"parameters": {"risk_tolerance": 0.15}
}
analysis = client.analyze_context(
target_context=context,
similarity_threshold=0.7,
include_recommendations=True
)
# Get similar problems
for similar in analysis['similar_problems']:
print(f"Similar problem: {similar['problem_id']}, Score: {similar['similarity_score']}")
# Get optimization recommendations
for recommendation in analysis['optimization_recommendations']:
print(f"Recommendation: {recommendation}")Store and query optimization data:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Create data connection
connection = client.create_data_connection(
connection_type="s3",
endpoint_url="https://s3.amazonaws.com/bucket",
credentials={"access_key": "...", "secret_key": "..."}
)
# Upload dataset
dataset = client.upload_dataset(
dataset_name="optimization_results",
data_type="optimization_results",
data=[...], # Your data
description="Historical optimization results"
)
# Store optimization data
client.store_optimization_data(
experiment_id="exp_123",
problem_definition={"bounds": [[-5, 5], [-5, 5]]},
optimization_results=[...],
performance_metrics={"duration": 2.5, "evaluations": 1000}
)
# Query data lake
query_result = client.query_data_lake(
query_type="filter",
dataset_ids=[dataset['dataset_id']],
filters={"experiment_id": "exp_123"}
)Submit metrics and generate performance reports:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Submit performance metrics
client.submit_metrics(
metrics=[
{
"metric_name": "optimization_duration",
"metric_value": 2.5,
"metric_type": "time"
},
{
"metric_name": "solution_quality",
"metric_value": 0.95,
"metric_type": "quality"
}
],
source_system="production"
)
# Generate performance report
report = client.generate_performance_report(
report_type="comprehensive",
metric_categories=["time", "quality", "efficiency"],
time_range={"start": "2024-01-01", "end": "2024-01-31"}
)
# Get performance insights
insights = client.get_performance_insights()
for insight in insights:
print(f"{insight['insight_type']}: {insight['description']}")
# Get metrics summary
summary = client.get_metrics_summary()
print(f"Average duration: {summary['average_duration']}")
print(f"Success rate: {summary['success_rate']}")Get API configuration and check system health:
from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Get API configuration
config = client.get_api_config()
print(f"API Version: {config['version']}")
print(f"Environment: {config['environment']}")
# Get available features
features = client.get_features()
print(f"Optimization available: {features['optimization']['available']}")
print(f"Learning system: {features['ai_capabilities']['learning_system']}")
# Get operational limits
limits = client.get_limits()
print(f"Max evaluations: {limits['optimization']['max_evaluations']}")
print(f"Max variables: {limits['optimization']['max_variables']}")from sematryx import SematryxClient
client = SematryxClient(api_url="https://api.sematryx.com", api_key="your-api-key")
# Basic health check
health = client.get_system_status()
print(f"API Server: {health['api_server']['success']}")
print(f"Local System: {health['local_system']['success']}")
# Get system health
health_status = client.get_system_health()
print(f"Status: {health_status['status']}")
print(f"Uptime: {health_status['uptime']} seconds")
print(f"Memory usage: {health_status['memory_usage']}%")Main Function
aeao(objective_function, bounds, **kwargs)- Main optimization functionpreset- Use preset config ("development", "production", "research", "enterprise", "minimal")use_agentic_intelligence- Enable multi-agent coordinationuse_expository_intelligence- Enable explainabilityuse_autodidactic_intelligence- Enable self-improvementexplanation_level- Explanation detail (0-5)use_gpu_acceleration- Enable GPU/CUDAuse_visual_intelligence- Enable visual analysis
Configuration Classes
AEAOTetradCompleteConfig- Complete tetrad configurationAEAOTetradCompleteConfig.development()- Development presetAEAOTetradCompleteConfig.production()- Production presetAEAOTetradCompleteConfig.research()- Research presetAEAOTetradCompleteConfig.enterprise()- Enterprise preset
Domain Functions
financial_optimize(problem_type, config, **kwargs)- Financial optimizationhealthcare_optimize(problem_type, config, **kwargs)- Healthcare optimizationsupply_chain_optimize(problem_type, config, **kwargs)- Supply chain optimization
API Client
SematryxClient(api_url, api_key)- Initialize API clientclient.authenticate()- Authenticate with APIclient.optimize(objective, bounds, **kwargs)- Run optimization via APIclient.register_with_identity()- Create client identityclient.get_usage_quotas()- Get usage quotasclient.submit_batch_optimization()- Submit batch jobclient.train_learning_model()- Train learning modelclient.multi_objective_optimize()- Multi-objective optimizationclient.analyze_context()- Analyze problem contextclient.upload_dataset()- Upload to data lakeclient.submit_metrics()- Submit performance metricsclient.get_system_status()- Get system healthAsyncSematryx- Async version of API client