This release is a pre-release and may not be stable for production use.
Friday Sandbox
Workspace management and interchangeable Docker, subprocess and mock execution backends for agent tools. Backend choice determines the isolation boundary.
Distribution: friday-framework-sandbox · Import: friday_sandbox
Python: 3.13.4+ · Status: alpha · License: MIT
Installation
python -m pip install "friday-framework-sandbox==0.1.0a4"
Friday distributions use the same release version; keep internal Friday dependencies aligned.
Quick start: test without executing code
import asyncio
from friday_sandbox import ExecutionResult, get_mock_sandbox
async def main() -> None:
sandbox = get_mock_sandbox()()
sandbox.set_response(ExecutionResult(stdout="Hello from a fixture", exit_code=0))
result = await sandbox.execute("print('not actually executed')")
print(result.stdout)
asyncio.run(main())
Expected output: Hello from a fixture. The mock records the request and returns the configured result; it does not execute the string or verify real isolation.
Backends and ownership
| API | Purpose and prerequisites |
|---|---|
get_docker_sandbox() |
Returns the Docker backend class; needs the Docker SDK and an available daemon/image |
get_subprocess_sandbox() |
Returns the host subprocess backend class; runs with host process privileges |
get_mock_sandbox() |
Returns the configurable mock class for tests |
WorkspaceManager |
Creates, tracks and cleans application-owned workspaces |
The factory helpers return classes, not connected instances. Inspect the selected backend's constructor and lifecycle before use. Workspace TTL and cleanup policies manage files; they do not create an operating-system security boundary. Subprocess execution is not container isolation. Docker isolation still depends on image, mounts, capabilities, network and daemon configuration; do not describe any backend as safe for arbitrary hostile code by default.
Development
Work from the monorepo root after the shared contributor setup. Run the focused suite:
uv run --no-sync pytest packages/friday-sandbox/tests_sandbox -q
Documentation and support
Execution tools · Sandbox design and contracts · Source · Issues · Contributing
License
MIT.
Metadata
Release files for friday-framework-sandbox 0.1.0a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| friday_framework_sandbox-0.1.0a4.tar.gz | 22.2 kB | Without provenance | Details for friday_framework_sandbox-0.1.0a4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| friday_framework_sandbox-0.1.0a4-py3-none-any.whl | Python 3 | none | any | Details for friday_framework_sandbox-0.1.0a4-py3-none-any.whl |
Total release size: 44.2 kB
Release files / friday_framework_sandbox-0.1.0a4.tar.gz
| Download URL | friday_framework_sandbox-0.1.0a4.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58ee8c2c5dbec5c27656e630c8eabd3f7208154a78eb151138639e5a77bd931c
|
|
BLAKE2b-256 checksum How to use checksums |
537703074a64dfa7a824760fac55c4697d059a63d51f438f8058da9abab1d471
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / friday_framework_sandbox-0.1.0a4-py3-none-any.whl
| Download URL | friday_framework_sandbox-0.1.0a4-py3-none-any.whl |
|---|---|
| Size | 21.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4381ed3e37853db84afee3db05ef3e4b1a8f980963b9a86965e4e19b2d5b8178
|
|
BLAKE2b-256 checksum How to use checksums |
ae0263f27ce26bb91841149991d307e54bfa13403f64abb65dd61a7d631b600d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for friday-framework-sandbox 0.1.0a4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.