diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 555b1cec34c..b402fd7e93c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: )$ - repo: https://github.com/saltstack/python-tools-scripts - rev: "0.18.6" + rev: "0.20.0" hooks: - id: tools alias: check-changelog-entries @@ -1762,7 +1762,7 @@ repos: - types-attrs - types-pyyaml - types-requests - - python-tools-scripts>=0.18.6 + - python-tools-scripts>=0.20.0 - repo: https://github.com/saltstack/mirrors-nox rev: v2021.6.12 diff --git a/requirements/static/ci/py3.10/tools.txt b/requirements/static/ci/py3.10/tools.txt index d3b6eb23735..dcda605b103 100644 --- a/requirements/static/ci/py3.10/tools.txt +++ b/requirements/static/ci/py3.10/tools.txt @@ -4,6 +4,8 @@ # # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.10/tools.txt requirements/static/ci/tools.in # +annotated-types==0.6.0 + # via pydantic attrs==20.3.0 # via # -r requirements/static/ci/tools.in @@ -34,11 +36,15 @@ mdurl==0.1.2 # via markdown-it-py packaging==22.0 # via -r requirements/static/ci/tools.in +pydantic-core==2.16.2 + # via pydantic +pydantic==2.6.1 + # via python-tools-scripts pygments==2.13.0 # via rich python-dateutil==2.8.1 # via botocore -python-tools-scripts==0.18.6 +python-tools-scripts==0.20.0 # via -r requirements/static/ci/tools.in pyyaml==6.0.1 # via -r requirements/static/ci/tools.in @@ -50,8 +56,11 @@ s3transfer==0.6.1 # via boto3 six==1.16.0 # via python-dateutil -typing-extensions==4.2.0 - # via python-tools-scripts +typing-extensions==4.9.0 + # via + # pydantic + # pydantic-core + # python-tools-scripts urllib3==1.26.18 # via # botocore diff --git a/requirements/static/ci/py3.11/tools.txt b/requirements/static/ci/py3.11/tools.txt index adcf0b938b8..b980e3455dc 100644 --- a/requirements/static/ci/py3.11/tools.txt +++ b/requirements/static/ci/py3.11/tools.txt @@ -4,6 +4,8 @@ # # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.11/tools.txt requirements/static/ci/tools.in # +annotated-types==0.6.0 + # via pydantic attrs==22.1.0 # via # -r requirements/static/ci/tools.in @@ -32,11 +34,15 @@ markupsafe==2.1.2 # via jinja2 packaging==22.0 # via -r requirements/static/ci/tools.in +pydantic-core==2.16.2 + # via pydantic +pydantic==2.6.1 + # via python-tools-scripts pygments==2.13.0 # via rich python-dateutil==2.8.1 # via botocore -python-tools-scripts==0.18.6 +python-tools-scripts==0.20.0 # via -r requirements/static/ci/tools.in pyyaml==6.0.1 # via -r requirements/static/ci/tools.in @@ -48,6 +54,10 @@ s3transfer==0.5.2 # via boto3 six==1.16.0 # via python-dateutil +typing-extensions==4.9.0 + # via + # pydantic + # pydantic-core urllib3==1.26.18 # via # botocore diff --git a/requirements/static/ci/py3.12/tools.txt b/requirements/static/ci/py3.12/tools.txt index f6e9cfcccb0..0617439a8e7 100644 --- a/requirements/static/ci/py3.12/tools.txt +++ b/requirements/static/ci/py3.12/tools.txt @@ -4,6 +4,8 @@ # # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.12/tools.txt requirements/static/ci/tools.in # +annotated-types==0.6.0 + # via pydantic attrs==22.1.0 # via # -r requirements/static/ci/tools.in @@ -32,11 +34,15 @@ markupsafe==2.1.2 # via jinja2 packaging==22.0 # via -r requirements/static/ci/tools.in +pydantic-core==2.16.2 + # via pydantic +pydantic==2.6.1 + # via python-tools-scripts pygments==2.13.0 # via rich python-dateutil==2.8.1 # via botocore -python-tools-scripts==0.18.6 +python-tools-scripts==0.20.0 # via -r requirements/static/ci/tools.in pyyaml==6.0.1 # via -r requirements/static/ci/tools.in @@ -48,6 +54,10 @@ s3transfer==0.5.2 # via boto3 six==1.16.0 # via python-dateutil +typing-extensions==4.9.0 + # via + # pydantic + # pydantic-core urllib3==1.26.18 # via # botocore diff --git a/requirements/static/ci/py3.9/tools.txt b/requirements/static/ci/py3.9/tools.txt index 1f3d04a05e1..ca4ff2baff0 100644 --- a/requirements/static/ci/py3.9/tools.txt +++ b/requirements/static/ci/py3.9/tools.txt @@ -4,6 +4,8 @@ # # pip-compile --no-emit-index-url --output-file=requirements/static/ci/py3.9/tools.txt requirements/static/ci/tools.in # +annotated-types==0.6.0 + # via pydantic attrs==20.3.0 # via # -r requirements/static/ci/tools.in @@ -34,11 +36,15 @@ mdurl==0.1.2 # via markdown-it-py packaging==22.0 # via -r requirements/static/ci/tools.in +pydantic-core==2.16.2 + # via pydantic +pydantic==2.6.1 + # via python-tools-scripts pygments==2.13.0 # via rich python-dateutil==2.8.1 # via botocore -python-tools-scripts==0.18.6 +python-tools-scripts==0.20.0 # via -r requirements/static/ci/tools.in pyyaml==6.0.1 # via -r requirements/static/ci/tools.in @@ -50,8 +56,11 @@ s3transfer==0.6.1 # via boto3 six==1.16.0 # via python-dateutil -typing-extensions==4.2.0 - # via python-tools-scripts +typing-extensions==4.9.0 + # via + # pydantic + # pydantic-core + # python-tools-scripts urllib3==1.26.18 # via # botocore diff --git a/requirements/static/ci/tools.in b/requirements/static/ci/tools.in index 7bc0163df05..5d0da3fde92 100644 --- a/requirements/static/ci/tools.in +++ b/requirements/static/ci/tools.in @@ -1,5 +1,5 @@ attrs -python-tools-scripts >= 0.18.6 +python-tools-scripts >= 0.20.0 boto3 pyyaml jinja2 diff --git a/tools/__init__.py b/tools/__init__.py index 1d46e63b2d5..f5131d0e7f9 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -3,8 +3,7 @@ import pathlib import sys import ptscripts -from ptscripts.parser import DefaultRequirementsConfig -from ptscripts.virtualenv import VirtualEnvConfig +from ptscripts.models import DefaultPipConfig, VirtualEnvPipConfig REPO_ROOT = pathlib.Path(__file__).resolve().parent.parent REQUIREMENTS_FILES_PATH = REPO_ROOT / "requirements" @@ -12,16 +11,16 @@ STATIC_REQUIREMENTS_PATH = REQUIREMENTS_FILES_PATH / "static" CI_REQUIREMENTS_FILES_PATH = ( STATIC_REQUIREMENTS_PATH / "ci" / "py{}.{}".format(*sys.version_info) ) -DEFAULT_REQS_CONFIG = DefaultRequirementsConfig( - pip_args=[ +DEFAULT_REQS_CONFIG = DefaultPipConfig( + install_args=[ f"--constraint={REQUIREMENTS_FILES_PATH / 'constraints.txt'}", ], requirements_files=[ CI_REQUIREMENTS_FILES_PATH / "tools.txt", ], ) -RELEASE_VENV_CONFIG = VirtualEnvConfig( - pip_args=[ +RELEASE_VENV_CONFIG = VirtualEnvPipConfig( + install_args=[ f"--constraint={REQUIREMENTS_FILES_PATH / 'constraints.txt'}", ], requirements_files=[ @@ -29,7 +28,7 @@ RELEASE_VENV_CONFIG = VirtualEnvConfig( ], add_as_extra_site_packages=True, ) -ptscripts.set_default_requirements_config(DEFAULT_REQS_CONFIG) +ptscripts.set_default_config(DEFAULT_REQS_CONFIG) ptscripts.register_tools_module("tools.changelog") ptscripts.register_tools_module("tools.ci") ptscripts.register_tools_module("tools.docs") diff --git a/tools/changelog.py b/tools/changelog.py index 12bbba22d3c..8e9e3ff3e73 100644 --- a/tools/changelog.py +++ b/tools/changelog.py @@ -13,6 +13,7 @@ import textwrap from jinja2 import Environment, FileSystemLoader from ptscripts import Context, command_group +from ptscripts.models import VirtualEnvPipConfig from tools.utils import REPO_ROOT, Version @@ -23,16 +24,16 @@ changelog = command_group( name="changelog", help="Changelog tools", description=__doc__, - venv_config={ - "requirements_files": [ + venv_config=VirtualEnvPipConfig( + requirements_files=[ REPO_ROOT / "requirements" / "static" / "ci" / "py{}.{}".format(*sys.version_info) - / "changelog.txt" + / "changelog.txt", ], - }, + ), ) diff --git a/tools/docs.py b/tools/docs.py index 83868d1af7e..b36e676d974 100644 --- a/tools/docs.py +++ b/tools/docs.py @@ -11,6 +11,7 @@ import shutil import sys from ptscripts import Context, command_group +from ptscripts.models import VirtualEnvPipConfig import tools.utils @@ -21,16 +22,16 @@ docs = command_group( name="docs", help="Manpages tools", description=__doc__, - venv_config={ - "requirements_files": [ + venv_config=VirtualEnvPipConfig( + requirements_files=[ tools.utils.REPO_ROOT / "requirements" / "static" / "ci" / "py{}.{}".format(*sys.version_info) - / "docs.txt" + / "docs.txt", ], - }, + ), ) diff --git a/tools/pkg/__init__.py b/tools/pkg/__init__.py index 2d843893640..7eb7b0ba66c 100644 --- a/tools/pkg/__init__.py +++ b/tools/pkg/__init__.py @@ -18,6 +18,7 @@ import tempfile import yaml from ptscripts import Context, command_group +from ptscripts.models import VirtualEnvPipConfig import tools.utils @@ -137,7 +138,11 @@ def set_salt_version( ctx.info(f"Validating and normalizing the salt version {salt_version!r}...") with ctx.virtualenv( name="set-salt-version", - requirements_files=[tools.utils.REPO_ROOT / "requirements" / "base.txt"], + config=VirtualEnvPipConfig( + requirements_files=[ + tools.utils.REPO_ROOT / "requirements" / "base.txt", + ] + ), ) as venv: code = f""" import sys @@ -363,11 +368,11 @@ def generate_hashes(ctx: Context, files: list[pathlib.Path]): @pkg.command( name="source-tarball", - venv_config={ - "requirements_files": [ + venv_config=VirtualEnvPipConfig( + requirements_files=[ tools.utils.REPO_ROOT / "requirements" / "build.txt", - ] - }, + ], + ), ) def source_tarball(ctx: Context): shutil.rmtree("dist/", ignore_errors=True) @@ -411,11 +416,11 @@ def source_tarball(ctx: Context): @pkg.command( name="pypi-upload", - venv_config={ - "requirements_files": [ + venv_config=VirtualEnvPipConfig( + requirements_files=[ tools.utils.REPO_ROOT / "requirements" / "build.txt", - ] - }, + ], + ), arguments={ "files": { "help": "Files to upload to PyPi", diff --git a/tools/precommit/changelog.py b/tools/precommit/changelog.py index 5e108af5f11..99e3afbf116 100644 --- a/tools/precommit/changelog.py +++ b/tools/precommit/changelog.py @@ -10,6 +10,7 @@ import re import sys from ptscripts import Context, command_group +from ptscripts.models import VirtualEnvPipConfig import tools.utils @@ -33,16 +34,16 @@ changelog = command_group( name="changelog", help="Changelog tools", description=__doc__, - venv_config={ - "requirements_files": [ + venv_config=VirtualEnvPipConfig( + requirements_files=[ tools.utils.REPO_ROOT / "requirements" / "static" / "ci" / "py{}.{}".format(*sys.version_info) - / "changelog.txt" + / "changelog.txt", ], - }, + ), parent="pre-commit", )