Skip to content

The eest CLI

eest

eest is a CLI tool that helps with routine tasks.

Usage:

eest [OPTIONS] COMMAND [ARGS]...

Options:

  -h, --help  Show this message and exit.

Subcommands

  • clean: Remove all generated files and directories.
  • images: Names and build plans of the hive simulator docker images.
  • info: Display EEST and system information.
  • make: Generate project files.

eest clean

Remove all generated files and directories from the repository.

If --all is specified, the virtual environment and .just directory will also be removed.

Args: all_files (bool): Remove the virtual environment and .just directory as well.

dry_run (bool): Simulate the cleanup without removing files.

verbose (bool): Show verbose output.

Note: The virtual environment and .just directory are not removed by default.

Example: Cleaning all generated files and directories and show the deleted items.

uv run eest clean --all -v

Output:

🗑️  Deleted: .just
🗑️  Deleted: .venv
🗑️  Deleted: src/cli/et/__pycache__
🗑️  Deleted: src/cli/et/commands/__pycache__
🗑️  Deleted: src/cli/et/make/__pycache__
🗑️  Deleted: src/cli/et/make/commands/__pycache__
...
🧹 Cleanup complete!

Usage:

eest clean [OPTIONS]

Options:

  --all          Remove the virtual environment and .just directories as well.
  --dry-run      Simulate the cleanup without removing files.
  -v, --verbose  Show verbose output.
  -h, --help     Show this message and exit.

eest images

Names and build plans of the docker images of the hive simulators.

The images and their tags are described in docs/running_tests/hive/images/.

Usage:

eest images [OPTIONS] COMMAND [ARGS]...

Options:

  -h, --help  Show this message and exit.

Subcommands

  • branch-tag: Print the image tag of BRANCH, e.g. glamsterdam-devnet-8.
  • plan: Print, as JSON, what a publishing run builds and how it tags it.
  • release-branch: Print the branch RELEASE_TAG was cut from, e.g. devnets/bal/7.

eest images branch-tag

Print the image tag of BRANCH, e.g. glamsterdam-devnet-8.

Usage:

eest images branch-tag [OPTIONS] BRANCH

Options:

  -h, --help  Show this message and exit.

eest images plan

Print, as JSON, what a publishing run builds and how it tags it.

Usage:

eest images plan [OPTIONS]

Options:

  --branch TEXT              Branch the images are built from. Required for a
                             push; for a release it is inferred from the tag
                             and checked when given.
  --sha TEXT                 Commit the images are built from; for a nightly,
                             the fill commit.  [required]
  --default-branch TEXT      Default branch; it owns the main line and the
                             `latest` tags.  [required]
  --release TEXT             Release to build the fixture, tests and simulator
                             images for, e.g. tests-glamsterdam-devnet@v8.1.4.
                             Without it and --nightly, the branch's channel
                             owner is rebuilt for a push.
  --nightly                  Plan a nightly fill: every image at --sha under
                             the nightly tags.
  --repository TEXT          GitHub repository publishing the images.
                             [default: ethereum/execution-specs]
  --release-repository TEXT  Repository holding the releases when it is not
                             the publishing one; releases are not forked.
  --resolve-commits          Resolve the planned release's commit from its tag
                             with git.
  --resolve-forks            Read each execute image's default fork from the
                             feature config at the release tag or fill commit.
  --github                   Join tag lists into space-separated strings for
                             GitHub Actions.
  -h, --help                 Show this message and exit.

eest images release-branch

Print the branch RELEASE_TAG was cut from, e.g. devnets/bal/7.

Usage:

eest images release-branch [OPTIONS] RELEASE_TAG

Options:

  --default-branch TEXT  Default branch; the main line's releases are cut from
                         it.  [required]
  -h, --help             Show this message and exit.

eest info

Display EEST and system information.

Usage:

eest info [OPTIONS]

Options:

  -h, --help  Show this message and exit.

eest make

Generate project files.

Usage:

eest make [OPTIONS] COMMAND [ARGS]...

Options:

  -h, --help  Show this message and exit.

Subcommands

  • env: Generate the default environment file (env.yaml).
  • test: Generate a new test file for an EIP.

eest make env

CLI command to generate the default environment file (env.yaml).

If an env.yaml already exists, this command will NOT override it. In that case, it is recommended to manually make changes.

Easter egg: Shows a random quote after creating the environment file.

Example: uv run eest make env

Output:

🎉 Success! Environment file created at: <path>/env.yaml

🚀 Well begun is half done. - Aristotle

Usage:

eest make env [OPTIONS]

Options:

  -h, --help  Show this message and exit.

eest make test

Generate a new test file for an EIP.

This function guides the user through a series of prompts to generate a test file for Ethereum execution specifications. The user is prompted to select the type of test, the fork to use, and to provide the EIP number and name. Based on the inputs, a test file is created in the appropriate directory with a rendered template.

Example: uv run eest make test

Usage:

eest make test [OPTIONS]

Options:

  -h, --help  Show this message and exit.