@@ -232,18 +232,12 @@ class MesonBuilderError(Error):
232232
233233class Metadata (pyproject_metadata .StandardMetadata ):
234234 def __init__ (self , name : str , * args : Any , ** kwargs : Any ):
235- super ().__init__ (name , * args , ** kwargs )
236- # Local fix for https://github.com/FFY00/python-pyproject-metadata/issues/60
237- self .name = self ._validate_name (name )
238-
239- @staticmethod
240- def _validate_name (name : str ) -> str :
241235 # See https://packaging.python.org/en/latest/specifications/core-metadata/#name
242236 if not re .match (r'^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$' , name , re .IGNORECASE ):
243237 raise pyproject_metadata .ConfigurationError (
244238 f'Invalid project name "{ name } ". A valid name consists only of ASCII letters and '
245239 f'numbers, period, underscore and hyphen. It must start and end with a letter or number' )
246- return name
240+ super (). __init__ ( name , * args , ** kwargs )
247241
248242 @classmethod
249243 def from_pyproject (
@@ -252,12 +246,7 @@ def from_pyproject(
252246 project_dir : Path = os .path .curdir ,
253247 metadata_version : Optional [str ] = None
254248 ) -> Self :
255- metadata = super ().from_pyproject (data , project_dir )
256-
257- # Check for missing version field.
258- if not metadata .version and 'version' not in metadata .dynamic :
259- raise pyproject_metadata .ConfigurationError (
260- 'Required "project.version" field is missing and not declared as dynamic' )
249+ metadata = super ().from_pyproject (data , project_dir , metadata_version )
261250
262251 # Check for unsupported dynamic fields.
263252 unsupported_dynamic = set (metadata .dynamic ) - {'version' , }
@@ -267,17 +256,6 @@ def from_pyproject(
267256
268257 return metadata
269258
270- # Local fix for a bug in pyproject-metadata. See
271- # https://github.com/mesonbuild/meson-python/issues/454
272- def _update_dynamic (self , value : Any ) -> None :
273- if value and 'version' in self .dynamic :
274- self .dynamic .remove ('version' )
275-
276- @property
277- def canonical_name (self ) -> str :
278- # See https://packaging.python.org/en/latest/specifications/name-normalization/#normalization
279- return packaging .utils .canonicalize_name (self .name )
280-
281259 @property
282260 def distribution_name (self ) -> str :
283261 """Name to be used in wheel and sdist file names."""
0 commit comments