Observed since 20 Oct, 17:46 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Python SDK for the Abundant Environment API - simulation environments for RL agent training
FastAPI-based API service for managing simulation environments for RL agent training. Currently supports Salesforce scratch orgs with browser automation via Browserbase.
Production API: https://api.abundant.systems/
This API provides:
GET /v1/environments - List available simulation environmentsPOST /v1/instances - Create new environment instanceGET /v1/instances/{id} - Get instance details with CDP URLDELETE /v1/instances/{id} - Terminate instancePOST /v1/instances/{id}/reset - Reset instance to clean statePOST /v1/instances/{id}/verify - Run verification functionGET /v1/instances/{id}/state - Get current stateuv sync
This will install all dependencies including the Foundry SDK from Test PyPI.
Set up environment variables in .env:
API_SECRET_KEY=your_secret_key
FOUNDRY_API_KEY=your_foundry_api_key
BROWSERBASE_API_KEY=your_browserbase_api_key
BROWSERBASE_PROJECT_ID=your_browserbase_project_id
Run the server:
uv run simulation-env-api
Customize server settings in src/simulation_env_api/uvicorn_config.py if needed.
Access docs at http://localhost:8000/docs
curl -X GET "http://localhost:8000/v1/environments"
curl -X POST "http://localhost:8000/v1/instances" \
-H "x-api-key: your_secret_key" \
-H "Content-Type: application/json" \
-d '{"environment": "salesforce_sales"}'
curl -X GET "http://localhost:8000/v1/instances/{instance_id}" \
-H "x-api-key: your_secret_key"
curl -X POST "http://localhost:8000/v1/instances/{instance_id}/reset" \
-H "x-api-key: your_secret_key"
A Python SDK is included for easier integration:
import asyncio
from abundant_sdk import Client
async def main():
async with Client(api_key="your_secret_key") as client:
# Create and use an instance
instance = await client.create_instance("salesforce_sales")
print(f"CDP URL: {instance.cdp_url}")
# Verify task completion
result = await instance.verify("opportunity_created")
# Clean up
await instance.terminate()
asyncio.run(main())
See examples/ directory for more detailed examples.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.4 | 7 Aug 2025 | 10 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 17:46 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6f17b424b626834bfd915fce7e0a15771e68c2e69037e235c3588329bde8ca81