Skip to main content

Shim for pyproject-runner.

Project description

pyproject-runner-shim

pyproject-runner-shim provides a tiny convenience script to shorten the command used to execute pyproject-runner tasks from uv run rr TASK ... to rr TASK ....

pyproject-runner provides a simple, project-oriented method of defining developer scripts. It is a simple task runner, similar to taskipy or Poe the Poet, for running tasks defined in a pyproject.toml file.

Pyproject-runner-shim expects the rr shim to be executed from a uv-managed project directory or subdirectory, with or without pyproject-runner installed in the project's virtual environment. If pyproject-runner is installed in the project's virtual environment, then that version will be run using the virtual environment's python executable. Otherwise, it will use uv tool run to download and run pyproject-runner from an ephemeral environment. This offers flexibility in how projects use pyproject-runner.

Installation

Install with uv tool:

$ uv tool install pyproject-runner-shim

If uv complains that the tool bin directory is not on the PATH environment variable, use uv tool update-shell to update the PATH, or manually add it to your shell's configuration file. See the uv tool documentation for more information.

How it works

The package consists of a single rr script, mirroring the name of the main script from the pyproject-runner package, which uv installs into the uv tool bin directory. Using only the Python standard library, the script simply executes uv run -- python3 -m pyproject_runner, passing along any arguments provided to the script. This allows the shim to be used with any number of uv-based projects that may require different versions of pyproject-runner. uv automatically determines which virtual environment to used based on the current working directory. Or, if pyproject-runner isn't a project dependency, then it will be run from an ephemeral virtual environment, allowing it to be used with projects requiring python < 3.10.

Changelog

View the full changelog here.

License

pyproject-runner is licensed under a 3-Clause BSD licence.

Project details


Download files

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

Source Distribution

pyproject_runner_shim-0.3.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

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

pyproject_runner_shim-0.3.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file pyproject_runner_shim-0.3.0.tar.gz.

File metadata

File hashes

Hashes for pyproject_runner_shim-0.3.0.tar.gz
Algorithm Hash digest
SHA256 21c34c482e4256b6f56f59facd30e1e7ea9cdb796f3f2cb60d455cd83af527cc
MD5 efe359d046d98d2658a4c6b1e596044f
BLAKE2b-256 b836713798d7391a7f82c0af8b73bca9cb77fac966739b0e66882537ba362309

See more details on using hashes here.

File details

Details for the file pyproject_runner_shim-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyproject_runner_shim-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba1994fefeab28426e8a12ae6114c3c2bc77c7eca76bcebd4d63a3243812fc38
MD5 ff929c745f66863194fe1bac1de5055c
BLAKE2b-256 e573165a3d192b996539861fcfb009ef3376a6a1334a9d101c4cc14852053139

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page