Skip to main content

Rivet

An OpenVPN control plane for restricted IoT and edge networks. Rivet provides a REST API, web UI, and private VPN agent for client certificates, fixed addresses, routes, and controlled access between VPN peers.

Tests CodeQL Package

Install

Both deployment options use an unprivileged API and a separate privileged agent on Linux. OpenVPN continues forwarding traffic during an API outage.

Deployment Packages or images Guide
Native Linux sciaiot-rivet[api] and sciaiot-rivet-agent in separate Python 3.14+ environments Native installation
Docker Compose rivet-api, rivet-agent, rivet-openvpn, rivet-web from your registry Container deployment

The API command is rivet; the agent command is rivet-agent. Do not install the unrelated PyPI package rivet. Installing a wheel alone does not provision OpenVPN or the browser UI; follow the complete installation guide.

Builds and deployments are provider-independent. The supplied authenticated API/UI configuration uses Microsoft Entra ID. Azure Blob Storage is optional. SQLite is the reference database; extras support MySQL and PostgreSQL. See configuration and production deployment for identity, HTTPS, network, and release requirements.

Package/image publication and deployment acceptance requirements are tracked in release readiness.

Use

Start with the user guide to register clients, assign addresses, distribute credentials, and manage restricted networks. A device AccessGrant controls application visibility; a restricted network controls VPN traffic. They are separate policies.

The API exposes its schema at /openapi.json and interactive reference at /docs (under /api through Nginx). Management calls require the appropriate verified permission. See API authorization and agent mapping.

For existing VPN installations, use the migration toolkit. Whole-application backups use the backup and recovery section.

Develop

See local development for Python setup, the authenticated API/agent stack, and isolated UI testing. Frontend commands and implementation conventions live in frontend/README.md.

From an environment with requirements-dev.txt installed:

ruff format --check .
ruff check .
mypy .
pytest --cov=src/sciaiot/rivet --cov-report=term-missing

Ordinary tests mock privileged operations and cloud services. Live VPN tests are explicitly invoked on disposable Linux infrastructure; see the integration harness guide.

The documentation index links current operational and engineering references, including the architecture.

Metadata

Release files for sciaiot-rivet 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sciaiot-rivet 0.1.7
File Size Uploaded
sciaiot_rivet-0.1.7.tar.gz 272.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sciaiot-rivet 0.1.7
File Interpreter ABI Platform
sciaiot_rivet-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 461.7 kB

Release files / sciaiot_rivet-0.1.7.tar.gz

Download URL sciaiot_rivet-0.1.7.tar.gz
Size 272.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bce9e6f688bbe7c0d31843b3bd95c93175c5261251790ce0f58fa2a5d4e07c60
BLAKE2b-256 checksum
How to use checksums
3baf94b699722481c17ef015b2fdef2624bb27967ba1a7becea999dfcbb00c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / sciaiot_rivet-0.1.7-py3-none-any.whl

Download URL sciaiot_rivet-0.1.7-py3-none-any.whl
Size 189.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
290ebc7b45860fface80862795ce61821be118e60d25901b02c9c6dd3385484a
BLAKE2b-256 checksum
How to use checksums
9e8ada78cac7fb552d75e8be3af59eacd67d5a9b591bf462413efc0b5222eb85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page