Skip to main content

ToolR - AI Generated Logo

In-project CLI tooling, with a Rust front-end.

Pronounced /ˈtuːlər/ (tool-er)

ToolR is a Python task runner that boots in milliseconds because the front-end is a Rust binary. Python only runs when you invoke a command, inside a per-repo uv-managed venv.

Tool runner -h steady-state First run Second run
toolr 10.4 ms 277.0 ms 21.8 ms
doit 83.4 ms 143.0 ms 88.9 ms
invoke 84.6 ms 101.7 ms 77.4 ms
nox 91.8 ms 395.9 ms 115.3 ms
duty 166.4 ms 188.5 ms 252.4 ms
python-tools-scripts 252.2 ms 340.3 ms 189.0 ms

<tool> -h, 20 runs, steady-state = mean of last 18. Measured on Apple M3 Pro / macOS 26.5 / arm64. Reproduce locally with python3 scripts/bench.py (stdlib-only; emits the table above to stdout).

Why ToolR

  • Sub-millisecond discovery. The CLI is a Rust binary. --help and Tab completion read a cached static manifest; Python never boots for non-execute paths.
  • No system-Python dependency. Toolr resolves a per-repo Python venv via uv on first invocation. The host OS doesn't need Python at all to install toolr — it's a single static binary.
  • Write Python, not framework boilerplate. Drop a tools/*.py file with a command_group and a @command decorator. Type hints become CLI arguments; Google-style docstrings become --help text.
  • First-class third-party command packages. Plugins ship a static toolr-manifest.json inside the wheel. Discovery is a glob + JSON parse; no Python import to find them.
  • Signed releases. Every release archive ships with a SLSA build-provenance attestation, and every release publishes a signed packslip manifest that mise verifies against the ToolR repository's signing identity, remembering the release workflow after the first install. The install scripts verify the attestation by default (requires the gh CLI); pass --verify-attestation=skip to bypass, accepting the supply-chain risk.

Two wheels, two roles

Package What it is Where it lives
toolr The Rust CLI binary you run from the shell. On $PATH, installed once.
toolr-py The Python runtime your tools/*.py import. In your tools/pyproject.toml.

Most projects want both: the CLI installed globally, toolr-py declared in the per-repo tools/pyproject.toml so from toolr import Context, command_group works when your commands run.

Install

Five first-class install paths.

mise

mise use packslip:github.com/s0undt3ch/ToolR@latest

# Pin a version
mise use packslip:github.com/s0undt3ch/ToolR@X.Y.Z

# Install machine-wide instead of per-project
mise use -g packslip:github.com/s0undt3ch/ToolR@latest

Installs toolr from its signed packslip manifest via mise's packslip backend — no plugin to register. mise verifies the release against the ToolR repository's signing identity, remembering the release workflow after the first install, and checks the digest and size of the archive for your platform before unpacking it. For projects that already pin tool versions via .mise.toml, toolr's version becomes part of your project's reproducible tool set. Releases before packslip support have no manifest to install from; use mise use aqua:s0undt3ch/ToolR@<version> for those. See docs/installation/mise/.

pip

pip install toolr   # Rust CLI binary

This installs the toolr binary into whatever venv pip is pointing at. Do not pip install toolr-py into that same venv — toolr-py is the Python runtime your tools/*.py files import, and it belongs in the per-repo tools venv that toolr project init scaffolds for you (where it's declared in tools/pyproject.toml and materialised via uv sync). See "Two wheels, two roles" above for the split.

curl | sh (Linux + macOS)

curl -fsSL https://raw.githubusercontent.com/s0undt3ch/ToolR/main/installation/install.sh | sh

Verifies the SLSA attestation by default (requires the gh CLI; pass --verify-attestation=skip to bypass). Pin a version with sh -s -- --version X.Y.Z. Custom prefix: sh -s -- --prefix /opt/toolr/bin.

PowerShell (Windows)

irm https://raw.githubusercontent.com/s0undt3ch/ToolR/main/installation/install.ps1 | iex

GitHub release archives

Download toolr-<version>-<target-triple>.tar.gz (or .zip for Windows) from https://github.com/s0undt3ch/ToolR/releases, verify the .sha256 sibling and the SLSA attestation, drop the binary on $PATH. Useful in locked-down environments that audit binaries before allowing them on a machine.

Scaffold your repo

After the binary is on $PATH:

toolr project init                  # writes tools/{pyproject.toml,.gitignore,example.py}
toolr example hello                 # run the generated example
toolr self completion install bash  # or zsh / fish

The full install matrix (per-OS notes, attestation flags, prefix overrides) lives in docs/installation/.

What you write

# tools/example.py
"""Example commands."""
from toolr import Context, command_group

example = command_group("example", title="Example", description=__doc__)


@example.command
def hello(ctx: Context, name: str = "world") -> None:
    """Say hello to <name>.

    Args:
        name: who to greet.
    """
    ctx.print(f"Hello, {name}!")
$ toolr example hello --name Pedro
Hello, Pedro!

toolr project init writes a richer four-command starter than this two-liner — open it and edit, or delete it and start from scratch.

Where to go next

Project status

ToolR is pre-1.0. The on-disk manifest is versioned (schema_version in tools/.toolr-manifest.json); the binary refuses to load a higher version than it understands. The public Python surface is toolr.__all__; anything not listed there is implementation detail. Backwards-incompatible changes will be explicit in the changelog (generated by git-cliff on release).

Contributing

See CONTRIBUTING.md.

License

Apache-2.0.

Metadata

Release files for toolr-py 0.34.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for toolr-py 0.34.0
File Size Uploaded Provenance Actions
toolr_py-0.34.0.tar.gz 286.4 kB With provenance Details for toolr_py-0.34.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for toolr-py 0.34.0
File Actions
toolr_py-0.34.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for toolr_py-0.34.0-cp311-abi3-win_amd64.whl
toolr_py-0.34.0-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details for toolr_py-0.34.0-cp311-abi3-musllinux_1_2_x86_64.whl
toolr_py-0.34.0-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details for toolr_py-0.34.0-cp311-abi3-musllinux_1_2_aarch64.whl
toolr_py-0.34.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for toolr_py-0.34.0-cp311-abi3-manylinux_2_28_x86_64.whl
toolr_py-0.34.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details for toolr_py-0.34.0-cp311-abi3-manylinux_2_28_aarch64.whl
toolr_py-0.34.0-cp311-abi3-macosx_11_0_x86_64.whl CPython 3.11 abi3 macOS 11.0+ x86-64 Details for toolr_py-0.34.0-cp311-abi3-macosx_11_0_x86_64.whl
toolr_py-0.34.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for toolr_py-0.34.0-cp311-abi3-macosx_11_0_arm64.whl

Total release size: 4.7 MB

Release files / toolr_py-0.34.0.tar.gz

Download URL toolr_py-0.34.0.tar.gz
Size 286.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bab95ccdcbbf1c95c9c4629e484de2316f233e4eb2e89f7364162ced26593dc2
BLAKE2b-256 checksum
How to use checksums
a1d19da01c598169a5961f65cd714a2194450a004264f304be8f2b8c7dab7f28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-win_amd64.whl

Download URL toolr_py-0.34.0-cp311-abi3-win_amd64.whl
Size 1.0 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3dde7887a3b12ddd338f7d9b3b8fba88b31c6ef683c63924cce2a902edb276cb
BLAKE2b-256 checksum
How to use checksums
ffbad116f808c1d3e0afd5a609a57aaccdb9143a025fc8accfdf53e5507b0a58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL toolr_py-0.34.0-cp311-abi3-musllinux_1_2_x86_64.whl
Size 493.7 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
2fa7f9c27b702ff98f2f06cc2326fd14b2d0f650d26d597205992257492b2079
BLAKE2b-256 checksum
How to use checksums
63a622fc43f2e3a4135c73326ced3345fd1a7d1d7f4feb8d3b4d4f5c8b2643e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL toolr_py-0.34.0-cp311-abi3-musllinux_1_2_aarch64.whl
Size 464.1 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
166c33b5a759d8da25bb68081cff21ac26b8b9b782f526464b168064c3831b53
BLAKE2b-256 checksum
How to use checksums
d50cef7f017bfbe62dc3b406607e0e5edb90dc73cf5385b826e5d75cfe1d7a12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL toolr_py-0.34.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 557.0 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
2fb4e45658052314bc427bb5498f26418fa0bb82ce04e2980883bdf01ad95332
BLAKE2b-256 checksum
How to use checksums
e541666acdcd38c80c87426ca4b828e0d89dbd892e6c578ab7ca1fcb511e93d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL toolr_py-0.34.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 397.7 kB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
91ebf2bb338ffbd4a30ce30eb73ec1ec44b764a71a3465c3f5304e356a41a94a
BLAKE2b-256 checksum
How to use checksums
a4cd0f77d7686f7f599a72db9f6501b4353f6e22ff8821a6e488cc35d25d8e26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-macosx_11_0_x86_64.whl

Download URL toolr_py-0.34.0-cp311-abi3-macosx_11_0_x86_64.whl
Size 808.7 kB
Tags CPython 3.11 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
c42c55130e95f6ff0bf4e4107c6b7148708e04cbf25b03f4a0a05bafc65e6c60
BLAKE2b-256 checksum
How to use checksums
0e09a65bfad4889a6f363955980491517089a03fdf19af0a6766df7dc758919c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / toolr_py-0.34.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL toolr_py-0.34.0-cp311-abi3-macosx_11_0_arm64.whl
Size 689.6 kB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7e9431d7ea60a6619a2f994e0536199bb716e25f00a6ae17d8d563aaa13b6693
BLAKE2b-256 checksum
How to use checksums
1673b4c84f597b68be51a6f71c73f7fe9dca839593bd774416a7e49af215ee97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for toolr-py 0.34.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 8 files in this release have been uploaded with provenance metadata.

Select from 8 files

Attestation for toolr_py-0.34.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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