Skip to main content

Reruns uv foo/bar.py if files in foo/../... change.

Project description

iuv

Tiny wrapper that watches the current directory and reruns a Python target with uv run whenever files change.

CI

Install

From PyPI via pipx: https://pypi.org/project/iuv/

pipx install iuv

Persistent install with uv from head:

uv tool install git+https://github.com/gueraf/iuv.git

Local checkout + script (also installs uv if missing):

git clone https://github.com/gueraf/iuv.git
cd iuv
./install.sh

Usage

From inside your project directory:

iuv run app.py

Or module mode:

iuv run -m package.module

Pass any additional args after the script/module:

iuv run script.py --flag value

On each relevant file change (excluding .git, .venv, __pycache__) the previous run finishes (not force killed) and the command is invoked again.

Behavior

  • Watches recursively from cwd
  • Debounce default: 150ms (change with --debounce 300)
  • Prints a short line when rerunning
  • Errors just print; watcher keeps going
  • Press Enter to manually trigger a rerun.

Examples

iuv run main.py
iuv run -m mypkg.cli --help
iuv run examples/demo.py --foo bar

Exit

Press Ctrl+C once to pause. From there, you can press Enter to rerun, or Ctrl+C again to exit.

License

MIT

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

iuv-0.1.1.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

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

iuv-0.1.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file iuv-0.1.1.tar.gz.

File metadata

  • Download URL: iuv-0.1.1.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iuv-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ced084151e28fef701843ae40bd85a343d61a03cd82c24fab96ba11de5abcb0b
MD5 a0223e49607f082c4fa541c05c3c38cd
BLAKE2b-256 c3528186f21d40d358c47001a0161728e13cbc7d039af74072d20da5f16954ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for iuv-0.1.1.tar.gz:

Publisher: pypi-publish.yml on gueraf/iuv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iuv-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: iuv-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iuv-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c92f13fbd5e8653b761e05ea34f4ba94f966679c168d1571a527a6b13570533
MD5 a2f657b68e344910f0de0897943dc77b
BLAKE2b-256 4198b0b6287d327ddc4fdaffc24f43d653d120d9f0525fcff18d63270f976868

See more details on using hashes here.

Provenance

The following attestation bundles were made for iuv-0.1.1-py3-none-any.whl:

Publisher: pypi-publish.yml on gueraf/iuv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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