Skip to main content

Reproducible Agentic Environments System

CI Docs OpenSSF Scorecard PyPI Python License: MIT

RAES, the Reproducible Agentic Environments System, helps you describe and check an agentic environment. RAES SDL is its YAML language for authored scenarios.

You can use RAES to record nodes, links, participants, objectives, workflows, variation, and evidence needs without tying the scenario to one deployment backend.

Validate your first scenario

You need standard CPython 3.11 through 3.14. Python 3.15 is not admitted until its post-final dependency and compatibility qualification is complete. OCI module extraction on Python 3.11 additionally requires Python 3.11.4 or newer. Earlier patch releases lack the mandatory safe tar extraction filter and fail closed instead of extracting without it.

python -m venv .venv
source .venv/bin/activate
python -m pip install raes

Save this file as first-scenario.sdl.yaml:

name: first-scenario
description: A small network with one Linux host.

nodes:
  lab-network:
    type: Switch
  web:
    type: compute
    os: linux
    resources:
      ram: 2 GiB
      cpu: 1

infrastructure:
  lab-network:
    count: 1
    properties:
      cidr: 10.0.0.0/24
      gateway: 10.0.0.1
  web:
    count: 1
    links:
      - lab-network

Validate it:

python - <<'PY'
from pathlib import Path
from raes import parse_sdl_file

scenario = parse_sdl_file(Path("first-scenario.sdl.yaml"))
print(f"Validated {scenario.name} with {len(scenario.nodes)} nodes.")
PY

The command prints:

Validated first-scenario with 2 nodes.

RAES has checked the file shape and current semantic rules. It has not created infrastructure. Continue with the quickstart to learn what each part means.

Choose your route

Understand what RAES promises

An authored scenario records intent. A processor and backend may turn supported parts of that intent into runtime resources. Reports and evidence show what was accepted, changed, observed, or left unsupported.

RAES can support a bounded reproduction attempt. It does not promise deterministic runtime behavior, equal outcomes, exact replay, scientific validity, or reproducibility.

The repository does not include a production deployment backend or a managed environment service. It includes contracts, stubs, examples, conformance checks, and reference code. Read the current limits before choosing it for a study or integration.

See where RAES fits

Cyber, AI security, AI safety, testing, research, and evaluation are non-exhaustive application areas. Additional domains can add their own profiles, assets, examples, vocabularies, backends, and evidence rules.

RAES separates these concerns:

  • Authored scenario: The meaning written in RAES SDL.
  • Processor: The code that validates, expands, and compiles that meaning.
  • Backend: The implementation that accepts a supported runtime request.
  • Runtime: The resources and participant activity that occur during a run.
  • Evidence: The records used to state and inspect a bounded result.

The strongest current examples come from cyber ranges and agent evaluation. The core model is not limited to those areas.

Work from a repository checkout

Install the locked development environment:

git clone https://github.com/OpenRAE/rae.git
cd rae
uv sync --project implementations/python --all-extras --frozen
uv run --project implementations/python raes --help

Run the canonical verification graph:

uv run --project implementations/tooling/python --frozen --no-default-groups nox -f noxfile.py -s verify

Useful repository roots are:

  • docs/public/ for hosted reader documentation;
  • docs/README.md for developer and working records;
  • specs/ for normative specifications;
  • contracts/ for published schemas and fixtures;
  • examples/ for authored scenarios and reusable patterns;
  • implementations/python/ for the reference implementation.

Project status

RAES is an academic and engineering project with one maintainer. Contributions are welcome. The project does not require a second maintainer or independent reviewer for every change.

Release Please owns package versions, GitHub releases, and CHANGELOG.md. Published schemas carry separate stability labels. See GOVERNANCE.md and MAINTAINERS.md for the current decision and maintenance model.

Cite RAES

@software{raes,
  author  = {Edwards, Brad},
  title   = {RAES: Reproducible Agentic Environments System},
  year    = {2026},
  license = {MIT},
  url     = {https://github.com/OpenRAE/rae}
}

RAES is released under the MIT License. Third-party notices are in THIRD_PARTY_NOTICES.md.

Metadata

Release files for raes 4.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 raes 4.1.0
File Size Uploaded
raes-4.1.0.tar.gz 3.9 MB Details

Built distribution (wheel)

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

Total release size: 7.5 MB

Release files / raes-4.1.0.tar.gz

Download URL raes-4.1.0.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
283f4b1a57cadd9cc7e0bda0a6b468ea784c4f060ebb7829052e861c85d58d09
BLAKE2b-256 checksum
How to use checksums
6fb0ee1f7f217f7b9c8e7cd3507d8f0447d4e0e793f4031881033ca177951c7c
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 Sep 13, 2026.

Transparency log

Release files / raes-4.1.0-py3-none-any.whl

Download URL raes-4.1.0-py3-none-any.whl
Size 3.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
25ef831a62b8138c9a7bf556ca1eacf88de80aca28908981b9e85931c042a8c9
BLAKE2b-256 checksum
How to use checksums
36e340b97fceb9d7f1c5383462db25b66c6728609e2b83063c6aed88371fad49
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 Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

7.0.0

2 release files

6.0.1

2 release files

5.0.0

2 release files

This release

4.1.0 This release

2 release files

3.5.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

0.25.0

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