Installation¶
Install pVisor on the machine that will execute tool commands: your computer for the local workflow, or a Linux/KVM node for the infrastructure example. Current release packages support Linux x86_64 and Apple Silicon macOS; installation requires neither Rust nor a kernel build toolchain.
1. Install the CLI¶
Use Python 3.10 or newer, preferably in a dedicated virtual environment:
python3 -m venv ~/.venvs/pvisor
source ~/.venvs/pvisor/bin/activate
python -m pip install pvisor-sandbox
pvisor --version
The command should print the pVisor version. Reactivate this environment in each new terminal. You can also install into an existing project virtual environment.
2. Prepare your chosen environment¶
Complete only the setup for your chosen path. Neither quick-start example requires a model account or API key.
Local workflow¶
The example uses local tools and a workspace, with the Host executor staging file changes. No VM image, Docker or Podman is required. Prepare Git, Bash and the filesystem-mount support for your platform:
- Linux x86_64: FUSE mounting support is required, with access to
/dev/fuseand a usablefusermount3orfusermountcommand. The example's isolation mode also requires permission to create user namespaces; see the Host executor for platform boundaries. - Apple Silicon macOS: install macFUSE 5.4.0 or newer, then enable macFUSE in System Settings → General → Login Items & Extensions → File System Extensions:
macOS uses macFUSE's FSKit backend without loading a kernel extension or reducing boot security. If FSKit is unavailable, execution fails instead of falling back to direct writes. Staging requires --safe or --stage; ordinary Host Jobs write directly to the workspace by default.
Execution infrastructure¶
Prepare the Linux x86_64 node that will run the example:
- KVM and isolation permissions: the current account needs read/write access to
/dev/kvmand permission to create user namespaces. Forsetgroupsoruid_maperrors, ask the administrator to check user namespace and AppArmor policies. KVM permissions do not replace these requirements; AppArmor rules must match the actual CLI path. - Caller environment: install Git and Bash, and run the caller script in the Python environment from the previous step. The task image supplies Python, project code and test dependencies inside the VM; it does not inherit the Host virtual environment.
- Image access: first use requires access to Docker Hub and sufficient disk space to cache the image, but no Docker Daemon. See the VM executor guide for offline preparation.
The example script creates the VM; you do not need to start one manually. See the VM executor guide for other VM platforms, rootfs and mount options.
3. Choose a quick start¶
| Your goal | Start here |
|---|---|
| Run commands locally, then review and accept file changes | Local workflow: run and review |
| Execute tools from a caller script and return feedback to an Agent or framework | Execution infrastructure: tool execution integration example |
Consult Choose an executor when you need a different execution environment.
Other installation and maintenance options¶
Upgrade and uninstall¶
Run these commands in the Python environment where pVisor is installed:
python -m pip install --upgrade pvisor-sandbox
# Uninstall when needed:
python -m pip uninstall pvisor-sandbox
Before upgrading, check release notes and deployed PVISOR_* settings. Uninstalling leaves Job state and user caches in place.
Homebrew and native downloads¶
Install from the project Homebrew tap:
brew tap DeepLink-org/formula https://github.com/DeepLink-org/Formula.git
brew install DeepLink-org/formula/pvisor
The explicit repository URL is required because the tap is named Formula, rather than homebrew-formula. The tap contains package metadata; binaries come from GitHub Releases. Update with brew update and brew upgrade DeepLink-org/formula/pvisor.
To install without Python, download the native archive for your platform and SHA256SUMS from GitHub Releases. Verify and extract the archive, add its bin directory to PATH, and keep its files together. Replace the complete directory when upgrading.
See the release guide for Homebrew tap publication requirements and configuration.
Job startup requires the executable and its ancestor directories to be owned by
you or root and not writable by other users; root-owned sticky directories such
as /tmp are allowed. Homebrew may create its Cellar with group write permission.
If startup reports unsafe owner executable ancestor, inspect the named directory.
For a single-owner Homebrew installation whose Cellar is group-writable, remove
write permission for group and other users before testing:
This changes that directory's permissions, without recursing into installed packages. For a shared Homebrew installation that needs group write access, install the wheel or native archive under your own protected directory instead.
Nightly and source builds¶
Install a nightly build from main inside the activated Python environment:
curl -fsSL https://raw.githubusercontent.com/DeepLink-org/pvisor/main/scripts/install-nightly.sh | bash
To modify or build the native programs, follow the development instructions to obtain the source, prepare the toolchain and build the CLI.
Single-node Daemon¶
Release packages include pvisor-daemon. For OpenSandbox/E2B SDK access, follow the Daemon guide to prepare a Linux/KVM node and delegated cgroup v2, and check support for your chosen APIs. Both quick-start examples use the CLI and require no running Daemon.