From fa0b2f93801febb273f78d1123f9fdd216208533 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Wed, 2 Aug 2023 14:43:02 +0200 Subject: [PATCH] Unbundle vendored deps and drop validate_pyproject entirely as it's experimental and does not work well with RPM-installed packages. --- src/pdm/backend/config.py | 13 ++----------- src/pdm/backend/editable.py | 2 +- src/pdm/backend/hooks/version/scm.py | 2 +- src/pdm/backend/sdist.py | 2 +- src/pdm/backend/utils.py | 8 ++++---- src/pdm/backend/wheel.py | 6 +++--- 6 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/pdm/backend/config.py b/src/pdm/backend/config.py index 09cbe65..30b4cb9 100644 --- a/src/pdm/backend/config.py +++ b/src/pdm/backend/config.py @@ -6,8 +6,8 @@ import sys from pathlib import Path from typing import TYPE_CHECKING, Any, TypeVar -from pdm.backend._vendor import tomli_w -from pdm.backend._vendor.pyproject_metadata import ConfigurationError, StandardMetadata +import tomli_w +from pyproject_metadata import StandardMetadata from pdm.backend.exceptions import ConfigError, ValidationError from pdm.backend.structures import Table from pdm.backend.utils import find_packages_iter @@ -41,7 +41,6 @@ class Config: """ def __init__(self, root: Path, data: dict[str, Any]) -> None: - self.validate(data, root) self.root = root self.data = data self.metadata = Metadata(data["project"]) @@ -56,14 +55,6 @@ class Config: metadata.name = self.metadata["name"] return str(metadata.as_rfc822()) - @classmethod - def validate(cls, data: dict[str, Any], root: Path) -> None: - """Validate the pyproject.toml data.""" - try: - StandardMetadata.from_pyproject(data, project_dir=root) - except ConfigurationError as e: - raise ValidationError(e.args[0], e.key) from e - @classmethod def from_pyproject(cls, root: str | Path) -> Config: """Load the pyproject.toml file from the given project root.""" diff --git a/src/pdm/backend/editable.py b/src/pdm/backend/editable.py index 2814c6f..36b868b 100644 --- a/src/pdm/backend/editable.py +++ b/src/pdm/backend/editable.py @@ -6,7 +6,7 @@ from pathlib import Path from editables import EditableProject -from pdm.backend._vendor.packaging.utils import canonicalize_name +from packaging.utils import canonicalize_name from pdm.backend.exceptions import ConfigError, PDMWarning from pdm.backend.hooks.base import Context from pdm.backend.utils import to_filename diff --git a/src/pdm/backend/hooks/version/scm.py b/src/pdm/backend/hooks/version/scm.py index 64c975d..0e7589a 100644 --- a/src/pdm/backend/hooks/version/scm.py +++ b/src/pdm/backend/hooks/version/scm.py @@ -15,7 +15,7 @@ from datetime import datetime from pathlib import Path from typing import TYPE_CHECKING, Iterable, NamedTuple -from pdm.backend._vendor.packaging.version import Version +from packaging.version import Version if TYPE_CHECKING: from _typeshed import StrPath diff --git a/src/pdm/backend/sdist.py b/src/pdm/backend/sdist.py index a08647f..feb4ae6 100644 --- a/src/pdm/backend/sdist.py +++ b/src/pdm/backend/sdist.py @@ -8,7 +8,7 @@ from pathlib import Path from posixpath import join as pjoin from typing import Iterable -from pdm.backend._vendor.packaging.utils import canonicalize_name +from packaging.utils import canonicalize_name from pdm.backend.base import Builder from pdm.backend.hooks import Context from pdm.backend.utils import normalize_file_permissions, safe_version, to_filename diff --git a/src/pdm/backend/utils.py b/src/pdm/backend/utils.py index 4bcd568..07e81cd 100644 --- a/src/pdm/backend/utils.py +++ b/src/pdm/backend/utils.py @@ -13,10 +13,10 @@ from fnmatch import fnmatchcase from pathlib import Path from typing import Callable, Generator, Iterable, Match -from pdm.backend._vendor.packaging import tags -from pdm.backend._vendor.packaging.markers import Marker -from pdm.backend._vendor.packaging.requirements import Requirement -from pdm.backend._vendor.packaging.version import InvalidVersion, Version +from packaging import tags +from packaging.markers import Marker +from packaging.requirements import Requirement +from packaging.version import InvalidVersion, Version from pdm.backend.macosx_platform import calculate_macosx_platform_tag diff --git a/src/pdm/backend/wheel.py b/src/pdm/backend/wheel.py index aafb9db..afeedd7 100644 --- a/src/pdm/backend/wheel.py +++ b/src/pdm/backend/wheel.py @@ -14,9 +14,9 @@ from base64 import urlsafe_b64encode from pathlib import Path from typing import IO, Any, Iterable, Mapping, NamedTuple, cast -from pdm.backend._vendor.packaging import tags -from pdm.backend._vendor.packaging.specifiers import SpecifierSet -from pdm.backend._vendor.packaging.utils import canonicalize_name +from packaging import tags +from packaging.specifiers import SpecifierSet +from packaging.utils import canonicalize_name from pdm.backend.base import Builder from pdm.backend.hooks import Context from pdm.backend.hooks.setuptools import SetuptoolsBuildHook -- 2.41.0