Skip to main content

Multi-language code execution against a real directory for AI agents

Project description

agentpad

Execute bash, Python, JavaScript (Node), and SQL against a real project directory—with optional overlay, read-only mode, file-change tracking, and a session run log. Built for AI agents, CI, and local tooling.

Same design in TypeScript (npm) and Python (PyPI / local install).


Install

JavaScript / TypeScript (npm)

npm install agentpad

Requires Node.js ≥ 18. For SQL on Node, the sqlite3 binary must be on your PATH.

Python

pip install agentpad

From a clone (editable):

pip install -e ./python

Requires Python ≥ 3.10. For SQL in Python, the runtime uses stdlib sqlite3 (no sqlite3 CLI required).


Quick start

TypeScript

import { Runtime } from "agentpad";

const rt = new Runtime("./my-project");
const r = await rt.run("python", 'print(open("README.md").read()[:80])');
console.log(r.stdout);
console.log(r.files); // file changes under the workspace
rt.close();

Python

from agentpad import Runtime

rt = Runtime("./my-project")
r = rt.run("python", "print(1 + 1)")
print(r.stdout)
rt.close()

Features

Capability Summary
Languages bash, python, javascript, sql
Workspace modes Normal, read-only (readonly: true), or overlay (temp copy + apply() back to disk)
File tracking includeGlobs / excludeGlobs (minimatch) scope which paths appear in RunResult.files
Limits timeoutMs, maxOutputBytes per run or via limits on the runtime
Session log getRunLog(), clearRunLog(), exportRunLogJSON / exportRunLogMarkdown, optional onRun
OpenAI tools asOpenAITool() + executeToolCall({ language, code }) (TS); as_openai_tool / execute_tool_call (Python)
Persistence serialize() / Runtime.deserialize() for overlay state

Documentation

Hosted on slaps.dev:

Doc Contents
Overview Product summary and doc index
Getting started Install, first runs, overlay, read-only
Use cases Agents, testing patterns, stubfetch
Configuration RuntimeOptions, RunOptions, globs, limits, run log
API reference Runtime, types, filesystem adapters, exports
Security Threat model, workspace boundaries, subprocess behavior
Python notes Node vs Python differences

Source

Package and issue tracker: github.com/vgulerianb/agentpad (canonical repo). The slaps.dev monorepo may carry a vendored copy of this tree for the website and doc sync scripts—it is not the package’s primary repository URL on npm/PyPI.

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentpad-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentpad-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file agentpad-0.1.0.tar.gz.

File metadata

  • Download URL: agentpad-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for agentpad-0.1.0.tar.gz
Algorithm Hash digest
SHA256 16663544411c3046a8e54bac2e4121e57e9fa4780641377e4be926b241217f83
MD5 3fe25f416300b7a6441893a1d91744a8
BLAKE2b-256 25f2c23b54e9135addb3299b730b7eafffe5700cbebbd0839bb76532425d2f07

See more details on using hashes here.

File details

Details for the file agentpad-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agentpad-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for agentpad-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6fa720d48cfc1b11ea2b3e589b69d44e4fdeed5e01ee2c1b46fc2daca7b027c
MD5 0e85f7f586f8228f5358834165b93438
BLAKE2b-256 64f2957b155c48b71f4d19bf039c59361c164101c0c49a7f2874534d84e0d472

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page