commit python-atpublic for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-atpublic for openSUSE:Factory checked in at 2021-05-21 21:50:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-atpublic (Old) and /work/SRC/openSUSE:Factory/.python-atpublic.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-atpublic" Fri May 21 21:50:18 2021 rev:3 rq:894788 version:2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-atpublic/python-atpublic.changes 2020-12-02 13:58:15.781803772 +0100 +++ /work/SRC/openSUSE:Factory/.python-atpublic.new.2988/python-atpublic.changes 2021-05-21 21:50:32.834101463 +0200 @@ -1,0 +2,16 @@ +Fri May 21 08:42:52 UTC 2021 - pgajdos@suse.com + +- version update to 2.3 + 2.3 (2021-04-13) + ================ + * Do type hinting the right way. (GL#10) + + 2.2 (2021-04-13) + ================ + * ``public()`` and ``private()`` can't be correctly type annotated, so the + type hints on these two functions have been removed. The ``ModuleAware`` + was also removed. (GL#10) + * Added a ``py.typed`` file to satisfy type checkers. (GL#9) + * Fixed a documentation cross-reference bug. + +------------------------------------------------------------------- Old: ---- atpublic-2.1.1.tar.gz New: ---- atpublic-2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-atpublic.spec ++++++ --- /var/tmp/diff_new_pack.Mjd2no/_old 2021-05-21 21:50:33.246099757 +0200 +++ /var/tmp/diff_new_pack.Mjd2no/_new 2021-05-21 21:50:33.246099757 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-atpublic # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-atpublic -Version: 2.1.1 +Version: 2.3 Release: 0 Summary: @public decorator for populating __all__ License: Apache-2.0 ++++++ atpublic-2.1.1.tar.gz -> atpublic-2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/LICENSE new/public-2.3/LICENSE --- old/public-2.1.1/LICENSE 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/LICENSE 2021-04-14 03:23:18.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright 2016-2020 Barry Warsaw +Copyright 2016-2021 Barry Warsaw Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/MANIFEST.in new/public-2.3/MANIFEST.in --- old/public-2.1.1/MANIFEST.in 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/MANIFEST.in 2021-04-14 03:23:18.000000000 +0200 @@ -1,5 +1,7 @@ include *.py MANIFEST.in LICENSE README.rst -global-include *.txt *.rst *.ini *.c *.h *.cfg +global-include *.txt *.rst *.ini *.c *.h *.cfg py.typed +recursive-include test *.py +recursive-include docs *.py exclude .gitignore exclude *.so prune build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/README.rst new/public-2.3/README.rst --- old/public-2.1.1/README.rst 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/README.rst 2021-04-14 03:23:18.000000000 +0200 @@ -10,7 +10,7 @@ Author ====== -``public`` is Copyright (C) 2016-2020 Barry Warsaw <barry@python.org> +``public`` is Copyright (C) 2016-2021 Barry Warsaw <barry@python.org> Licensed under the terms of the Apache License Version 2.0. See the LICENSE file for details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/docs/NEWS.rst new/public-2.3/docs/NEWS.rst --- old/public-2.1.1/docs/NEWS.rst 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/docs/NEWS.rst 2021-04-14 03:23:18.000000000 +0200 @@ -2,6 +2,27 @@ @public NEWS ============== +2.3 (2021-04-13) +================ +* Do type hinting the right way. (GL#10) + +2.2 (2021-04-13) +================ +* ``public()`` and ``private()`` can't be correctly type annotated, so the + type hints on these two functions have been removed. The ``ModuleAware`` + was also removed. (GL#10) +* Added a ``py.typed`` file to satisfy type checkers. (GL#9) +* Fixed a documentation cross-reference bug. + +2.1.3 (2021-02-15) +================== +* I `blue <https://blue.readthedocs.io/en/latest/>`_ it! + +2.1.2 (2021-01-01) +================== +* Update copyright years. +* Include ``test/__init__.py`` and ``docs/__init__.py`` (GL#9) + 2.1.1 (2020-10-22) ================== * Rename top-level tests/ directory to test/ (GL#8) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/docs/apiref.rst new/public-2.3/docs/apiref.rst --- old/public-2.1.1/docs/apiref.rst 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/docs/apiref.rst 2021-04-14 03:23:18.000000000 +0200 @@ -10,9 +10,3 @@ .. autofunction:: public.private .. autofunction:: public.install - - -Types: - -.. autoclass:: public.ModuleAware - :members: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/docs/conf.py new/public-2.3/docs/conf.py --- old/public-2.1.1/docs/conf.py 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/docs/conf.py 2021-04-14 03:23:18.000000000 +0200 @@ -47,7 +47,7 @@ # General information about the project. project = u'public' -copyright = u'2016-2020 by Barry Warsaw' +copyright = u'2016-2021 by Barry Warsaw' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/docs/index.rst new/public-2.3/docs/index.rst --- old/public-2.1.1/docs/index.rst 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/docs/index.rst 2021-04-14 03:23:18.000000000 +0200 @@ -53,7 +53,7 @@ Copyright ========= -Copyright (C) 2016-2020 Barry A. Warsaw +Copyright (C) 2016-2021 Barry A. Warsaw Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -81,5 +81,5 @@ NEWS -.. _`simple guide`: docs/using.html -.. _`API reference`: docs/apiref.html +.. _`simple guide`: using.html +.. _`API reference`: apiref.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/public/__init__.py new/public-2.3/public/__init__.py --- old/public-2.1.1/public/__init__.py 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/public/__init__.py 2021-04-14 03:23:18.000000000 +0200 @@ -1,20 +1,27 @@ from .private import private from .public import public -from .types import ModuleAware -__version__ = '2.1.1' +__version__ = '2.3' def install() -> None: """Install @public and @private into builtins.""" import builtins + builtins.public = public # type: ignore [attr-defined] builtins.private = private # type: ignore [attr-defined] +# mypy does not understand that __all__ gets populated at runtime via the +# following call, +__all__ = [ + 'private', + 'public', +] + + public( - ModuleAware=ModuleAware, - public=public, private=private, - ) + public=public, +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/public/public.py new/public-2.3/public/public.py --- old/public-2.1.1/public/public.py 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/public/public.py 2021-04-14 03:23:18.000000000 +0200 @@ -1,14 +1,21 @@ import sys -from typing import Any, Optional +from typing import Any, overload from .types import ModuleAware -# http://bugs.python.org/issue26632 -def public(thing: Optional[ModuleAware] = None, - **kws: Any - ) -> Optional[ModuleAware]: +@overload +def public(thing: ModuleAware) -> ModuleAware: + ... # pragma: no cover + + +@overload +def public(**kws: Any) -> None: + ... # pragma: no cover + + +def public(thing=None, **kws): # type: ignore """Add a name or names to __all__ There are two forms of use for this function. Most commonly it will @@ -43,7 +50,8 @@ sys._getframe(1).f_globals if thing is None # The decorator syntax. - else sys.modules[thing.__module__].__dict__) + else sys.modules[thing.__module__].__dict__ + ) dunder_all = mdict.setdefault('__all__', []) if not isinstance(dunder_all, list): raise ValueError(f'__all__ must be a list not: {type(dunder_all)}') @@ -59,8 +67,9 @@ # I think it's impossible to use the @public decorator and pass in # keyword arguments. Not quite syntactically impossible, but you'll # get a TypeError if you try it, before you even get to this code. - assert len(kws) == 0, ( - 'Keyword arguments are incompatible with use as decorator') + assert ( + len(kws) == 0 + ), 'Keyword arguments are incompatible with use as decorator' if thing.__name__ not in dunder_all: dunder_all.append(thing.__name__) return thing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/public/types.py new/public-2.3/public/types.py --- old/public-2.1.1/public/types.py 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/public/types.py 2021-04-14 03:23:18.000000000 +0200 @@ -1,10 +1,4 @@ -try: - from typing import Protocol -except ImportError: # pragma: nocover - # Python < 3.8 - from typing_extensions import Protocol # type: ignore +from typing import Any, Callable, TypeVar -class ModuleAware(Protocol): - __module__: str - __name__: str +ModuleAware = TypeVar('ModuleAware', bound=Callable[..., Any]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/setup.cfg new/public-2.3/setup.cfg --- old/public-2.1.1/setup.cfg 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/setup.cfg 2021-04-14 03:23:18.000000000 +0200 @@ -4,7 +4,6 @@ [flake8] exclude = conf.py -hang-closing = true jobs = 1 max-line-length = 79 @@ -22,13 +21,14 @@ public [tool:isort] +include_trailing_comma = true +known_first_party = public length_sort_straight = true lines_after_imports = 2 lines_between_types = 1 -multi_line_output = 4 +multi_line_output = 3 order_by_type = false skip = conf.py -known_first_party = public [mypy] namespace_packages = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/setup.py new/public-2.3/setup.py --- old/public-2.1.1/setup.py 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/setup.py 2021-04-14 03:23:18.000000000 +0200 @@ -24,6 +24,9 @@ url='http://public.readthedocs.io/', packages=find_packages(where='.', exclude=['test*', 'docs']), include_package_data=True, + package_data={ + 'public': ['public/py.typed'], + }, # readthedocs builds fail unless zip_safe is False. zip_safe=False, python_requires='>=3.6', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/test/test_mypy.py new/public-2.3/test/test_mypy.py --- old/public-2.1.1/test/test_mypy.py 1970-01-01 01:00:00.000000000 +0100 +++ new/public-2.3/test/test_mypy.py 2021-04-14 03:23:18.000000000 +0200 @@ -0,0 +1,19 @@ +# https://gitlab.com/warsaw/public/-/issues/10 + +from public import private, public + + +@public +def one(x: int) -> int: + return x * 2 + + +one(4) + + +@private +def two(x: int) -> int: + return x * 3 + + +two(4) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/public-2.1.1/tox.ini new/public-2.3/tox.ini --- old/public-2.1.1/tox.ini 2020-10-22 23:37:55.000000000 +0200 +++ new/public-2.3/tox.ini 2021-04-14 03:23:18.000000000 +0200 @@ -20,11 +20,14 @@ commands = python -m flake8 public isort public + blue --diff public mypy -p public + mypy test/test_mypy.py deps = flake8 isort>=5.4.1 mypy + blue>=0.6.0 [testenv:docs] basepython = python3
participants (1)
-
Source-Sync