RAES Environment Packs
The canonical, shared home for the RAES environment-pack definition and the authoring / validation tooling that goes with it, published as an installable Python package so catalogs (and others) consume one version-matched artifact instead of vendoring the contract.
This repository does not host environment packs. Packs live in their own catalog repositories and consume this contract.
Install
pip install raes-env-packs
This provides the console tools plus the version-matched schemas and template:
raes-pack-validate— validate pack content against the contract.raes-pack-release— boundary-split build, lint, release, and profile-smoke gate.raes-new-pack— scaffold a new pack from the bundled template.raes-pack-issue-skeleton— generate a pack work-issue skeleton.
Validate one pack by pointing the tools at its directory:
raes-pack-validate --pack ./environments/example-pack
raes-pack-release check --pack ./environments/example-pack
As a convenience, a directory containing only pack directories can be checked in one command. Every direct child directory is treated as a pack candidate:
raes-pack-validate --packs-root ./environments
raes-pack-release check --packs-root ./environments
Consumers can validate one immutably staged pack in-process, without Git, subprocesses, or pack-local code:
from raes_env_packs import validate_pack
result = validate_pack(pack_root)
if not result.ok:
reject(result.errors)
This checks the static ingest contract: pack identity, required provenance and safety/review policy, an optional referenced compatibility manifest, and direct SDL documents through RAES. Diagnostics contain bounded error codes and relative locations, never source bodies or absolute paths. See Single-Pack Consumer Validation.
What's here
- Definition
docs/environment-packs.md— what an environment pack is.- Migration from the retired package identity.
- Layout contract + schemas + template ship as package data under
src/raes_env_packs/resources/(contract/pack-layout.md,schemas/,template/). - Architecture Decision Records — purpose, packaging, build/release, SBOM.
- Tools — the package modules under
src/raes_env_packs/, exposed as the console entry points above.
Boundary
This repository is subordinate to RAES core (raes): it exists to make
authoring and shipping RAES scenarios easier, and defines no extensions to
RAES semantics
(ADR 0021).
- RAES core owns the Scenario Definition Language (SDL) and all scenario semantics. Where RAES owns a concept, packs consume it from RAES.
- This repository owns how an environment pack is structured, authored, validated, and released — the layout and the tools that enforce it.
- Downstream catalogs hold the actual packs and any private runtime, delivery, or product integrations.
Development
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
python -m unittest discover -s tests
Releases are managed by release-please — merge-driven, nothing hand-run
(see ADR 0008). The version
lives in pyproject.toml ([project].version) and is bumped by release-please;
__version__ derives from it. The Conventional Commit PR title decides the
bump:
| PR title | Bump |
|---|---|
feat!: / BREAKING CHANGE: |
major (pre-1.0: minor) |
feat: |
minor |
fix: / perf: |
patch |
docs: chore: refactor: test: ci: build: |
no release |
You never edit CHANGELOG.md — release-please owns it. As feature PRs land on
main (via dev), release-please keeps a chore(main): release X.Y.Z PR up to
date with the version bump + changelog. Merge that PR to release: it tags
vX.Y.Z, builds the sdist + wheel, generates a CycloneDX SBOM, publishes to PyPI
via OIDC, and cuts the GitHub Release. (The release PR is opened by the CI token,
so its checks don't auto-run — admin-merge it.) A CI check enforces conventional
PR titles and bans agent-branding prefixes.
Licensed under the MIT License (see LICENSE).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file raes_env_packs-3.0.0.tar.gz.
File metadata
- Download URL: raes_env_packs-3.0.0.tar.gz
- Upload date:
- Size: 212.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3d228f2219865c4366b6bf41149b7545ba566848a9f74e63831c1db652c8385
|
|
| MD5 |
b575a41fc930eb8558bcfee17b1b104a
|
|
| BLAKE2b-256 |
ac82e2a571f7b7a9e1183c6e2cc5d92e5571bd00b95becfc78237219fca80a5f
|
Provenance
The following attestation bundles were made for raes_env_packs-3.0.0.tar.gz:
Publisher:
release-please.yml on RAESystem/env-packs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
raes_env_packs-3.0.0.tar.gz -
Subject digest:
a3d228f2219865c4366b6bf41149b7545ba566848a9f74e63831c1db652c8385 - Sigstore transparency entry: 2266110468
- Sigstore integration time:
-
Permalink:
RAESystem/env-packs@83d5a2662a44d89c8a5e640b2ea8329265715bb5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RAESystem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@83d5a2662a44d89c8a5e640b2ea8329265715bb5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file raes_env_packs-3.0.0-py3-none-any.whl.
File metadata
- Download URL: raes_env_packs-3.0.0-py3-none-any.whl
- Upload date:
- Size: 97.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f25db0d26e5daba1bcedb026eeec013f0158e8566fc8e3d06172902b633ffdf
|
|
| MD5 |
37038ca35aa299c7987cb8b4afdd4bff
|
|
| BLAKE2b-256 |
a7105f31d30dd1807cc664046112947344fe4fa7f73fa66375b199107f45e53c
|
Provenance
The following attestation bundles were made for raes_env_packs-3.0.0-py3-none-any.whl:
Publisher:
release-please.yml on RAESystem/env-packs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
raes_env_packs-3.0.0-py3-none-any.whl -
Subject digest:
9f25db0d26e5daba1bcedb026eeec013f0158e8566fc8e3d06172902b633ffdf - Sigstore transparency entry: 2266110662
- Sigstore integration time:
-
Permalink:
RAESystem/env-packs@83d5a2662a44d89c8a5e640b2ea8329265715bb5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/RAESystem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@83d5a2662a44d89c8a5e640b2ea8329265715bb5 -
Trigger Event:
push
-
Statement type: