diff --git a/pyproject.toml b/pyproject.toml index 79d41d2982..90a2d8b1f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,11 +18,11 @@ classifiers = [ "Operating System :: POSIX :: Linux", ] dependencies = [ - "pyparted>=3.13.0", + "pyparted==3.13.0", "pydantic==2.12.5", - "cryptography>=45.0.7", - "textual>=5.3.0", - "markdown-it-py[linkify]>=4.0.0", + "cryptography==46.0.7", + "textual==8.2.3", + "markdown-it-py[linkify]==4.0.0", ] [project.urls] diff --git a/renovate.json b/renovate.json index 94a2f2cfb6..540d563cd9 100644 --- a/renovate.json +++ b/renovate.json @@ -8,6 +8,30 @@ "pre-commit": { "enabled": true }, + "customManagers": [ + { + "customType": "regex", + "description": "Track runtime Python deps via Arch Linux repos instead of PyPI", + "managerFilePatterns": ["**/pyproject.toml"], + "matchStrings": [ + "\"(?pyparted|pydantic|cryptography|textual|markdown-it-py)(?:\\[.*?\\])?==(?[^\"]+)\"" + ], + "depNameTemplate": "arch/python-{{{depName}}}", + "datasourceTemplate": "repology", + "versioningTemplate": "loose" + }, + { + "customType": "regex", + "description": "Track systemd_python via Arch Linux repos (different package name)", + "managerFilePatterns": ["**/pyproject.toml"], + "matchStrings": [ + "\"systemd_python==(?[^\"]+)\"" + ], + "depNameTemplate": "arch/python-systemd", + "datasourceTemplate": "repology", + "versioningTemplate": "loose" + } + ], "packageRules": [ { "matchDepTypes": [ @@ -24,6 +48,19 @@ "astral-sh/ruff-pre-commit" ], "automerge": true + }, + { + "description": "Disable PyPI updates for runtime deps tracked via Arch repos", + "matchDatasources": ["pypi"], + "matchPackageNames": [ + "pyparted", + "pydantic", + "cryptography", + "textual", + "markdown-it-py", + "systemd_python" + ], + "enabled": false } ] }