Skip to main content

No project description provided

Project description

Synth Environments

Synthetic Environments for Long-Horizon Language Agents

Python License PyPI

A comprehensive framework for building and managing synthetic environments designed specifically for training and evaluating long-horizon language agents.

🎯 Key Features

  • 🔄 Snapshotting & Reproducibility - Full state capture and replay
  • 🏗️ Statefulness First - Built-in state management across environments
  • 🔌 Consistent APIs - Unified interface for all environment types
  • 📊 Observability - Built-in tracing and monitoring
  • 🌐 HTTP Access - RESTful API for remote training and evaluation
  • 📚 Curriculum Learning - Configurable filtering and progression
  • 🛠️ Agent Tools - Simple abstractions for agent-environment interaction

🚀 Quick Start

Installation

pip install synth-env

Basic Usage

from synth_env import Environment

# Create environment
env = Environment("sokoban")

# Run agent
state = env.reset()
while not env.done:
    action = agent.act(state)
    state = env.step(action)

Development Setup

# Clone repository
git clone https://github.com/your-org/synth-env.git
cd synth-env

# Install dependencies
uv sync

# Run tests
python dev/update_readme_metrics.py --fast

🎮 Supported Environments

Environment Status Description
Sokoban ✅ Stable Classic puzzle game for planning
Hendryks Math ✅ Stable Mathematical reasoning tasks
Crafter ✅ Stable Minecraft-like survival environment
Verilog 🔄 Beta Hardware description language tasks
Red Team 🚧 Development Security testing scenarios
SWE-Bench 🚧 Development Software engineering tasks

📖 Documentation

🔧 Development

Health Check

# Check codebase health
python scripts/check_health.py

Testing

# Fast tests (~3 seconds)
python dev/update_readme_metrics.py --fast

# Full test suite
python dev/update_readme_metrics.py

Code Quality

# Format code
ruff format .

# Check linting
ruff check .

# Type checking
uvx ty check

Release

# Increment version and publish
python scripts/release.py

# Dry run
python scripts/release.py --dry-run

Pre-Merge Checklist

Before creating a PR, see dev/pr_checklist.md for the complete checklist.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for:

  • Development setup
  • Code style guidelines
  • Testing requirements
  • Pull request process

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Special thanks to the research teams at DeepMind, Ragen AI, and other contributors to the environments included in this framework.


⚠️ Development Status: This project is under active development. While stable environments are production-ready, newer environments may have breaking changes.

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

synth_env-0.0.2.dev2.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synth_env-0.0.2.dev2-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file synth_env-0.0.2.dev2.tar.gz.

File metadata

  • Download URL: synth_env-0.0.2.dev2.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for synth_env-0.0.2.dev2.tar.gz
Algorithm Hash digest
SHA256 3ea02edb4432c3f0a1c47ff88c01680da775cbfce5a6926248f2afb00cf6a854
MD5 747e8725a969df0f650fc43b73c6ea3b
BLAKE2b-256 8ad7338954611e81efaad071eef6f1ba35105391b7d4804e2e3ac4a8f93c5a44

See more details on using hashes here.

File details

Details for the file synth_env-0.0.2.dev2-py3-none-any.whl.

File metadata

  • Download URL: synth_env-0.0.2.dev2-py3-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for synth_env-0.0.2.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 746e22b91bbf6ee0b8b2603b97081341ffac6522ee3421056c5b9952d7d3cafe
MD5 0c8686f9c7a11f6bb6daa3648fb2b56b
BLAKE2b-256 4fe030920371f25b8f7d3e17755e1d1d149b24a409f560ff098a440d2872fd5e

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