contextClassifier / venv /Lib /site-packages /setuptools /config /_validate_pyproject /extra_validations.py
Download venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py from parthraninga/contextClassifier: direct link, hf CLI and curl.
- Browser
- Download file 1.15 kB
-
https://huggingface.co/parthraninga/contextClassifier/resolve/main/venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py
- Command line
-
hf download hf://parthraninga/contextClassifier/venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py
-
curl -L -o extra_validations.py https://huggingface.co/parthraninga/contextClassifier/resolve/main/venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py
1.15 kB
| """The purpose of this module is implement PEP 621 validations that are | |
| difficult to express as a JSON Schema (or that are not supported by the current | |
| JSON Schema library). | |
| """ | |
| from typing import Mapping, TypeVar | |
| from .error_reporting import ValidationError | |
| T = TypeVar("T", bound=Mapping) | |
| class RedefiningStaticFieldAsDynamic(ValidationError): | |
| """According to PEP 621: | |
| Build back-ends MUST raise an error if the metadata specifies a field | |
| statically as well as being listed in dynamic. | |
| """ | |
| def validate_project_dynamic(pyproject: T) -> T: | |
| project_table = pyproject.get("project", {}) | |
| dynamic = project_table.get("dynamic", []) | |
| for field in dynamic: | |
| if field in project_table: | |
| msg = f"You cannot provide a value for `project.{field}` and " | |
| msg += "list it under `project.dynamic` at the same time" | |
| name = f"data.project.{field}" | |
| value = {field: project_table[field], "...": " # ...", "dynamic": dynamic} | |
| raise RedefiningStaticFieldAsDynamic(msg, value, name, rule="PEP 621") | |
| return pyproject | |
| EXTRA_VALIDATIONS = (validate_project_dynamic,) | |