Observed since 20 Oct, 17:27 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Sandboxed tool runtime and provider abstraction for the ABI ecosystem
Sandboxed file operations and model provider abstraction for AI agent execution. Enforce workspace boundaries, path allowlists, and provider-agnostic model calls.
Zero dependencies.
pip install abi-runtime
Status: Not yet published to PyPI. Install from source:
pip install -e .from the repo root.
from pathlib import Path
from abi_runtime.sandbox import WorkspaceSandbox
# Create a sandbox rooted at the current workspace
sandbox = WorkspaceSandbox(
workspace_root=Path("."),
allow_patterns=["src/**", "tests/**"],
deny_patterns=["*.env", ".git/**", "node_modules/**"],
)
# Safe file operations — path traversal and symlink escapes are blocked
content = sandbox.safe_read("src/main.py")
sandbox.safe_write("tests/output.txt", "result data")
files = sandbox.safe_list("src/")
from abi_runtime.providers import MockProvider, ProviderSettings
# Use the mock provider for deterministic testing
provider = MockProvider(default_response="Test output")
provider.set_response("auth", "OAuth2 implementation plan")
response = provider.generate("Design an auth system")
print(response.text) # "OAuth2 implementation plan"
print(response.usage) # {"input_tokens": ..., "output_tokens": ...}
# All invocations are recorded for assertions
assert len(provider.invocations) == 1
Provider protocol with MockProvider for testing and LocalProviderStub for offline useRelated packages:
Follows Semantic Versioning. Current version: 0.1.2. See CHANGELOG.md for release notes.
MIT License (see LICENSE file).
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.2 | 14 Mar 2026 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:27 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f4d955db1e802612d77fcebeabdbd01ba5592e19a7021a4f8b5208dcd23b9804