Installing Pyvorin Edge
Install Pyvorin Edge on x86_64 or ARM64 Linux: prerequisites, verified steps, expected output at each stage, and fixes for common failures.
Published Jun 2, 2026
Introduction
This article walks you through installing Pyvorin Edge on your ARM64 gateway. We cover two methods: the automated curl install script (fastest), and the manual pip-based install (most transparent). We also explain exactly what gets installed where, how to verify the installation, and how to fix the most common errors beginners encounter.
Method 1: Automated Install with Curl
The fastest way to get started is the official install script. This script creates a Python virtual environment, installs the edge runtime and SDK, sets up default directories, and creates a starter configuration file.
Step 1: Run the Install Script
# Create the installation directory
mkdir -p ~/pyvorin-edge
cd ~/pyvorin-edge
# Download and run the installer
curl -fsSL https://install.pyvorin.com/edge/setup.sh | bash
What the script does behind the scenes:
- Checks that Python 3.12+ is available.
- Creates a virtual environment at
~/pyvorin-edge/.venv. - Upgrades
pip,setuptools, andwheel. - Installs
pyvorin-edge-runtimeandpyvorin-edge-sdkfrom PyPI. - Installs optional dependencies (
paho-mqtt) if requested. - Creates default directories:
config/,data/,logs/,cache/,kernels/. - Generates a starter
config.tomlat~/pyvorin-edge/config.toml. - Prints next-step instructions.
Step 2: Activate the Environment
source ~/pyvorin-edge/.venv/bin/activate
# Verify the CLI is available
pyv-edge --help
Method 2: Manual Installation with Pip
If you prefer to see every step, or if you need to install from a private package index, use the manual method.
Step 1: Install System Dependencies
# Raspberry Pi OS / Debian 12
sudo apt update
sudo apt install -y python3.12 python3.12-venv python3.12-dev \
build-essential gcc g++ libffi-dev
# Ubuntu 24.04
sudo apt update
sudo apt install -y python3.12-venv python3.12-dev build-essential libffi-dev
Step 2: Create the Virtual Environment
mkdir -p ~/pyvorin-edge
cd ~/pyvorin-edge
python3.12 -m venv .venv
source .venv/bin/activate
Step 3: Install Pyvorin Edge
# Upgrade packaging tools
pip install --upgrade pip setuptools wheel
# Install the runtime and SDK
pip install pyvorin-edge-runtime pyvorin-edge-sdk
# Optional: MQTT support
pip install paho-mqtt
Step 4: Create Directory Structure
mkdir -p ~/pyvorin-edge/{config,data,logs,cache,kernels}
Step 5: Create a Starter Config
cat > ~/pyvorin-edge/config.toml << 'EOF'
[sensors]
poll_interval_seconds = 5.0
[[sensors.devices]]
name = "demo_temp"
ingest_type = "simulator"
sensor_type = "temperature"
unit = "°C"
min_value = 0.0
max_value = 100.0
noise_std = 0.5
baseline = 21.0
[windows]
default_size = 100
default_dtype = "float"
[rules]
evaluation_interval_seconds = 10.0
items = []
[policies]
default_action = "allow"
rules = []
[cloud]
enabled = false
endpoint = ""
api_key = ""
batch_size = 100
flush_interval_seconds = 60.0
[privacy]
enabled = true
rules = []
[logging]
level = "INFO"
format = "json"
[health]
port = 8080
enabled = true
EOF
What Gets Installed Where
Understanding the file layout helps when you need to debug, back up, or upgrade.
Installation Paths
| Path | Purpose |
|---|---|
~/pyvorin-edge/.venv/ |
Python virtual environment with all packages |
~/pyvorin-edge/config.toml |
Main agent configuration file |
~/pyvorin-edge/data/ |
SQLite databases (edge_store.db, sync_queue.db) |
~/pyvorin-edge/logs/ |
Agent log files (if file logging is enabled) |
~/pyvorin-edge/cache/ |
Compiled Python bytecode, manifest caches |
~/pyvorin-edge/kernels/ |
Native compiled .so libraries from the compiler bridge |
~/.local/bin/pyv-edge |
CLI entry point (if installed with --user) |
Python Package Locations
Inside the virtual environment, the key packages live here:
# Runtime code
~/.venv/lib/python3.12/site-packages/pyv_edge_agent/
# SDK code
~/.venv/lib/python3.12/site-packages/pyvorin_edge/
# Key modules
pyv_edge_agent/main.py # EdgeAgent daemon
pyv_edge_agent/config.py # Config loader
pyv_edge_agent/privacy.py # PrivacyPolicy
pyv_edge_agent/cloud_sync/ # Queue and uploader
pyv_edge_agent/ingest/ # Sensor adapters
pyvorin_edge/pipeline.py # Pipeline class
pyvorin_edge/compiler_bridge.py # CompilerBridge
Verifying the Installation
Test 1: Import the Packages
source ~/pyvorin-edge/.venv/bin/activate
python3 -c "from pyv_edge_agent.main import EdgeAgent; print('Runtime OK')"
python3 -c "from pyvorin_edge.pipeline import Pipeline; print('SDK OK')"
python3 -c "from pyvorin_edge.compiler_bridge import CompilerBridge; print('Compiler OK')"
Test 2: Check the CLI
pyv-edge --help
# Expected output:
# usage: pyv-edge [-h] [--config CONFIG] [--once]
# Pyvorin Edge Agent
Test 3: Run a Single Iteration
cd ~/pyvorin-edge
pyv-edge --config config.toml --once
If this completes without errors and prints a JSON log line with "level": "INFO" and "msg": "EdgeAgent stopped", the core runtime is functional.
Test 4: Verify Health Endpoint
# In one terminal, start the agent
pyv-edge --config config.toml
# In another terminal, query health
curl http://localhost:8080/health | python3 -m json.tool
You should see a JSON response with "status": "healthy", system metrics, and queue depth.
Post-Install Checks
1. Compiler Toolchain
gcc --version
# Should print something like: gcc (Debian 12.2.0-14) 12.2.0
# Check that Python headers are present
ls $(python3 -c "import sysconfig; print(sysconfig.get_path('include')")/Python.h
# Should exist
2. NEON Support
# On ARM64 Linux, check CPU flags
grep -i neon /proc/cpuinfo | head -1
# Should contain 'neon' or 'asimd'
3. SQLite Version
python3 -c "import sqlite3; print(sqlite3.sqlite_version)"
# Should be 3.35.0 or newer for WAL mode support
4. Disk Space
df -h ~/pyvorin-edge
# Ensure at least 2 GB free for compilation and data growth
Troubleshooting Common Installation Errors
Error: "No module named 'pyv_edge_agent'"
Cause: You are running Python outside the virtual environment.
Solution: Always activate the venv first.
source ~/pyvorin-edge/.venv/bin/activate
Error: "Python 3.12 is required"
Cause: The system default Python is older.
Solution: Install Python 3.12 (see System Requirements article) and recreate the venv explicitly:
python3.12 -m venv ~/pyvorin-edge/.venv
Error: "Failed building wheel for ..."
Cause: Missing build dependencies (build-essential, libffi-dev, Python headers).
Solution:
sudo apt install -y build-essential libffi-dev python3.12-dev
Error: "Permission denied" during pip install
Cause: You are trying to install into the system Python without sudo, or the virtual environment was created with a different user.
Solution: Use a virtual environment. Never use sudo pip.
Error: "Could not find a version that satisfies the requirement pyvorin-edge-runtime"
Cause: PyPI is unreachable, or you are on an unsupported platform (e.g., 32-bit ARM).
Solution: Confirm your architecture:
uname -m
# Should print: aarch64
Next Steps
With Pyvorin Edge installed and verified, you are ready to run your first pipeline. Continue to the Edge Quick Start article for a complete "Hello World" walkthrough.
Where to go next
- Edge Quick Start — build your first pipeline on a fresh install
- Edge System Requirements — check your hardware and OS before you start
- systemd Service — keep the agent running across reboots