Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pep517 for openSUSE:Factory checked in at 2021-11-20 02:38:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pep517 (Old) and /work/SRC/openSUSE:Factory/.python-pep517.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pep517" Sat Nov 20 02:38:00 2021 rev:9 rq:931423 version:0.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pep517/python-pep517.changes 2021-10-25 15:17:34.613681015 +0200 +++ /work/SRC/openSUSE:Factory/.python-pep517.new.1895/python-pep517.changes 2021-11-20 02:38:03.380994740 +0100 @@ -1,0 +2,6 @@ +Sun Nov 7 18:14:13 UTC 2021 - Dirk M??ller <[email protected]> + +- update to 0.12.0: + * Fix DeprecationWarning in tomli. + +------------------------------------------------------------------- Old: ---- pep517-0.11.0.tar.gz New: ---- pep517-0.12.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pep517.spec ++++++ --- /var/tmp/diff_new_pack.6JELUw/_old 2021-11-20 02:38:04.120992298 +0100 +++ /var/tmp/diff_new_pack.6JELUw/_new 2021-11-20 02:38:04.120992298 +0100 @@ -26,7 +26,7 @@ %endif %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pep517%{psuffix} -Version: 0.11.0 +Version: 0.12.0 Release: 0 Summary: Wrappers to build Python packages using PEP 517 hooks License: MIT ++++++ pep517-0.11.0.tar.gz -> pep517-0.12.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/.bumpversion.cfg new/pep517-0.12.0/.bumpversion.cfg --- old/pep517-0.11.0/.bumpversion.cfg 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/.bumpversion.cfg 2021-10-18 11:14:10.253351700 +0200 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.11.0 +current_version = 0.12.0 commit = True tag = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/PKG-INFO new/pep517-0.12.0/PKG-INFO --- old/pep517-0.11.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/pep517-0.12.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +1,106 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: pep517 -Version: 0.11.0 +Version: 0.12.0 Summary: Wrappers to build Python packages using PEP 517 hooks Home-page: https://github.com/pypa/pep517 Author: Thomas Kluyver Author-email: [email protected] +Description-Content-Type: text/x-rst +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Requires-Dist: toml;python_version<'3.6' +Requires-Dist: tomli >=1.1.0;python_version>='3.6' +Requires-Dist: importlib_metadata;python_version<'3.8' +Requires-Dist: zipp;python_version<'3.8' + +API to call PEP 517 hooks +========================= + +`PEP 517 <https://www.python.org/dev/peps/pep-0517/>`_ specifies a standard +API for systems which build Python packages. + +`PEP 660 <https://www.python.org/dev/peps/pep-0660/>`_ extends it with a build +mode that leads to editable installs. + +This package contains wrappers around the hooks specified by PEP 517 and +PEP 660. It provides: + +- A mechanism to call the hooks in a subprocess, so they are isolated from + the current process. +- Fallbacks for the optional hooks, so that frontends can call the hooks without + checking which are defined. + +Run the tests with ``pytest`` or `tox <https://pypi.org/project/tox>`_. + +Usage???you are responsible for ensuring build requirements are available: + +.. code-block:: python + + import os + import tomli + from pep517.wrappers import Pep517HookCaller + + src = 'path/to/source' # Folder containing 'pyproject.toml' + with open(os.path.join(src, 'pyproject.toml')) as f: + build_sys = tomli.load(f)['build-system'] + + print(build_sys['requires']) # List of static requirements + # The caller is responsible for installing these and running the hooks in + # an environment where they are available. + + hooks = Pep517HookCaller( + src, + build_backend=build_sys['build-backend'], + backend_path=build_sys.get('backend-path'), + ) + + config_options = {} # Optional parameters for backend + # List of dynamic requirements: + print(hooks.get_requires_for_build_wheel(config_options)) + # Again, the caller is responsible for installing these build requirements + + destination = 'also/a/folder' + whl_filename = hooks.build_wheel(destination, config_options) + assert os.path.isfile(os.path.join(destination, whl_filename)) + +Deprecated high-level +--------------------- + +For now, ``pep517`` also contains higher-level functions which install the build +dependencies into a temporary environment and build a wheel/sdist using them. +This is a rough implementation, e.g. it does not do proper build isolation. +The `PyPA build project <https://github.com/pypa/build>`_ is recommended as an +alternative, although it's still quite young in October 2020. +This layer of functionality in ``pep517`` is now deprecated, but won't be +removed for some time, as there is code relying on it. + +High level usage, with build requirements handled: + +.. code-block:: python + + import os + from pep517.envbuild import build_wheel, build_sdist + + src = 'path/to/source' # Folder containing 'pyproject.toml' + destination = 'also/a/folder' + whl_filename = build_wheel(src, destination) + assert os.path.isfile(os.path.join(destination, whl_filename)) + + targz_filename = build_sdist(src, destination) + assert os.path.isfile(os.path.join(destination, targz_filename)) + +To test the build backend for a project, run in a system shell: + +.. code-block:: shell + + python3 -m pep517.check path/to/source # source dir containing pyproject.toml + +To build a backend into source and/or binary distributions, run in a shell: + +.. code-block:: shell + + python -m pep517.build path/to/source # source dir containing pyproject.toml + +All of this high-level functionality is deprecated. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/dev-requirements.txt new/pep517-0.12.0/dev-requirements.txt --- old/pep517-0.11.0/dev-requirements.txt 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/dev-requirements.txt 2021-10-18 11:14:10.253351700 +0200 @@ -1,5 +1,7 @@ pytest pytest-flake8 +flake8 < 4 # https://github.com/tholo/pytest-flake8/issues/81 +pytest-forward-compatibility; python_version<'3' mock ; python_version<'3.6' testpath toml ; python_version<'3.6' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/doc/changelog.rst new/pep517-0.12.0/doc/changelog.rst --- old/pep517-0.11.0/doc/changelog.rst 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/doc/changelog.rst 2021-10-18 11:14:10.253351700 +0200 @@ -1,6 +1,11 @@ Changelog ========= +0.11.1 +------ + +- Fix DeprecationWarning in tomli. + 0.11 ---- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/__init__.py new/pep517-0.12.0/pep517/__init__.py --- old/pep517-0.11.0/pep517/__init__.py 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/pep517/__init__.py 2021-10-18 11:14:10.253351700 +0200 @@ -1,6 +1,6 @@ """Wrappers to build Python packages using PEP 517 hooks """ -__version__ = '0.11.0' +__version__ = '0.12.0' from .wrappers import * # noqa: F401, F403 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/build.py new/pep517-0.12.0/pep517/build.py --- old/pep517-0.11.0/pep517/build.py 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/pep517/build.py 2021-10-18 11:14:10.253351700 +0200 @@ -31,7 +31,7 @@ Load the build system from a source dir (pyproject.toml). """ pyproject = os.path.join(source_dir, 'pyproject.toml') - with io.open(pyproject, encoding="utf-8") as f: + with io.open(pyproject, 'rb') as f: pyproject_data = toml_load(f) return pyproject_data['build-system'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/check.py new/pep517-0.12.0/pep517/check.py --- old/pep517-0.11.0/pep517/check.py 2021-07-18 19:59:22.816304000 +0200 +++ new/pep517-0.12.0/pep517/check.py 2021-10-18 11:14:10.253351700 +0200 @@ -142,7 +142,7 @@ return False try: - with io.open(pyproject, encoding="utf-8") as f: + with io.open(pyproject, 'rb') as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/compat.py new/pep517-0.12.0/pep517/compat.py --- old/pep517-0.11.0/pep517/compat.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pep517/compat.py 2021-10-18 11:14:10.253351700 +0200 @@ -1,4 +1,5 @@ """Python 2/3 compatibility""" +import io import json import sys @@ -35,7 +36,15 @@ if sys.version_info < (3, 6): - from toml import load as toml_load # noqa: F401 + from toml import load as _toml_load # noqa: F401 + + def toml_load(f): + w = io.TextIOWrapper(f, encoding="utf8", newline="") + try: + return _toml_load(w) + finally: + w.detach() + from toml import TomlDecodeError as TOMLDecodeError # noqa: F401 else: from tomli import load as toml_load # noqa: F401 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/envbuild.py new/pep517-0.12.0/pep517/envbuild.py --- old/pep517-0.11.0/pep517/envbuild.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pep517/envbuild.py 2021-10-18 11:14:10.253351700 +0200 @@ -19,7 +19,7 @@ def _load_pyproject(source_dir): with io.open( os.path.join(source_dir, 'pyproject.toml'), - encoding="utf-8", + 'rb', ) as f: pyproject_data = toml_load(f) buildsys = pyproject_data['build-system'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/in_process/_in_process.py new/pep517-0.12.0/pep517/in_process/_in_process.py --- old/pep517-0.11.0/pep517/in_process/_in_process.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pep517/in_process/_in_process.py 2021-10-18 11:14:10.253351700 +0200 @@ -103,6 +103,19 @@ return obj +def _supported_features(): + """Return the list of options features supported by the backend. + + Returns a list of strings. + The only possible value is 'build_editable'. + """ + backend = _build_backend() + features = [] + if hasattr(backend, "build_editable"): + features.append("build_editable") + return features + + def get_requires_for_build_wheel(config_settings): """Invoke the optional get_requires_for_build_wheel hook @@ -312,6 +325,7 @@ 'build_editable', 'get_requires_for_build_sdist', 'build_sdist', + '_supported_features', } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pep517/wrappers.py new/pep517-0.12.0/pep517/wrappers.py --- old/pep517-0.11.0/pep517/wrappers.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pep517/wrappers.py 2021-10-18 11:14:10.253351700 +0200 @@ -154,6 +154,10 @@ finally: self._subprocess_runner = prev + def _supported_features(self): + """Return the list of optional features supported by the backend.""" + return self._call_hook('_supported_features', {}) + def get_requires_for_build_wheel(self, config_settings=None): """Identify packages required for building a wheel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pyproject.toml new/pep517-0.12.0/pyproject.toml --- old/pep517-0.11.0/pyproject.toml 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pyproject.toml 2021-10-18 11:14:10.253351700 +0200 @@ -10,7 +10,7 @@ description-file = "README.rst" requires = [ "toml;python_version<'3.6'", - "tomli;python_version>='3.6'", + "tomli >=1.1.0;python_version>='3.6'", "importlib_metadata;python_version<'3.8'", "zipp;python_version<'3.8'", ] @@ -19,4 +19,3 @@ "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", ] - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/pytest.ini new/pep517-0.12.0/pytest.ini --- old/pep517-0.11.0/pytest.ini 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/pytest.ini 2021-10-18 11:14:10.253351700 +0200 @@ -1,2 +1,11 @@ [pytest] -addopts=--flake8 +addopts = + --strict-config + --strict-markers + --flake8 +xfail_strict = True +junit_family = xunit2 +filterwarnings = + error + # Suppress deprecation warning in flake8 + ignore:SelectableGroups dict interface is deprecated::flake8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/setup.py new/pep517-0.12.0/setup.py --- old/pep517-0.11.0/setup.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pep517-0.12.0/setup.py 1970-01-01 01:00:00.000000000 +0100 @@ -12,10 +12,10 @@ extras_require = \ {":python_version<'3.6'": ['toml'], ":python_version<'3.8'": ['importlib_metadata', 'zipp'], - ":python_version>='3.6'": ['tomli']} + ":python_version>='3.6'": ['tomli >=1.1.0']} setup(name='pep517', - version='0.11.0', + version='0.12.0', description='Wrappers to build Python packages using PEP 517 hooks', author='Thomas Kluyver', author_email='[email protected]', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/tests/test_call_hooks.py new/pep517-0.12.0/tests/test_call_hooks.py --- old/pep517-0.11.0/tests/test_call_hooks.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/tests/test_call_hooks.py 2021-10-18 11:14:10.257351900 +0200 @@ -29,7 +29,7 @@ def get_hooks(pkg, **kwargs): source_dir = pjoin(SAMPLES_DIR, pkg) - with io.open(pjoin(source_dir, 'pyproject.toml'), encoding="utf-8") as f: + with io.open(pjoin(source_dir, 'pyproject.toml'), 'rb') as f: data = toml_load(f) return Pep517HookCaller( source_dir, data['build-system']['build-backend'], **kwargs @@ -211,3 +211,18 @@ # Some versions of setuptools list setuptools itself here res = [x for x in res if x != 'setuptools'] assert res == ['wheel'] + + [email protected]( + ("pkg", "expected"), + [ + ("pkg1", ["build_editable"]), + ("pkg2", []), + ("pkg3", ["build_editable"]), + ], +) +def test__supported_features(pkg, expected): + hooks = get_hooks(pkg) + with modified_env({"PYTHONPATH": BUILDSYS_PKGS}): + res = hooks._supported_features() + assert res == expected diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/tests/test_hook_fallbacks.py new/pep517-0.12.0/tests/test_hook_fallbacks.py --- old/pep517-0.11.0/tests/test_hook_fallbacks.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/tests/test_hook_fallbacks.py 2021-10-18 11:14:10.257351900 +0200 @@ -13,7 +13,7 @@ def get_hooks(pkg): source_dir = pjoin(SAMPLES_DIR, pkg) - with io.open(pjoin(source_dir, 'pyproject.toml'), encoding="utf-8") as f: + with io.open(pjoin(source_dir, 'pyproject.toml'), 'rb') as f: data = toml_load(f) return Pep517HookCaller(source_dir, data['build-system']['build-backend']) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/tests/test_inplace_hooks.py new/pep517-0.12.0/tests/test_inplace_hooks.py --- old/pep517-0.11.0/tests/test_inplace_hooks.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/tests/test_inplace_hooks.py 2021-10-18 11:14:10.257351900 +0200 @@ -13,7 +13,7 @@ def get_hooks(pkg, backend=None, path=None): source_dir = pjoin(SAMPLES_DIR, pkg) - with io.open(pjoin(source_dir, 'pyproject.toml'), encoding="utf-8") as f: + with io.open(pjoin(source_dir, 'pyproject.toml'), 'rb') as f: data = toml_load(f) if backend is None: backend = data['build-system']['build-backend'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pep517-0.11.0/tests/test_meta.py new/pep517-0.12.0/tests/test_meta.py --- old/pep517-0.11.0/tests/test_meta.py 2021-07-18 19:59:22.820304000 +0200 +++ new/pep517-0.12.0/tests/test_meta.py 2021-10-18 11:14:10.257351900 +0200 @@ -13,7 +13,6 @@ ) -@pep517_needs_python_3 def test_meta_for_this_package(): dist = meta.load('.') assert re.match(r'[\d.]+', dist.version) @@ -30,7 +29,6 @@ assert dist.metadata['Name'] == 'foo' -@pep517_needs_python_3 def test_meta_output(capfd): """load shouldn't emit any output""" meta.load('.')
