Types API¶
FileInfo¶
pydantic_ai_backends.types.FileInfo
¶
from pydantic_ai_backends import FileInfo
# Example
file_info: FileInfo = {
"name": "app.py",
"path": "/workspace/app.py",
"is_dir": False,
"size": 1234,
}
FileData¶
pydantic_ai_backends.types.FileData
¶
Bases: TypedDict
Data structure for storing file content in StateBackend.
Source code in src/pydantic_ai_backends/types.py
from pydantic_ai_backends import FileData
# Example (used internally by StateBackend)
file_data: FileData = {
"content": ["line 1", "line 2", "line 3"],
"created_at": "2024-01-15T10:30:00Z",
"modified_at": "2024-01-15T11:00:00Z",
}
WriteResult¶
pydantic_ai_backends.types.WriteResult
dataclass
¶
from pydantic_ai_backends import WriteResult
# Success
result = WriteResult(path="/workspace/app.py")
# Error
result = WriteResult(error="Permission denied")
EditResult¶
pydantic_ai_backends.types.EditResult
dataclass
¶
from pydantic_ai_backends import EditResult
# Success
result = EditResult(path="/workspace/app.py", occurrences=3)
# Error
result = EditResult(error="String not found")
ExecuteResponse¶
pydantic_ai_backends.types.ExecuteResponse
dataclass
¶
from pydantic_ai_backends import ExecuteResponse
# Example
response = ExecuteResponse(
output="Hello, World!\n",
exit_code=0,
truncated=False,
)
GrepMatch¶
pydantic_ai_backends.types.GrepMatch
¶
from pydantic_ai_backends import GrepMatch
# Example
match: GrepMatch = {
"path": "/workspace/app.py",
"line_number": 42,
"line": "def hello_world():",
}
RuntimeConfig¶
pydantic_ai_backends.types.RuntimeConfig
¶
Bases: BaseModel
Configuration for a Docker runtime environment.
A runtime defines a pre-configured execution environment with specific packages and settings. Can be used with DockerSandbox to provide ready-to-use environments without manual package installation.
Example
from pydantic_ai_backends import RuntimeConfig, DockerSandbox
# Custom runtime with ML packages
ml_runtime = RuntimeConfig(
name="ml-env",
description="Machine learning environment",
base_image="python:3.12-slim",
packages=["torch", "transformers", "datasets"],
)
sandbox = DockerSandbox(runtime=ml_runtime)
Source code in src/pydantic_ai_backends/types.py
name
instance-attribute
¶
Unique name for the runtime (e.g., "python-datascience").
description = ''
class-attribute
instance-attribute
¶
Human-readable description of the runtime.
image = None
class-attribute
instance-attribute
¶
Ready-to-use Docker image (e.g., "myregistry/python-ds:v1").
base_image = None
class-attribute
instance-attribute
¶
Base image to build upon (e.g., "python:3.12-slim").
packages = []
class-attribute
instance-attribute
¶
Packages to install (e.g., ["pandas", "numpy", "matplotlib"]).
package_manager = 'pip'
class-attribute
instance-attribute
¶
Package manager to use for installation.
setup_commands = []
class-attribute
instance-attribute
¶
Additional setup commands to run (e.g., ["apt-get update"]).
env_vars = {}
class-attribute
instance-attribute
¶
Environment variables to set in the container.
work_dir = '/workspace'
class-attribute
instance-attribute
¶
Working directory inside the container.
cache_image = True
class-attribute
instance-attribute
¶
Whether to cache the built image locally.