Skip to main content

yeetr

yeetr, build tiny CLIs. Easy to code. Based on Python type hints.

Build Release Coverage Package version Supported Python versions License

yeetr

A tiny, typed, signature-driven CLI runner. Supports Python 3.13 and 3.14.

No decorators. No command classes. No ceremony. Just yeet the function.

Write a plain function, run it from the command line — yeetr turns the signature into args and options for you:

# app.py
def main(thing: int, *, n: float = 0.1) -> None:
    print(thing, n)
yeet app.py 5 -n 0.2

No if __name__ == "__main__" block, no yeetr.run(...) call, no decorators. Parameters before the bare * become positional args, parameters after it become --options.

Install

uv add yeetr

Highlights

  • Zero boilerplate — yeet app.py finds and runs main — or any public function you name — and scaffolds the file if it doesn't exist yet.
  • Executable shebangs — #!yeet makes a script runnable on its own; #!yeet FUNC picks the function to run.
  • Fully typed — str, int, float, bool, Path, datetime, date, time, UUID, Decimal, Literal, Enum, T | None, list[T], tuples, and structured dataclass/NamedTuple args, all Pyright-strict clean.
  • Async-native — async def main just works, with automatic uvloop if it's installed.
  • Rich output — formatted logging and help/error tables out of the box.

yeetr help output

Docs

The full guide — parameter metadata, env var fallback, path validators, runtime behavior, a yeetr vs. typer comparison, and the API reference — lives at rogerthomas.github.io/yeetr.

Contributing

See CONTRIBUTING.md for how to set up a dev environment, run the test suite, and submit changes.

License

MIT

Metadata

Release files for yeetr 2026.9.18

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

Source distribution (sdist)

Source distribution for yeetr 2026.9.18
File Size Uploaded Provenance
yeetr-2026.9.18.tar.gz 19.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for yeetr 2026.9.18
File Interpreter ABI Platform
yeetr-2026.9.18-py3-none-any.whl Python 3 none any Details

Total release size: 38.2 kB

Release files / yeetr-2026.9.18.tar.gz

Download URL yeetr-2026.9.18.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6b40c5e6ad69a3cb7cd2becb17f1e0748db2fbaed23ce7fb3b0ca78197cb0f61
BLAKE2b-256 checksum
How to use checksums
bdc2b90daa74114f7e1e5767db459be06fc4f3982d5015786b55074bb4b2c730
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / yeetr-2026.9.18-py3-none-any.whl

Download URL yeetr-2026.9.18-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4dc2bc4792b31ac4cf0b4b2ddd993735caa1c21334af286f5ea3e9f64a90ff65
BLAKE2b-256 checksum
How to use checksums
033b4d2fbbf344723673c2b631b2535e7e3250770289769e57bd7b30915dd464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for yeetr 2026.9.18

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

2026.9.18 This release

2 release files No provenance

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