# BaseSandbox

> **Class** in `deepagents`

📖 [View in docs](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox)

Base sandbox implementation with `execute()` as the core abstract method.

This class provides default implementations for all protocol methods.
File listing, grep, and glob use shell commands via `execute()`. Read uses
a server-side Python script via `execute()` for paginated access. Write
delegates content transfer to `upload_files()`. Edit uses a server-side
script for small payloads and uploads old/new strings as temp files with
a server-side replace for large ones.

Subclasses must implement `execute()`, `upload_files()`, `download_files()`,
and the `id` property.

## Signature

```python
BaseSandbox()
```

## Extends

- `SandboxBackendProtocol`
- `ABC`

## Properties

- `id`

## Methods

- [`execute()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/execute)
- [`ls()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/ls)
- [`read()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/read)
- [`write()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/write)
- [`edit()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/edit)
- [`grep()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/grep)
- [`glob()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/glob)
- [`upload_files()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/upload_files)
- [`download_files()`](https://reference.langchain.com/python/deepagents/backends/sandbox/BaseSandbox/download_files)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/a9e6e4f7ad7fe161dd9affc3d74bb19784aca70b/libs/deepagents/deepagents/backends/sandbox.py#L306)