@@ -234,18 +234,12 @@ class MesonBuilderError(Error):
234234
235235class Metadata (pyproject_metadata .StandardMetadata ):
236236 def __init__ (self , name : str , * args : Any , ** kwargs : Any ):
237- super ().__init__ (name , * args , ** kwargs )
238- # Local fix for https://github.com/FFY00/python-pyproject-metadata/issues/60
239- self .name = self ._validate_name (name )
240-
241- @staticmethod
242- def _validate_name (name : str ) -> str :
243237 # See https://packaging.python.org/en/latest/specifications/core-metadata/#name
244238 if not re .match (r'^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$' , name , re .IGNORECASE ):
245239 raise pyproject_metadata .ConfigurationError (
246240 f'Invalid project name "{ name } ". A valid name consists only of ASCII letters and '
247241 f'numbers, period, underscore and hyphen. It must start and end with a letter or number' )
248- return name
242+ super (). __init__ ( name , * args , ** kwargs )
249243
250244 @classmethod
251245 def from_pyproject (cls , data : Mapping [str , Any ], project_dir : Path ) -> Metadata : # type: ignore[override]
@@ -255,11 +249,6 @@ def from_pyproject(cls, data: Mapping[str, Any], project_dir: Path) -> Metadata:
255249
256250 metadata = super ().from_pyproject (data , project_dir )
257251
258- # Check for missing version field.
259- if not metadata .version and 'version' not in metadata .dynamic :
260- raise pyproject_metadata .ConfigurationError (
261- 'Required "project.version" field is missing and not declared as dynamic' )
262-
263252 # Check for unsupported dynamic fields.
264253 unsupported_dynamic = set (metadata .dynamic ) - {'version' , }
265254 if unsupported_dynamic :
@@ -268,17 +257,6 @@ def from_pyproject(cls, data: Mapping[str, Any], project_dir: Path) -> Metadata:
268257
269258 return metadata # type: ignore[return-value]
270259
271- # Local fix for a bug in pyproject-metadata. See
272- # https://github.com/mesonbuild/meson-python/issues/454
273- def _update_dynamic (self , value : Any ) -> None :
274- if value and 'version' in self .dynamic :
275- self .dynamic .remove ('version' )
276-
277- @property
278- def canonical_name (self ) -> str :
279- # See https://packaging.python.org/en/latest/specifications/name-normalization/#normalization
280- return packaging .utils .canonicalize_name (self .name )
281-
282260 @property
283261 def distribution_name (self ) -> str :
284262 """Name to be used in wheel and sdist file names."""
0 commit comments