Skip to main content

workspace-runner

A fuzzy dev-workspace script dispatcher. From anywhere inside a known repo, it walks up to the repo root, detects the repo type by a unique path signature, fuzzy-matches a script in that repo's workspace/ directory, and execs it with the correct runtime (node / esbuild / php with autoloader / repo venv / uv run) so it runs against the local repo source/build.

The shipped registry covers a subset of the AWS SDK client repos (aws-sdk-js-v3, smithy-typescript, aws-sdk-python, smithy-python, boto3, botocore, aws-sdk-php, smithy-php); edit REGISTRY in cli.py to add your own.

Install

pipx install workspace-runner    # recommended: isolated, just puts the CLI on PATH
# or
pip install workspace-runner

This installs a command named workspace-runner.

Want to type r?

r is intentionally not shipped as the command name (it collides with shell aliases and the R toolchain). Alias it yourself:

echo 'alias r=workspace-runner' >> ~/.zshrc   # or ~/.bashrc

Usage

cd ~/work/boto3/some/subdir
workspace-runner demo            # runs the best workspace/ script matching "demo"
workspace-runner list buckets    # each word must appear, in order, in the path

Prerequisites

The dispatcher shells out to language runtimes it does not install:

  • node and npx (for .js/.mjs/.ts scripts; .ts via esbuild-runner)
  • php with a repo vendor/autoload.php (for .php scripts)
  • uv (for the aws-sdk-python / smithy-python monorepos)
  • a repo .venv (for boto3 / botocore), else falls back to python3

Publishing

make tools         # install build + twine
make testpublish   # upload to TestPyPI first
make publish       # upload to PyPI

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

workspace_runner-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

workspace_runner-0.1.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file workspace_runner-0.1.1.tar.gz.

File metadata

  • Download URL: workspace_runner-0.1.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for workspace_runner-0.1.1.tar.gz
Algorithm Hash digest
SHA256 932848829906dfd4e5b3b31e16a9198142975db8ea9b7714f0b6cabe3fd45e5a
MD5 e7b45754fd00c6c306bb8ac902448190
BLAKE2b-256 d5e712ed2fe324fdeb20d5cad7483baacb2a98b710b908102e93038f931a15eb

See more details on using hashes here.

File details

Details for the file workspace_runner-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for workspace_runner-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d90cd1c91f771f202d97d6e426f1f5a7a0cb56d7ef921c246ac7a8da5653514c
MD5 705a77e4794ad16d19f1e794e5743adf
BLAKE2b-256 37ba1ec42aaf73feb21648d18967c9e23fe151a1b5a9bdcc40146190a68a0123

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page