Skip to main content

RAES Environment Packs

PyPI Python Documentation License: MIT OpenSSF Scorecard OpenSSF Best Practices

RAES environment packs give a scenario a standard shape. This package defines that shape and gives you the tools to build, check, and ship a pack.

A pack holds the declarative content for one reference environment: the scenario start state, its assets, and a record of where the content came from. Authors build packs; consumers validate a pack before they trust it. The format and the tools ship together, so you validate a pack against the same version you built it against.

This repository defines and validates the format. It does not host packs — those live in their own catalog repositories.

What a pack looks like

example-pack/
├── pack.yaml                  # identity: name, title, version, status
├── sdl/example.sdl.yaml       # the scenario start state (RAES SDL)
└── docs/
    └── provenance-ledger.yaml # where the content came from

The start state is small to begin with:

name: example-pack
nodes:
  target:
    type: vm

Install

pip install raes-env-packs

That installs four command-line tools and the importable library:

  • raes-pack-new — scaffold a new pack with a progressive wizard.
  • raes-pack-validate — the author-CI check for a catalog checkout.
  • raes-pack-release — build, lint, and release-gate a pack.
  • raes-pack-issue-skeleton — generate a pack's starter GitHub issues.

Validate your first pack

Scaffold a valid minimal pack in your catalog repository and check it. The wizard generates only the files the pack needs, formats the scenario identity through RAES, and validates the result before it lands:

raes-pack-new example-pack --route minimal --yes
python -c "from raes_env_packs import validate_pack; print(validate_pack('environments/example-pack').ok)"
True

validate_pack is the check a consumer runs before trusting a pack: it reads the staged files, returns a result, prints nothing, and never runs the pack's code. The quickstart walks through it step by step.

Choose your route

Full documentation is on Read the Docs.

What this is and is not

This project defines the pack format and the tools that check it. It does not host packs, run a scenario, or define scenario meaning — the RAES scenario language and its semantics belong to RAES, and this project consumes them from an exactly pinned raes release. It is a single-maintainer project with no support SLA. See the limitations for the full picture.

Contributing

python3 -m venv .venv
. .venv/bin/activate
pip install -e .
python -m unittest discover -s tests

CONTRIBUTING.md has the full setup, test, and submission path. Maintainer records — decision records, CI, and release mechanics — are indexed in docs/README.md.

Releases

Releases are managed by release-please: merge-driven, nothing hand-run. Your Conventional Commit PR title is the release decision — feat: is a minor bump, fix: a patch, docs:/chore: no release. You never edit the version or CHANGELOG.md; release-please owns both. See CONTRIBUTING.md for the details.

License

MIT — 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.3.0.tar.gz (343.0 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.3.0-py3-none-any.whl (158.1 kB view details)

Uploaded Python 3

File details

Details for the file raes_env_packs-3.3.0.tar.gz.

File metadata

  • Download URL: raes_env_packs-3.3.0.tar.gz
  • Upload date:
  • Size: 343.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for raes_env_packs-3.3.0.tar.gz
Algorithm Hash digest
SHA256 c27d462ef50d99da99da0bdf4e7ec22b13d9e7df5172c4e2d91d9f3e8251f0b8
MD5 486026e451b4a834e3b42f7a5dad99b1
BLAKE2b-256 62479f62733b5ee4442eef41d5c0942963b906025655be76bbcf4c54b666f522

See more details on using hashes here.

Provenance

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

Publisher: release-please.yml on OpenRAE/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.3.0-py3-none-any.whl.

File metadata

  • Download URL: raes_env_packs-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 158.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for raes_env_packs-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24a500d209f95fc0359a96250a4a7552b8ec13ae2eb77758d2fd8d854b262cbc
MD5 78f734d12c83e1e04c04d1b5c6f23b7a
BLAKE2b-256 2dd2a646c7a13b0b1117b4218923bcd16203e999f44f477f7fafc9faccead241

See more details on using hashes here.

Provenance

The following attestation bundles were made for raes_env_packs-3.3.0-py3-none-any.whl:

Publisher: release-please.yml on OpenRAE/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