Metadata-Version: 2.3
Name: synth-env
Version: 0.0.2.dev2
Summary: 
Author: Synth AI
Author-email: Synth AI <josh@usesynth.ai>
License: MIT
Requires-Dist: pydantic
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: pytest>=8.3.3
Requires-Dist: pydantic-openapi-schema>=1.5.1
Requires-Dist: pytest-asyncio>=0.24.0
Requires-Dist: numpy>=2.2.3
Requires-Dist: networkx>=3.4.2
Requires-Dist: synth-ai
Requires-Dist: synth-sdk
Requires-Dist: crafter>=1.8.3
Requires-Dist: fastapi>=0.115.12
Requires-Dist: gym-sokoban>=0.0.6
Requires-Dist: gymnasium>=1.1.1
Requires-Dist: uvicorn>=0.34.2
Requires-Dist: ty>=0.0.1a5
Requires-Dist: ruff>=0.11.10
Requires-Dist: pyboy>=2.6.0
Requires-Dist: setuptools>=80.8.0
Requires-Dist: psutil>=7.0.0
Requires-Dist: redis>=6.2.0
Requires-Dist: imageio>=2.31.0
Requires-Dist: nle>=0.9.1
Requires-Dist: matplotlib>=3.10.3
Requires-Dist: seaborn>=0.13.2
Requires-Dist: pillow>=11.2.1
Requires-Dist: minigrid>=3.0.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: tqdm>=4.67.1
Requires-Dist: duckdb>=1.0.0
Requires-Dist: pyarrow>=18.0.0
Requires-Dist: reflex>=0.3.8
Requires-Dist: pandas>=2.2.3
Requires-Python: >=3.11
Project-URL: Homepage, https://github.com/synth-laboratories/Environments
Description-Content-Type: text/markdown

# Synth Environments

**Synthetic Environments for Long-Horizon Language Agents**

[![Python](https://img.shields.io/badge/python-3.11+-blue)](https://www.python.org/)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![PyPI](https://img.shields.io/badge/PyPI-0.0.2.dev1-orange)](https://pypi.org/project/synth-env/)

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

```bash
pip install synth-env
```

### Basic Usage

```python
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

```bash
# 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

- **[API Reference](docs/api.md)** - Complete API documentation
- **[Environment Guide](docs/environments.md)** - Detailed environment descriptions
- **[Contributing](dev/contributing.md)** - Development setup and guidelines

## 🔧 Development

### Health Check
```bash
# Check codebase health
python scripts/check_health.py
```

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

# Full test suite
python dev/update_readme_metrics.py
```

### Code Quality
```bash
# Format code
ruff format .

# Check linting
ruff check .

# Type checking
uvx ty check
```

### Release
```bash
# 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](dev/pr_checklist.md)** for the complete checklist.

## 🤝 Contributing

We welcome contributions! Please see our **[Contributing Guide](dev/contributing.md)** for:
- Development setup
- Code style guidelines  
- Testing requirements
- Pull request process

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](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.

