Buckets:

HuggingFaceDocBuilder's picture
|
download
raw
1.63 kB
# Async vs Sync Usage
OpenEnv supports both asynchronous and synchronous usage patterns.
## When to Use Each
| Pattern | Best For | Performance |
|---------|----------|-------------|
| **Async** | Production, multiple environments, high throughput | ⚡ Best |
| **Sync** | Scripts, notebooks, quick experiments | 🐢 Good enough |
## Sync Usage
For simple scripts and notebooks, use the `.sync()` wrapper:
```python
from openenv import AutoEnv
env = AutoEnv.from_env("echo")
with env.sync() as client:
result = client.reset()
result = client.step(action)
```
## Async Usage (Recommended)
For production and parallel environments, use async directly:
```python
import asyncio
from openenv import AutoEnv
async def main():
env = AutoEnv.from_env("echo")
async with env as client:
result = await client.reset()
result = await client.step(action)
asyncio.run(main())
```
## Parallel Environments
Run multiple environments concurrently:
```python
import asyncio
from openenv import AutoEnv
async def run_episode(env_name: str):
env = AutoEnv.from_env(env_name)
async with env as client:
result = await client.reset()
# ... run episode
return result
async def main():
# Run 4 environments in parallel
results = await asyncio.gather(
run_episode("echo"),
run_episode("echo"),
run_episode("echo"),
run_episode("echo"),
)
asyncio.run(main())
```
## Next Steps
- [RL Framework Integration](rl-integration) - Using async with RL training
- [Auto-Discovery](auto-discovery) - Discover and load environments

Xet Storage Details

Size:
1.63 kB
·
Xet hash:
9ff67257fec301e325bcb72f4dccf27be986d8767a90bf94a3c79f659776aa1b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.