Skip to main content

VeriGym

This is VeriGym.

Installation

Install VeriGym from PyPI using uv package manager:

uv pip install verigym
# alternatively using pip
pip install verigym

Supported: Python 3.12–3.15 on Linux and macOS. Windows is supported through Windows Subsystem for Linux (WSL).

On Python 3.14 and newer, the Box2D environments (e.g. LunarLander) are not installed automatically, because Box2D has to be compiled for that Python version. To use them, install SWIG (brew install swig or sudo apt install swig), then run pip install "gymnasium[box2d]" with the activated venv (alternatively just run uv add verigym).

Docker

Building an image

The Dockerfile in the docker directory builds an image for Linux and macOS (amd64 and arm64) with Python 3.14, the locked dependencies from uv.lock, and Julia 1.11.5 with the packages for the external-tools workflow. The Python, uv, and Julia versions can be set as build arguments.

Use ./docker/run-docker.sh build to build a localhost/verigym:latest Docker image (--prism optionally installs Java and PRISM).

To create the archives, build and save the image natively on each architecture, with Podman or with Docker as UID 1000: ./docker/run-docker.sh build && ./docker/run-docker.sh save writes verigym-<arch>.tar.gz.

A multi-platform image for a registry can be built with docker buildx build --platform linux/amd64,linux/arm64 -f docker/Dockerfile -t <registry>/verigym:<tag> --push ., which emulates the other architecture and is slow.

Running the container

Use ./docker/run-docker.sh test to run the tests, ./docker/run-docker.sh repro to run the example workflows (examples/run_workflows.sh), and ./docker/run-docker.sh shell for a shell. The repository is mounted at /workspace, so the image also works as a devcontainer image.

Network access

Prefix a command in ./docker/run-docker.sh with OFFLINE=1, e.g., OFFLINE=1 ./docker/run-docker.sh test to run the command without network access. The container can reproduce the paper without internet access, only building the image requires internet access. That means that with a given image, the artefact does not require internet access.

Artifact evaluation (prebuilt image)

With a prebuilt image, use the repository at the same commit as the image and do not run build (it needs network access and replaces the image):

./docker/run-docker.sh load verigym-amd64.tar.gz  # Intel/AMD; use verigym-arm64.tar.gz on Apple Silicon and other ARM machines
OFFLINE=1 ./docker/run-docker.sh test
OFFLINE=1 ./docker/run-docker.sh repro

If you want to use the image that was published to GitHub's registry, use ./docker/run-docker.sh pull ghcr.io/ai-fm/verigym:<commit> instead of load. It needs network access once, and Docker or Podman picks the image for your architecture.

The image runs as UID 1000. Docker Desktop (macOS) and Podman work for any user; with Docker Engine on Linux your UID must be 1000 (usually the first account), otherwise build the image yourself with ./docker/run-docker.sh build (requires internet access).

Contribution Guide

Please check out the contribution guide for branch naming, testing, naming conventions, etc.

Metadata

Release files for verigym 0.1.0

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

Source distribution (sdist)

Source distribution for verigym 0.1.0
File Size Uploaded Provenance Actions
verigym-0.1.0.tar.gz 86.4 kB With provenance Details for verigym-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for verigym 0.1.0
File Interpreter ABI Platform Actions
verigym-0.1.0-py3-none-any.whl Python 3 none any Details for verigym-0.1.0-py3-none-any.whl

Total release size: 192.1 kB

Release files / verigym-0.1.0.tar.gz

Download URL verigym-0.1.0.tar.gz
Size 86.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b2975624234b5709b093c5a1aff3dd45e07d03383880d109c920836e84ac620c
BLAKE2b-256 checksum
How to use checksums
7445697fb8b35083e53206db666c5d2191ea177b5907024dd8320c949be547c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / verigym-0.1.0-py3-none-any.whl

Download URL verigym-0.1.0-py3-none-any.whl
Size 105.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f512176f728d484671a8339895f6f8573aaccdae7241a30dcb5a1764fc366576
BLAKE2b-256 checksum
How to use checksums
28f81c2a6d77baf5ba4fa2e28b38b0a09068937a9e2d1fd2d0f82678c14d5e03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Security for verigym 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for verigym-0.1.0.tar.gz

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 22, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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