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.0.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.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: workspace_runner-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 35074f179051599884ff3b527fe6ecf1e4a0ac438131629d0b23c5bd42113e18
MD5 592d5cd5fe5de608e42db9dcd6fd061b
BLAKE2b-256 57366f4d782f47972feb6b7516aac35fcca5f41599fb616d3aa37ab4147c023b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for workspace_runner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86df9d3eb3d0f507522d495a299cc27f237684d44df43e7d9ab82f4756937ebc
MD5 e41b029b2f90f413208edf36be8d2d9d
BLAKE2b-256 06219274fdc27bf5cd16a2f694fd23ea7fb5610eb5549f357ee38590cd7453ab

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

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