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-new-pack — scaffold a new pack from the bundled template.
  • 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 pack in your catalog repository, add a start state, and check it:

raes-new-pack example-pack --title "Example Pack" \
  --description "A tiny example environment pack." --issue 1
# add sdl/example.sdl.yaml (above) and set the pack name in
# docs/provenance-ledger.yaml, then:
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.1.0.tar.gz (286.6 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.1.0-py3-none-any.whl (127.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: raes_env_packs-3.1.0.tar.gz
  • Upload date:
  • Size: 286.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 bbece7f93d0d20624e42ab66a1b48c2265625c8efa0d99f8240e111af23d2546
MD5 26bcdd0e0db057c15863f268826ef2d7
BLAKE2b-256 9b5c2eaa627b120ecab918262c11d3a81897761150773c132a1dccb350d6fe18

See more details on using hashes here.

Provenance

The following attestation bundles were made for raes_env_packs-3.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: raes_env_packs-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 127.3 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23206284e8e44d14328faa1569782d6315b55b70bab5e567b99c3a3ee57e7e70
MD5 cdb7f517e27f0783828eb2e60daab657
BLAKE2b-256 8be64b20597ebd4644ba6c1cb09659270e78db1ea847132e5f285d8c7496a199

See more details on using hashes here.

Provenance

The following attestation bundles were made for raes_env_packs-3.1.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