nathanchance · GitHub

uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert scripts/markdown-badges.py to run with uv by default by adding
its dependencies with
  $ uv add --script scripts/markdown-badges.py packaging
and adjust the shebang accordingly.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert scripts/visualize-badges.py to run with uv by default by adding
its dependencies with
  $ uv add --script scripts/visualize-badges.py pyyaml
and adjust the shebang accordingly. This does not prevent the script
from being run manually using a Python interpreter directly, it just
provides a better default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert scripts/estimate-builds.py to run with uv by default by adding
its dependencies with
  $ uv add --script scripts/estimate-builds.py croniter pyyaml
and adjust the shebang accordingly. This does not prevent the script
from being run manually using a Python interpreter directly, it just
provides a better default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert scripts/build-local.py to run with uv by default by adding its
dependencies with
  $ uv add --script scripts/build-local.py pyyaml tuxmake
adjusting the shebang accordingly, and removing the handling of the
absence of tuxmake. This does not prevent the script from being run
manually using a Python interpreter directly, it just provides a better
default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert all Python scripts to run with uv by default by adding their
dependencies with
  $ uv add --script <file> pyyaml
and adjusting the shebang accordingly. This does not prevent the scripts
from being run manually using a Python interpreter directly, it just
provides a better default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert scripts/check-logs.py to run with uv by default by adding its
dependencies with
  $ uv add --script scripts/check-logs.py pyyaml
adjusting the shebang accordingly, and ensuring the uv is available in
our GitHub Actions environment when it is called. This does not prevent
the scripts from being run manually using a Python interpreter directly,
it just provides a better default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
uv [1] is a Python package manager that allows running scripts with
dependencies in dedicated virtual environments. This allows scripts to
work consistently across all workspaces and environments as long as uv
is available (and it is very easy to install [2]), rather than manually
installing packages or managing virtual environments.
Convert the caching Python scripts to run with uv by default by adding
their dependencies with
  $ uv add --script caching/check.py pyyaml requests
  $ uv add --script caching/update.py pyyaml
adjusting the shebang accordingly, and ensuring uv is available in
GitHub Actions when these scripts are called. This does not prevent the
scripts from being run manually using a Python interpreter directly, it
just provides a better default experience.
Link: https://github.com/astral-sh/uv [1]
Link: https://docs.astral.sh/uv/getting-started/installation/ [2]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>

@nathanchance

When running pylint in an isolated virtual environment, such as uvx,
certain imports may not be resolvable. Locally disable these instances,
as these scripts default run with 'uv run --script', which will run the
script in a virtual environment with its described dependencies.
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This was added to help pylint with import-error but those warnings are
now disabled locally at the source and dependencies are added in a
comment to be parsed and handled by uv where needed.
Signed-off-by: Nathan Chancellor <nathan@kernel.org>

@nathanchance

@nathanchance

@nathanchance

Read the original on github.com ↗