Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyproject-metadata for 
openSUSE:Factory checked in at 2023-08-23 14:56:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyproject-metadata (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyproject-metadata.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyproject-metadata"

Wed Aug 23 14:56:47 2023 rev:4 rq:1105265 version:0.7.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pyproject-metadata/python-pyproject-metadata.changes
      2023-04-22 21:58:32.840530189 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pyproject-metadata.new.1766/python-pyproject-metadata.changes
    2023-08-23 14:56:56.813918569 +0200
@@ -1,0 +2,7 @@
+Thu Aug 17 12:49:35 UTC 2023 - Markéta Machová <[email protected]>
+
+- update to 0.7.1
+  * Use UTF-8 when opening files
+  * Use tomllib on Python >= 3.11
+
+-------------------------------------------------------------------

Old:
----
  python-pyproject-metadata-0.6.1.tar.gz

New:
----
  python-pyproject-metadata-0.7.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pyproject-metadata.spec ++++++
--- /var/tmp/diff_new_pack.RyrEqI/_old  2023-08-23 14:56:57.549919884 +0200
+++ /var/tmp/diff_new_pack.RyrEqI/_new  2023-08-23 14:56:57.553919892 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-pyproject-metadata
-Version:        0.6.1
+Version:        0.7.1
 Release:        0
 Summary:        PEP 621 metadata parsing
 License:        MIT
@@ -35,7 +35,9 @@
 BuildArch:      noarch
 # SECTION test
 BuildRequires:  %{python_module pytest}
+%if 0%{python_version_nodots} < 311
 BuildRequires:  %{python_module tomli >= 1.0.0}
+%endif
 # /SECTION
 %python_subpackages
 
@@ -60,9 +62,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-# https://github.com/FFY00/python-pyproject-metadata/issues/41
-donttest="(test_load and PEP and 508 and definitely)"
-%pytest -k "not ($donttest)"
+%pytest
 
 %files %{python_files}
 %license LICENSE

++++++ python-pyproject-metadata-0.6.1.tar.gz -> 
python-pyproject-metadata-0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/.github/workflows/tests.yml 
new/python-pyproject-metadata-0.7.1/.github/workflows/tests.yml
--- old/python-pyproject-metadata-0.6.1/.github/workflows/tests.yml     
2022-07-07 01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/.github/workflows/tests.yml     
2023-01-30 20:31:16.000000000 +0100
@@ -10,16 +10,19 @@
 
 jobs:
   pytest:
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       fail-fast: false
       matrix:
+        os:
+          - 'windows-latest'
+          - 'ubuntu-latest'
         python:
           - '3.7'
           - '3.8'
           - '3.9'
           - '3.10'
-          - '3.11-dev'
+          - '3.11'
 
     steps:
       - name: Checkout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/.pre-commit-config.yaml 
new/python-pyproject-metadata-0.7.1/.pre-commit-config.yaml
--- old/python-pyproject-metadata-0.6.1/.pre-commit-config.yaml 2022-07-07 
01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/.pre-commit-config.yaml 2023-01-30 
20:31:16.000000000 +0100
@@ -4,7 +4,7 @@
 
 repos:
 - repo: https://github.com/pre-commit/pre-commit-hooks
-  rev: v4.3.0
+  rev: v4.4.0
   hooks:
   - id: check-ast
   - id: check-builtin-literals
@@ -17,11 +17,11 @@
   - id: end-of-file-fixer
   - id: trailing-whitespace
 - repo: https://github.com/PyCQA/isort
-  rev: 5.10.1
+  rev: 5.11.4
   hooks:
   - id: isort
 - repo: https://github.com/PyCQA/flake8
-  rev: 4.0.1
+  rev: 6.0.0
   hooks:
   - id: flake8
     language_version: python3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-pyproject-metadata-0.6.1/CHANGELOG.rst 
new/python-pyproject-metadata-0.7.1/CHANGELOG.rst
--- old/python-pyproject-metadata-0.6.1/CHANGELOG.rst   2022-07-07 
01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/CHANGELOG.rst   2023-01-30 
20:31:16.000000000 +0100
@@ -3,6 +3,19 @@
 +++++++++
 
 
+0.7.1 (30-01-2023)
+==================
+
+- Relax ``pypa/packaging`` dependency
+
+
+0.7.0 (18-01-2023)
+==================
+
+- Use UTF-8 when opening files
+- Use ``tomllib``  on Python >= 3.11
+
+
 0.6.1 (07-07-2022)
 ==================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-pyproject-metadata-0.6.1/README.md 
new/python-pyproject-metadata-0.7.1/README.md
--- old/python-pyproject-metadata-0.6.1/README.md       2022-07-07 
01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/README.md       2023-01-30 
20:31:16.000000000 +0100
@@ -23,7 +23,7 @@
 you can use it as a library in your scripts and programs:
 
 ```python
-from ptproject_metadata import StandardMetadata
+from pyproject_metadata import StandardMetadata
 
 parsed_pyproject = { ... }  # you can use parsers like `tomli` to obtain this 
dict
 metadata = StandardMetadata.from_pyproject(parsed_pyproject)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/pyproject_metadata/__init__.py 
new/python-pyproject-metadata-0.7.1/pyproject_metadata/__init__.py
--- old/python-pyproject-metadata-0.6.1/pyproject_metadata/__init__.py  
2022-07-07 01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/pyproject_metadata/__init__.py  
2023-01-30 20:31:16.000000000 +0100
@@ -10,39 +10,37 @@
 import re
 import typing
 
-from typing import Any, DefaultDict, Dict, List, Mapping, Optional, 
OrderedDict, Tuple, Union
+from collections.abc import Mapping
+from typing import Any
 
 import packaging.markers
 import packaging.requirements
+import packaging.specifiers
 import packaging.version
 
 
-__version__ = '0.6.1'
+__version__ = '0.7.1'
 
 
 class ConfigurationError(Exception):
     '''Error in the backend metadata.'''
-    def __init__(self, msg: str, *, key: Optional[str] = None):
+    def __init__(self, msg: str, *, key: str | None = None):
         super().__init__(msg)
         self._key = key
 
     @property
-    def key(self) -> Optional[str]:  # pragma: no cover
+    def key(self) -> str | None:  # pragma: no cover
         return self._key
 
 
 class RFC822Message():
-    '''Simple RFC 822 message implementation.
-
-    Note: Does not support multiline fields, as Python packaging flavored
-    RFC 822 metadata does.
-    '''
+    '''Python-flavored RFC 822 message implementation.'''
 
     def __init__(self) -> None:
-        self.headers: OrderedDict[str, List[str]] = collections.OrderedDict()
-        self.body: Optional[str] = None
+        self.headers: collections.OrderedDict[str, list[str]] = 
collections.OrderedDict()
+        self.body: str | None = None
 
-    def __setitem__(self, name: str, value: Optional[str]) -> None:
+    def __setitem__(self, name: str, value: str | None) -> None:
         if not value:
             return
         if name not in self.headers:
@@ -86,7 +84,7 @@
             val = val[part]
         return val
 
-    def get_str(self, key: str) -> Optional[str]:
+    def get_str(self, key: str) -> str | None:
         try:
             val = self.get(key)
             if not isinstance(val, str):
@@ -99,7 +97,7 @@
         except KeyError:
             return None
 
-    def get_list(self, key: str) -> List[str]:
+    def get_list(self, key: str) -> list[str]:
         try:
             val = self.get(key)
             if not isinstance(val, list):
@@ -119,7 +117,7 @@
         except KeyError:
             return []
 
-    def get_dict(self, key: str) -> Dict[str, str]:
+    def get_dict(self, key: str) -> dict[str, str]:
         try:
             val = self.get(key)
             if not isinstance(val, dict):
@@ -139,7 +137,7 @@
         except KeyError:
             return {}
 
-    def get_people(self, key: str) -> List[Tuple[str, str]]:
+    def get_people(self, key: str) -> list[tuple[str, str]]:
         try:
             val = self.get(key)
             if not (
@@ -166,34 +164,34 @@
 
 class License(typing.NamedTuple):
     text: str
-    file: Optional[pathlib.Path]
+    file: pathlib.Path | None
 
 
 class Readme(typing.NamedTuple):
     text: str
-    file: Optional[pathlib.Path]
+    file: pathlib.Path | None
     content_type: str
 
 
 @dataclasses.dataclass
 class StandardMetadata():
     name: str
-    version: Optional[packaging.version.Version] = None
-    description: Optional[str] = None
-    license: Optional[License] = None
-    readme: Optional[Readme] = None
-    requires_python: Optional[packaging.specifiers.SpecifierSet] = None
-    dependencies: List[packaging.requirements.Requirement] = 
dataclasses.field(default_factory=list)
-    optional_dependencies: Dict[str, List[packaging.requirements.Requirement]] 
= dataclasses.field(default_factory=dict)
-    entrypoints: Dict[str, Dict[str, str]] = 
dataclasses.field(default_factory=dict)
-    authors: List[Tuple[str, str]] = dataclasses.field(default_factory=list)
-    maintainers: List[Tuple[str, str]] = 
dataclasses.field(default_factory=list)
-    urls: Dict[str, str] = dataclasses.field(default_factory=dict)
-    classifiers: List[str] = dataclasses.field(default_factory=list)
-    keywords: List[str] = dataclasses.field(default_factory=list)
-    scripts: Dict[str, str] = dataclasses.field(default_factory=dict)
-    gui_scripts: Dict[str, str] = dataclasses.field(default_factory=dict)
-    dynamic: List[str] = dataclasses.field(default_factory=list)
+    version: packaging.version.Version | None = None
+    description: str | None = None
+    license: License | None = None
+    readme: Readme | None = None
+    requires_python: packaging.specifiers.SpecifierSet | None = None
+    dependencies: list[packaging.requirements.Requirement] = 
dataclasses.field(default_factory=list)
+    optional_dependencies: dict[str, list[packaging.requirements.Requirement]] 
= dataclasses.field(default_factory=dict)
+    entrypoints: dict[str, dict[str, str]] = 
dataclasses.field(default_factory=dict)
+    authors: list[tuple[str, str]] = dataclasses.field(default_factory=list)
+    maintainers: list[tuple[str, str]] = 
dataclasses.field(default_factory=list)
+    urls: dict[str, str] = dataclasses.field(default_factory=dict)
+    classifiers: list[str] = dataclasses.field(default_factory=list)
+    keywords: list[str] = dataclasses.field(default_factory=list)
+    scripts: dict[str, str] = dataclasses.field(default_factory=dict)
+    gui_scripts: dict[str, str] = dataclasses.field(default_factory=dict)
+    dynamic: list[str] = dataclasses.field(default_factory=list)
 
     def __post_init__(self) -> None:
         self.name = re.sub(r'[-_.]+', '-', self.name).lower()
@@ -203,7 +201,7 @@
     def from_pyproject(
         cls,
         data: Mapping[str, Any],
-        project_dir: Union[str, os.PathLike[str]] = os.path.curdir,
+        project_dir: str | os.PathLike[str] = os.path.curdir,
     ) -> StandardMetadata:
         fetcher = DataFetcher(data)
         project_dir = pathlib.Path(project_dir)
@@ -310,14 +308,14 @@
                 raise ConfigurationError(f'Field cannot be dynamic: {field}')
             message['Dynamic'] = field
 
-    def _name_list(self, people: List[Tuple[str, str]]) -> str:
+    def _name_list(self, people: list[tuple[str, str]]) -> str:
         return ', '.join(
             name
             for name, email_ in people
             if not email_
         )
 
-    def _email_list(self, people: List[Tuple[str, str]]) -> str:
+    def _email_list(self, people: list[tuple[str, str]]) -> str:
         return ', '.join([
             '{}{}'.format(name, f' <{_email}>' if _email else '')
             for name, _email in people
@@ -338,7 +336,7 @@
         return requirement
 
     @staticmethod
-    def _get_license(fetcher: DataFetcher, project_dir: pathlib.Path) -> 
Optional[License]:
+    def _get_license(fetcher: DataFetcher, project_dir: pathlib.Path) -> 
License | None:
         if 'project.license' not in fetcher:
             return None
 
@@ -350,7 +348,7 @@
                     key=f'project.license.{field}',
                 )
 
-        file: Optional[pathlib.Path] = None
+        file: pathlib.Path | None = None
         filename = fetcher.get_str('project.license.file')
         text = fetcher.get_str('project.license.text')
 
@@ -367,20 +365,20 @@
                     f'License file not found (`{filename}`)',
                     key='project.license.file',
                 )
-            text = file.read_text()
+            text = file.read_text(encoding='utf-8')
 
         assert text is not None
         return License(text, file)
 
     @staticmethod
-    def _get_readme(fetcher: DataFetcher, project_dir: pathlib.Path) -> 
Optional[Readme]:  # noqa: C901
+    def _get_readme(fetcher: DataFetcher, project_dir: pathlib.Path) -> Readme 
| None:  # noqa: C901
         if 'project.readme' not in fetcher:
             return None
 
-        filename: Optional[str]
-        file: Optional[pathlib.Path] = None
-        text: Optional[str]
-        content_type: Optional[str]
+        filename: str | None
+        file: pathlib.Path | None = None
+        text: str | None
+        content_type: str | None
 
         readme = fetcher.get('project.readme')
         if isinstance(readme, str):
@@ -431,19 +429,19 @@
                     f'Readme file not found (`{filename}`)',
                     key='project.license.file',
                 )
-            text = file.read_text()
+            text = file.read_text(encoding='utf-8')
 
         assert text is not None
         return Readme(text, file, content_type)
 
     @staticmethod
-    def _get_dependencies(fetcher: DataFetcher) -> 
List[packaging.requirements.Requirement]:
+    def _get_dependencies(fetcher: DataFetcher) -> 
list[packaging.requirements.Requirement]:
         try:
             requirement_strings = fetcher.get_list('project.dependencies')
         except KeyError:
             return []
 
-        requirements: List[packaging.requirements.Requirement] = []
+        requirements: list[packaging.requirements.Requirement] = []
         for req in requirement_strings:
             try:
                 requirements.append(packaging.requirements.Requirement(req))
@@ -455,13 +453,13 @@
         return requirements
 
     @staticmethod
-    def _get_optional_dependencies(fetcher: DataFetcher) -> Dict[str, 
List[packaging.requirements.Requirement]]:
+    def _get_optional_dependencies(fetcher: DataFetcher) -> dict[str, 
list[packaging.requirements.Requirement]]:
         try:
             val = fetcher.get('project.optional-dependencies')
         except KeyError:
             return {}
 
-        requirements_dict: DefaultDict[str, 
List[packaging.requirements.Requirement]] = collections.defaultdict(list)
+        requirements_dict: collections.defaultdict[str, 
list[packaging.requirements.Requirement]] = collections.defaultdict(list)
         if not isinstance(val, dict):
             raise ConfigurationError(
                 'Field `project.optional-dependencies` has an invalid type, 
expecting a '
@@ -490,7 +488,7 @@
         return dict(requirements_dict)
 
     @staticmethod
-    def _get_entrypoints(fetcher: DataFetcher) -> Dict[str, Dict[str, str]]:
+    def _get_entrypoints(fetcher: DataFetcher) -> dict[str, dict[str, str]]:
         try:
             val = fetcher.get('project.entry-points')
         except KeyError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-pyproject-metadata-0.6.1/setup.cfg 
new/python-pyproject-metadata-0.7.1/setup.cfg
--- old/python-pyproject-metadata-0.6.1/setup.cfg       2022-07-07 
01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/setup.cfg       2023-01-30 
20:31:16.000000000 +0100
@@ -1,6 +1,6 @@
 [metadata]
 name = pyproject-metadata
-version = 0.6.1
+version = 0.7.1
 description = PEP 621 metadata parsing
 long_description = file: README.md
 long_description_content_type = text/markdown
@@ -34,14 +34,15 @@
 test =
     pytest>=6.2.4
     pytest-cov>=2
-    tomli>=1.0.0
+    tomli>=1.0.0;python_version<"3.11"
 docs =
     furo>=2020.11.19b18
     sphinx~=3.0
     sphinx-autodoc-typehints>=1.10.0
+    Jinja2<3.1  # https://github.com/readthedocs/readthedocs.org/issues/9038
 
 [flake8]
-max-line-length = 127
+max-line-length = 129
 max-complexity = 10
 extend-ignore = E203
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata/README.md 
new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata/README.md
--- old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata/README.md  
2022-07-07 01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata/README.md  
2023-01-30 20:31:16.000000000 +0100
@@ -1 +1 @@
-some readme
+some readme 👋
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata2/LICENSE 
new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata2/LICENSE
--- old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata2/LICENSE   
2022-07-07 01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata2/LICENSE   
2023-01-30 20:31:16.000000000 +0100
@@ -1 +1 @@
-Some license!
+Some license! 👋
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata2/README.rst 
new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata2/README.rst
--- 
old/python-pyproject-metadata-0.6.1/tests/packages/full-metadata2/README.rst    
    2022-07-07 01:47:51.000000000 +0200
+++ 
new/python-pyproject-metadata-0.7.1/tests/packages/full-metadata2/README.rst    
    2023-01-30 20:31:16.000000000 +0100
@@ -1 +1 @@
-some readme
+some readme 👋
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-pyproject-metadata-0.6.1/tests/test_standard_metadata.py 
new/python-pyproject-metadata-0.7.1/tests/test_standard_metadata.py
--- old/python-pyproject-metadata-0.6.1/tests/test_standard_metadata.py 
2022-07-07 01:47:51.000000000 +0200
+++ new/python-pyproject-metadata-0.7.1/tests/test_standard_metadata.py 
2023-01-30 20:31:16.000000000 +0100
@@ -7,7 +7,12 @@
 import packaging.specifiers
 import packaging.version
 import pytest
-import tomli
+
+
+try:
+    import tomllib
+except ImportError:
+    import tomli as tomllib
 
 import pyproject_metadata
 
@@ -231,7 +236,6 @@
             (
                 'Field `project.dependencies` contains an invalid PEP 508 
requirement '
                 'string `definitely not a valid PEP 508 requirement!` '
-                '(`Parse error at "\'not a va\'": Expected string_end`)'
             ),
         ),
         # optional-dependencies
@@ -284,7 +288,6 @@
             (
                 'Field `project.optional-dependencies.test` contains an 
invalid '
                 'PEP 508 requirement string `definitely not a valid PEP 508 
requirement!` '
-                '(`Parse error at "\'not a va\'": Expected string_end`)'
             ),
         ),
         # requires-python
@@ -478,12 +481,12 @@
 )
 def test_load(package, data, error):
     with pytest.raises(pyproject_metadata.ConfigurationError, 
match=re.escape(error)):
-        pyproject_metadata.StandardMetadata.from_pyproject(tomli.loads(data))
+        pyproject_metadata.StandardMetadata.from_pyproject(tomllib.loads(data))
 
 
 def test_value(package):
     with open('pyproject.toml', 'rb') as f:
-        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
 
     assert metadata.dynamic == []
     assert metadata.name == 'full-metadata'
@@ -492,7 +495,7 @@
     assert metadata.license.file is None
     assert metadata.license.text == 'some license text'
     assert metadata.readme.file == pathlib.Path('README.md')
-    assert metadata.readme.text == pathlib.Path('README.md').read_text()
+    assert metadata.readme.text == 
pathlib.Path('README.md').read_text(encoding='utf-8')
     assert metadata.readme.content_type == 'text/markdown'
     assert metadata.description == 'A package with all the metadata :)'
     assert metadata.authors == [
@@ -541,10 +544,10 @@
 
 def test_read_license(package2):
     with open('pyproject.toml', 'rb') as f:
-        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
 
     assert metadata.license.file == pathlib.Path('LICENSE')
-    assert metadata.license.text == 'Some license!\n'
+    assert metadata.license.text == 'Some license! 👋\n'
 
 
 @pytest.mark.parametrize(
@@ -556,7 +559,7 @@
 )
 def test_readme_content_type(package, content_type):
     with cd_package(package), open('pyproject.toml', 'rb') as f:
-        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
 
     assert metadata.readme.content_type == content_type
 
@@ -566,12 +569,12 @@
         pyproject_metadata.ConfigurationError,
         match=re.escape('Could not infer content type for readme file 
`README.just-made-this-up-now`'),
     ), open('pyproject.toml', 'rb') as f:
-        pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
 
 
 def test_as_rfc822(package):
     with open('pyproject.toml', 'rb') as f:
-        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
     core_metadata = metadata.as_rfc822()
     assert core_metadata.headers == {
         'Metadata-Version': ['2.1'],
@@ -609,12 +612,12 @@
         ],
         'Description-Content-Type': ['text/markdown'],
     }
-    assert core_metadata.body == 'some readme\n'
+    assert core_metadata.body == 'some readme 👋\n'
 
 
 def test_as_rfc822_dynamic(package_dynamic_description):
     with open('pyproject.toml', 'rb') as f:
-        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomli.load(f))
+        metadata = 
pyproject_metadata.StandardMetadata.from_pyproject(tomllib.load(f))
     core_metadata = metadata.as_rfc822()
     assert dict(core_metadata.headers) == {
         'Metadata-Version': ['2.2'],

Reply via email to