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/.tsscripts;.tsviaesbuild-runner) - php with a repo
vendor/autoload.php(for.phpscripts) - uv (for the
aws-sdk-python/smithy-pythonmonorepos) - a repo
.venv(forboto3/botocore), else falls back topython3
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
932848829906dfd4e5b3b31e16a9198142975db8ea9b7714f0b6cabe3fd45e5a
|
|
| MD5 |
e7b45754fd00c6c306bb8ac902448190
|
|
| BLAKE2b-256 |
d5e712ed2fe324fdeb20d5cad7483baacb2a98b710b908102e93038f931a15eb
|
File details
Details for the file workspace_runner-0.1.1-py3-none-any.whl.
File metadata
- Download URL: workspace_runner-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d90cd1c91f771f202d97d6e426f1f5a7a0cb56d7ef921c246ac7a8da5653514c
|
|
| MD5 |
705a77e4794ad16d19f1e794e5743adf
|
|
| BLAKE2b-256 |
37ba1ec42aaf73feb21648d18967c9e23fe151a1b5a9bdcc40146190a68a0123
|