Hello community, here is the log from the commit of package python-packaging for openSUSE:Factory checked in at 2016-06-07 23:49:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-packaging (Old) and /work/SRC/openSUSE:Factory/.python-packaging.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-packaging" Changes: -------- --- /work/SRC/openSUSE:Factory/python-packaging/python-packaging.changes 2016-03-11 09:38:27.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-packaging.new/python-packaging.changes 2016-06-07 23:49:35.000000000 +0200 @@ -1,0 +2,9 @@ +Wed May 25 10:55:53 UTC 2016 - [email protected] + +- update to 16.7: + * Add support for the deprecated ``python_implementation`` marker which was + an undocumented setuptools marker in addition to the newer markers. + * Add support for the deprecated, PEP 345 environment markers in addition to + the newer markers. + +------------------------------------------------------------------- Old: ---- packaging-16.5.tar.gz New: ---- packaging-16.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-packaging.spec ++++++ --- /var/tmp/diff_new_pack.1y5zFl/_old 2016-06-07 23:49:36.000000000 +0200 +++ /var/tmp/diff_new_pack.1y5zFl/_new 2016-06-07 23:49:36.000000000 +0200 @@ -17,13 +17,13 @@ Name: python-packaging -Version: 16.5 +Version: 16.7 Release: 0 Summary: Core utilities for Python packages License: Apache-2.0 Group: Development/Languages/Python Url: https://github.com/pypa/packaging -Source: https://pypi.python.org/packages/source/p/packaging/packaging-%{version}.tar.gz +Source: https://pypi.io/packages/source/p/packaging/packaging-%{version}.tar.gz BuildRequires: python-devel BuildRequires: python-pretend BuildRequires: python-pyparsing ++++++ packaging-16.5.tar.gz -> packaging-16.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/CHANGELOG.rst new/packaging-16.7/CHANGELOG.rst --- old/packaging-16.5/CHANGELOG.rst 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/CHANGELOG.rst 2016-04-23 22:29:17.000000000 +0200 @@ -1,6 +1,20 @@ Changelog --------- +16.7 - 2016-04-23 +~~~~~~~~~~~~~~~~~ + +* Add support for the deprecated ``python_implementation`` marker which was + an undocumented setuptools marker in addition to the newer markers. + + +16.6 - 2016-03-29 +~~~~~~~~~~~~~~~~~ + +* Add support for the deprecated, PEP 345 environment markers in addition to + the newer markers. + + 16.5 - 2016-02-26 ~~~~~~~~~~~~~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/PKG-INFO new/packaging-16.7/PKG-INFO --- old/packaging-16.5/PKG-INFO 2016-02-26 19:29:10.000000000 +0100 +++ new/packaging-16.7/PKG-INFO 2016-04-23 22:33:25.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: packaging -Version: 16.5 +Version: 16.7 Summary: Core utilities for Python packages Home-page: https://github.com/pypa/packaging Author: Donald Stufft and individual contributors @@ -41,6 +41,20 @@ Changelog --------- + 16.7 - 2016-04-23 + ~~~~~~~~~~~~~~~~~ + + * Add support for the deprecated ``python_implementation`` marker which was + an undocumented setuptools marker in addition to the newer markers. + + + 16.6 - 2016-03-29 + ~~~~~~~~~~~~~~~~~ + + * Add support for the deprecated, PEP 345 environment markers in addition to + the newer markers. + + 16.5 - 2016-02-26 ~~~~~~~~~~~~~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/docs/specifiers.rst new/packaging-16.7/docs/specifiers.rst --- old/packaging-16.5/docs/specifiers.rst 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/docs/specifiers.rst 2016-03-29 17:15:36.000000000 +0200 @@ -48,10 +48,10 @@ Reference --------- -.. class:: SpeciferSet(specifiers, prereleases=None) +.. class:: SpecifierSet(specifiers, prereleases=None) This class abstracts handling specifying the dependencies of a project. It - can be passed a single specifier (``>=3.0``), a comma seperated list of + can be passed a single specifier (``>=3.0``), a comma-separated list of specifiers (``>=3.0,!=3.1``), or no specifier at all. Each individual specifier be attempted to be parsed as a PEP 440 specifier (:class:`Specifier`) or as a legacy, setuptools style specifier @@ -59,11 +59,11 @@ using the ``&`` operator (``SpecifierSet(">2") & SpecifierSet("<4")``). Both the membership tests and the combination support using raw strings - in place of already instatiated bojects. + in place of already instantiated objects. - :param str specifiers: The string representation of a specifier or a comma - seperated list of specifiers which will be parsed and - normalized before use. + :param str specifiers: The string representation of a specifier or a + comma-separated list of specifiers which will + be parsed and normalized before use. :param bool prereleases: This tells the SpecifierSet if it should accept prerelease versions if applicable or not. The default of ``None`` will autodetect it from the @@ -74,7 +74,7 @@ .. attribute:: prereleases A boolean value indicating whether this :class:`SpecifierSet` - represents a specifier that includesa pre-release versions. This can be + represents a specifier that includes a pre-release versions. This can be set to either ``True`` or ``False`` to explicitly enable or disable prereleases or it can be set to ``None`` (the default) to enable autodetection. @@ -130,8 +130,8 @@ .. class:: Specifier(specifier, prereleases=None) - This class abstracts the handling of a single `PEP 440`_ compataible - specifier. It is generally not required to instatiate this manually, + This class abstracts the handling of a single `PEP 440`_ compatible + specifier. It is generally not required to instantiate this manually, preferring instead to work with :class:`SpecifierSet`. :param str specifier: The string representation of a specifier which will @@ -170,8 +170,8 @@ .. class:: LegacySpecifier(specifier, prereleases=None) - This class abstracts the handling of a single legacy, setuptools tyle - specifier. It is generally not required to instatiate this manually, + This class abstracts the handling of a single legacy, setuptools style + specifier. It is generally not required to instantiate this manually, preferring instead to work with :class:`SpecifierSet`. :param str specifier: The string representation of a specifier which will @@ -180,7 +180,7 @@ prerelease versions if applicable or not. The default of ``None`` will autodetect it from the given specifiers. - :raises InvalidSpecifier: If the ``specifier`` is not parseable than this + :raises InvalidSpecifier: If the ``specifier`` is not parseable then this will be raised. .. attribute:: operator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/docs/version.rst new/packaging-16.7/docs/version.rst --- old/packaging-16.5/docs/version.rst 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/docs/version.rst 2016-03-29 17:15:36.000000000 +0200 @@ -136,7 +136,7 @@ .. data:: VERSION_PATTERN A string containing the regular expression used to match a valid version. - The patterm is not anchored at either end, and is intended for embedding + The pattern is not anchored at either end, and is intended for embedding in larger expressions (for example, matching a version number as part of a file name). The regular expression should be compiled with the ``re.VERBOSE`` and ``re.IGNORECASE`` flags set. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/packaging/__about__.py new/packaging-16.7/packaging/__about__.py --- old/packaging-16.5/packaging/__about__.py 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/packaging/__about__.py 2016-04-23 22:29:37.000000000 +0200 @@ -12,7 +12,7 @@ __summary__ = "Core utilities for Python packages" __uri__ = "https://github.com/pypa/packaging" -__version__ = "16.5" +__version__ = "16.7" __author__ = "Donald Stufft and individual contributors" __email__ = "[email protected]" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/packaging/markers.py new/packaging-16.7/packaging/markers.py --- old/packaging-16.5/packaging/markers.py 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/packaging/markers.py 2016-04-23 22:27:35.000000000 +0200 @@ -73,9 +73,23 @@ L("python_version") | L("sys_platform") | L("os_name") | + L("os.name") | # PEP-345 + L("sys.platform") | # PEP-345 + L("platform.version") | # PEP-345 + L("platform.machine") | # PEP-345 + L("platform.python_implementation") | # PEP-345 + L("python_implementation") | # undocumented setuptools legacy L("extra") ) -VARIABLE.setParseAction(lambda s, l, t: Variable(t[0])) +ALIASES = { + 'os.name': 'os_name', + 'sys.platform': 'sys_platform', + 'platform.version': 'platform_version', + 'platform.machine': 'platform_machine', + 'platform.python_implementation': 'platform_python_implementation', + 'python_implementation': 'platform_python_implementation' +} +VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) VERSION_CMP = ( L("===") | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/packaging.egg-info/PKG-INFO new/packaging-16.7/packaging.egg-info/PKG-INFO --- old/packaging-16.5/packaging.egg-info/PKG-INFO 2016-02-26 19:29:10.000000000 +0100 +++ new/packaging-16.7/packaging.egg-info/PKG-INFO 2016-04-23 22:33:25.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: packaging -Version: 16.5 +Version: 16.7 Summary: Core utilities for Python packages Home-page: https://github.com/pypa/packaging Author: Donald Stufft and individual contributors @@ -41,6 +41,20 @@ Changelog --------- + 16.7 - 2016-04-23 + ~~~~~~~~~~~~~~~~~ + + * Add support for the deprecated ``python_implementation`` marker which was + an undocumented setuptools marker in addition to the newer markers. + + + 16.6 - 2016-03-29 + ~~~~~~~~~~~~~~~~~ + + * Add support for the deprecated, PEP 345 environment markers in addition to + the newer markers. + + 16.5 - 2016-02-26 ~~~~~~~~~~~~~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/setup.cfg new/packaging-16.7/setup.cfg --- old/packaging-16.5/setup.cfg 2016-02-26 19:29:10.000000000 +0100 +++ new/packaging-16.7/setup.cfg 2016-04-23 22:33:25.000000000 +0200 @@ -2,7 +2,7 @@ universal = 1 [egg_info] +tag_svn_revision = 0 tag_date = 0 tag_build = -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/packaging-16.5/tests/test_markers.py new/packaging-16.7/tests/test_markers.py --- old/packaging-16.5/tests/test_markers.py 2016-02-26 19:29:04.000000000 +0100 +++ new/packaging-16.7/tests/test_markers.py 2016-04-23 22:27:35.000000000 +0200 @@ -19,12 +19,21 @@ VARIABLES = [ - "extra", "implementation_version", "implementation_version", "os_name", + "extra", "implementation_name", "implementation_version", "os_name", "platform_machine", "platform_release", "platform_system", "platform_version", "python_full_version", "python_version", "platform_python_implementation", "sys_platform", ] +PEP_345_VARIABLES = [ + "os.name", "sys.platform", "platform.version", "platform.machine", + "platform.python_implementation", +] + +SETUPTOOLS_VARIABLES = [ + "python_implementation", +] + OPERATORS = [ "===", "==", ">=", "<=", "!=", "~=", ">", "<", "in", "not in", ] @@ -295,3 +304,67 @@ def test_evaluates(self, marker_string, environment, expected): args = [] if environment is None else [environment] assert Marker(marker_string).evaluate(*args) == expected + + @pytest.mark.parametrize( + "marker_string", + [ + "{0} {1} {2!r}".format(*i) + for i in itertools.product(PEP_345_VARIABLES, OPERATORS, VALUES) + ] + [ + "{2!r} {1} {0}".format(*i) + for i in itertools.product(PEP_345_VARIABLES, OPERATORS, VALUES) + ], + ) + def test_parses_pep345_valid(self, marker_string): + Marker(marker_string) + + @pytest.mark.parametrize( + ("marker_string", "environment", "expected"), + [ + ("os.name == '{0}'".format(os.name), None, True), + ("sys.platform == 'win32'", {"sys_platform": "linux2"}, False), + ( + "platform.version in 'Ubuntu'", + {"platform_version": "#39"}, + False, + ), + ( + "platform.machine=='x86_64'", + {"platform_machine": "x86_64"}, + True, + ), + ( + "platform.python_implementation=='Jython'", + {"platform_python_implementation": "CPython"}, + False, + ), + ( + "python_version == '2.5' and platform.python_implementation" + "!= 'Jython'", + {"python_version": "2.7"}, + False, + ), + ], + ) + def test_evaluate_pep345_markers(self, marker_string, environment, + expected): + args = [] if environment is None else [environment] + assert Marker(marker_string).evaluate(*args) == expected + + @pytest.mark.parametrize( + "marker_string", + [ + "{0} {1} {2!r}".format(*i) + for i in itertools.product(SETUPTOOLS_VARIABLES, OPERATORS, VALUES) + ] + [ + "{2!r} {1} {0}".format(*i) + for i in itertools.product(SETUPTOOLS_VARIABLES, OPERATORS, VALUES) + ], + ) + def test_parses_setuptools_legacy_valid(self, marker_string): + Marker(marker_string) + + def test_evaluate_setuptools_legacy_markers(self): + marker_string = "python_implementation=='Jython'" + args = [{"platform_python_implementation": "CPython"}] + assert Marker(marker_string).evaluate(*args) is False
