Skip to main content

RAES Environment Packs

OpenSSF Scorecard Documentation OpenSSF Best Practices

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

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

raes_env_packs-3.0.0.tar.gz (212.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

raes_env_packs-3.0.0-py3-none-any.whl (97.1 kB view details)

Uploaded Python 3

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

Hashes for raes_env_packs-3.0.0.tar.gz
Algorithm Hash digest
SHA256 a3d228f2219865c4366b6bf41149b7545ba566848a9f74e63831c1db652c8385
MD5 b575a41fc930eb8558bcfee17b1b104a
BLAKE2b-256 ac82e2a571f7b7a9e1183c6e2cc5d92e5571bd00b95becfc78237219fca80a5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for raes_env_packs-3.0.0.tar.gz:

Publisher: release-please.yml on RAESystem/env-packs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for raes_env_packs-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f25db0d26e5daba1bcedb026eeec013f0158e8566fc8e3d06172902b633ffdf
MD5 37038ca35aa299c7987cb8b4afdd4bff
BLAKE2b-256 a7105f31d30dd1807cc664046112947344fe4fa7f73fa66375b199107f45e53c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page