From 64084dfb90cea6e14b59bc7eff79bf0f8a48b9c7 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 22:57:23 +0100 Subject: [PATCH 1/7] pre-commit autoupdate (pyproject-fmt) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 65769e4d4..2fda55f2d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: - id: trailing-whitespace - id: check-yaml - repo: https://github.com/tox-dev/pyproject-fmt - rev: "2.2.4" + rev: v2.6.0 hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit From 07dc3a9edcecfb9098e1af88c81c4fd9f8eb03ab Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:00:38 +0100 Subject: [PATCH 2/7] `pre-commit run pyproject-fmt` --- pyproject.toml | 3 ++- testdata/empty_project/pyproject.toml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3e709c5e4..418343f2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dynamic = [ "version", @@ -40,7 +41,7 @@ dependencies = [ "packaging>=20", "platformdirs>=2.1", "tomli; python_version<'3.11'", - "userpath!=1.9,>=1.6", + "userpath>=1.6,!=1.9", ] urls."Bug Tracker" = "https://github.com/pypa/pipx/issues" urls.Documentation = "https://pipx.pypa.io" diff --git a/testdata/empty_project/pyproject.toml b/testdata/empty_project/pyproject.toml index 4876553a1..9f344b83e 100644 --- a/testdata/empty_project/pyproject.toml +++ b/testdata/empty_project/pyproject.toml @@ -19,6 +19,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] scripts.empty-project = "empty_project.main:cli" entry-points."pipx.run".empty-project = "empty_project.main:cli" From 08d00bc4fefe77305e4ee435c67514b4eb81c9c3 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:04:31 +0100 Subject: [PATCH 3/7] Enable all ruff rules (RUF) Skip RUF005 for now. --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 418343f2c..6086d796f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,14 +78,14 @@ lint.extend-select = [ "PLE", "PLW", "RSE", - "RUF012", - "RUF100", + "RUF", "TC", "W", ] lint.ignore = [ "PERF203", "PLW1508", + "RUF005", ] lint.isort = { known-first-party = [ "helpers", From c69959c5b37890503404a719d4a4de5830d36c89 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:05:30 +0100 Subject: [PATCH 4/7] Apply ruff rule RUF022 RUF022 `__all__` is not sorted --- src/pipx/commands/__init__.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pipx/commands/__init__.py b/src/pipx/commands/__init__.py index 69d3a1423..fb37022b1 100644 --- a/src/pipx/commands/__init__.py +++ b/src/pipx/commands/__init__.py @@ -13,25 +13,25 @@ from pipx.commands.upgrade import upgrade, upgrade_all, upgrade_shared __all__ = [ - "upgrade", - "upgrade_all", - "upgrade_shared", - "run", + "ensure_pipx_paths", + "environment", + "inject", "install", "install_all", - "inject", - "uninject", - "uninstall", - "uninstall_all", + "list_interpreters", + "list_packages", + "pin", + "prune_interpreters", "reinstall", "reinstall_all", - "list_packages", + "run", "run_pip", - "ensure_pipx_paths", - "environment", - "list_interpreters", - "prune_interpreters", - "pin", + "uninject", + "uninstall", + "uninstall_all", "unpin", + "upgrade", + "upgrade_all", "upgrade_interpreters", + "upgrade_shared", ] From 1b95587edbeeb4c77c76ad99d3189440b773024f Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:10:56 +0100 Subject: [PATCH 5/7] Apply ruff/pyuprade rule UP031 UP031 Use format specifiers instead of percent format --- src/pipx/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipx/constants.py b/src/pipx/constants.py index b5dc84584..865a8f000 100644 --- a/src/pipx/constants.py +++ b/src/pipx/constants.py @@ -7,7 +7,7 @@ PIPX_SHARED_PTH = "pipx_shared.pth" TEMP_VENV_EXPIRATION_THRESHOLD_DAYS = 14 MINIMUM_PYTHON_VERSION = "3.9" -MAN_SECTIONS = ["man%d" % i for i in range(1, 10)] +MAN_SECTIONS = [f"man{i}" for i in range(1, 10)] FETCH_MISSING_PYTHON = os.environ.get("PIPX_FETCH_MISSING_PYTHON", False) From 4fd871500b2d36675bec29eae9e500346ba838b5 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:26:15 +0100 Subject: [PATCH 6/7] Disable ruff/flake8-builtins rule A005 A005 Module shadows a Python standard-library module --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 6086d796f..5280ac9c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,6 +87,9 @@ lint.ignore = [ "PLW1508", "RUF005", ] +lint.per-file-ignores."src/pipx/venv.py" = [ + "A005", +] lint.isort = { known-first-party = [ "helpers", "package_info", From 88d89811f4b642d0c1d0014a37ec68689dc61159 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Wed, 15 Jan 2025 23:20:57 +0100 Subject: [PATCH 7/7] pre-commit autoupdate (mypy) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2fda55f2d..501651b08 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: args: [ "--fix", "--unsafe-fixes", "--show-fixes", "--exit-non-zero-on-fix"] - id: ruff-format - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.11.2 + rev: v1.14.1 hooks: - id: mypy args: ['--warn-unused-ignores', '--strict-equality','--no-implicit-optional', '--check-untyped-defs']