Agentic Disk SDK
Bring filesystem to your agent with one-line code.
Quick Start
Complete Example
Full workflow
Full workflow
S3-backed file storage for your agent
Create a disk
import os
from acontext import AcontextClient, FileUpload
client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))
disk = client.disks.create()
Upload a file
artifact = client.disks.artifacts.upsert(
disk.id,
file=FileUpload(filename="notes.md", content=b"# Meeting Notes"),
file_path="/documents/",
meta={"author": "alice"}
)
Get file with URL
result = client.disks.artifacts.get(
disk.id,
file_path="/documents/",
filename="notes.md",
with_public_url=True,
with_content=True
)
print(result.public_url)
print(result.content.raw)
List files
result = client.disks.artifacts.list(disk.id, path="/documents/")
for artifact in result.artifacts:
print(f"{artifact.filename} - {artifact.meta}")
Search files
# Search content with regex
results = client.disks.artifacts.grep_artifacts(disk.id, query="TODO.*")
# Find by path pattern
results = client.disks.artifacts.glob_artifacts(disk.id, query="**/*.md")
Update metadata
client.disks.artifacts.update(
disk.id,
file_path="/documents/",
filename="notes.md",
meta={"author": "alice", "reviewed": True}
)
Full workflow
import os
from acontext import AcontextClient, FileUpload
client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))
# Create disk
disk = client.disks.create()
# Upload file
artifact = client.disks.artifacts.upsert(
disk.id,
file=FileUpload(filename="notes.md", content=b"# Meeting Notes\nQ4 goals discussed."),
file_path="/meetings/",
meta={"date": "2024-01-15"}
)
# Get with URL
result = client.disks.artifacts.get(
disk.id, file_path="/meetings/", filename="notes.md",
with_public_url=True
)
print(f"URL: {result.public_url}")
# List files
files = client.disks.artifacts.list(disk.id, path="/meetings/")
print(f"Found {len(files.artifacts)} files")
# Cleanup
client.disks.delete(disk.id)