Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mypy for openSUSE:Factory checked in at 2022-01-05 15:44:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mypy (Old) and /work/SRC/openSUSE:Factory/.mypy.new.1896 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mypy" Wed Jan 5 15:44:28 2022 rev:24 rq:943409 version:0.930 Changes: -------- --- /work/SRC/openSUSE:Factory/mypy/mypy.changes 2021-11-12 15:58:59.462557421 +0100 +++ /work/SRC/openSUSE:Factory/.mypy.new.1896/mypy.changes 2022-01-05 15:44:33.906257364 +0100 @@ -1,0 +2,207 @@ +Fri Dec 31 19:58:41 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Need typed_ast for all flavors in testing +- Skip failing tests on 32-bit: gh#python/mypy#11148 + +------------------------------------------------------------------- +Fri Dec 31 17:17:41 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- add missing g++ compiler for tests + +------------------------------------------------------------------- +Fri Dec 31 16:40:37 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- add python-psutil as optional dependency. + +------------------------------------------------------------------- +Fri Dec 31 11:48:26 UTC 2021 - Benjamin Greiner <c...@bnavigator.de> + +- Update requirements +- Reenable testsuite by including the typed_ast stubs manually + +------------------------------------------------------------------- +Wed Dec 22 20:10:32 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- Update to version 0.930: + - New Feature: Explicit Type Aliases (PEP 613) + - You can now explicitly mark an assignment as a type alias, by using typing.TypeAlias + - For more context, see the docs or PEP 613. + - New Feature: NotRequired in TypedDicts + - You can now define individual TypedDict items as non-required by using typing_extensions.NotRequired. Previously this could only be configured at TypedDict level (by using total=). + - You can also use typing_extensions.Required to mark an item as required in a non-total TypedDict. + - New Feature: ParamSpec (Experimental) + - Mypy now partially support ParamSpec, which was introduced in Python 3.10. This makes it possible to define type variables that range over the parameter specification of a callable type. In particular, it allows giving precise types for some decorators that change the return type of the decorated function. + - Miscellaneous New Features + - Define a GitHub Action that makes it easier to run mypy in GitHub CI workflows (Elvis Pranskevichus, PR 11320) + - Allow mypy to run self check on PyPy 3.8 beta (Ethan Smith, PR 11350) + - Check that enum values are unique (Nikita Sobolev, PR 11267) + - Make enum classess with values implicitly final (Nikita Sobolev, PR 11247) + - Make enum members implicitly final (Nikita Sobolev, PR 10852) + - Allow NamedTuple to be used as a type that accepts all named tuples, as an experimental extension (Nikita Sobolev, PR 11162) + - Allow booleans to be narrowed to literal types (Ethan Leba, PR 10389) + - Add slots=True support for @dataclass (Nikita Sobolev, PR 11483) + - Add slots=True support for @attr.s (Nikita Sobolev, PR 11489) + - Support the typing_extensions.OrderedDict alias (Nikita Sobolev, PR 11533) + - Usability and Documentation Improvements + - Add better NamedTuple error messages (Nikita Sobolev, PR 11127) + - Show all overloads in error message (Akuli, PR 9177) + - Fix error message for dataclasses.field with positional argument (Hiroshi Ogawa, PR 11180) + - Fix error message for f-string and str-bytes-safe (Nikita Sobolev, PR 11139) + - Add documentation for type: ignore (Tushar Sadhwani, PR 11358) + - Support --exclude more than once on command line (Nipunn Koorapati, PR 11329) + - Use list[int] instead of List[int] in documentation (PR 11377, PR 11450) (Nick Crews) + - Remove builtins. from error messages (97littleleaf11, PR 11522) + - Document explicit type aliases (Nikita Sobolev, PR 11800) + - Improve documentation of annotating generator functions (Alex Waygood, PR 11623) + - Improve error message for nested TypedDict (97littleleaf11, PR 11658) + - Exit gracefully on KeyboardInterrupt (Marc Mueller, PR 10725) + - Optimizations: This release includes some optimizations that make mypy a bit faster (in addition to mypyc performance improvements discussed below): + - Enable --fast-exit by default to speed up mypy (Jukka Lehtosalo, PR 11541) + - Only read the stdlib versions dictionary once per run (Jukka Lehtosalo, PR 11542) + - Optimize commonly used function (Jukka Lehtosalo, PR 11543) + - Minor optimization/cleanup (Jukka Lehtosalo, PR 11544) + - Reduce the number of executed local imports (Jukka Lehtosalo, PR 11545) + - Mypyc Fixes and Improvements + - Add missing type coercions (Jared Hance, PR 11176) + - Support --allow-redefinition (Jared Hance, PR 11175) + - Constant fold integer operations and string concatenation (Jukka Lehtosalo, PR 11194) + - Use optimized implementation for builtins.sum (Sara Sinback and 97littleleaf11, PR 10268) + - Move mypyc to console_scripts to fix running on Windows 10 (?????????, PR 11494) + - Make min(x, y) faster(Chetan Khanna and 97littleleaf11, PR 10265) + - Make max(x, y) faster (97littleleaf11, PR 11530) + - Speed up reference counting operations by inlining them in commonly executed blocks (Jukka Lehtosalo, PR 11540) + - Add support for attrs classes (Chad Dombrova, PR 11328) + - Port mypyc to Python 3.11 (Victor Stinner, PR 11652) + - Reduce the amount of debug information included in compiled extension modules (Nehal J Wani, PR 11526) + - Other Notable Fixes and Improvements + - Fix semantic analysis of assignment expressions (Shantanu, PR 11153) + - Fixes mypy crash on protocol with contravariant variable (Nikita Sobolev, PR 11135) + - Warn about unused ignores when not all specified error codes are used (Hiroshi Ogawa, PR 11178) + - Improve type narrowing for walrus operator in conditional statements (Shantanu, PR 11202) + - Fix literal type compatibility checking special case (Nikita Sobolev, PR 11236) + - Rename API method builtin_type to named_type (97littleleaf11, PR 11224) + - Fix narrowing information not propagated in assignment and boolean expressions (Ran Benita, PR 11207) + - Fix narrowing of a nested union of TypedDicts (Ran Benita, PR 11204) + - Fix case mismatching modules during namespace package search (Nipunn Koorapati, PR 11261) + - Disallow invalid identifiers from getting implicit bazel __init__.py (Nipunn Koorapati, PR 11268) + - Don???t type check lambdas nested in unchecked functions (Nikita Sobolev, PR 11213) + - Update None.__bool__ to return Literal[False] (Nikita Sobolev, PR 11290) + - Relax type checking of % formatting when the right operand is an iterable (97littleleaf11, PR 11319) + - Fix crash with namespace packages when generating html reports (Nikita Sobolev, PR 11338) + - Allow slice syntax in Annotated types (Zac Hatfield-Dodds, PR 11345) + - Show warning if self / cls argument is missing (Nikita Sobolev, PR 11317) + - Improve subtype checking of TypeGuard types (Nikita Sobolev, PR 11314) + - Fix type narrowing for overlaping runtime types (Nikita Sobolev, PR 11273) + - Do not use TypeGuard context for lambda (Nikita Sobolev, PR 11417) + - Check reachability in module bodies (Nikita Sobolev, PR 11361) + - Check that __new__ in a metaclass returns a subtype of type (Nikita Sobolev, PR 11420) + - Improve support of contextlib.asynccontextmanager (Barnaby Shearer, PR 11352) + - Discard deprecated builtin_type (97littleleaf11, PR 11343) + - Don't look in user site packages when using a virtual env (Dimitri Merejkowsky, PR 11444) + - Update stubgen to preserve string literals in annotations (Imad Eddine Rezgui, PR 11292) + - Fix issue with exporting names in the presence of __getattr__ (Shantanu, PR 11411) + - Reject duplicate bases when defining TypedDict (97littleleaf11, PR 11485) + - Fix type inference for index expression with a bounded TypeVar (Ilya Labun, PR 11434) + - Fix get_dynamic_class_hook in some scenarios (Jade Lin, PR 10904) + - Check print >> properly (Nikita Sobolev, PR 11576) + - Correctly handle cls in protocol classmethod (Ilia Novoselov, PR 11119) + - Use current Python version, rather than hardcoding 3.6, in stubgen (Shantanu, PR 10907) + - Don't use ModuleType.__getattr__ if we know module symbols (Jukka Lehtosalo, PR 11597) + - Fix strict equality when using the latest typeshed (Jukka Lehtosalo, PR 11599) + - Make sure ClassVar does not contain type variables (Nikita Sobolev, PR 11585) + - Allow overriding attributes with methods (Nikita Sobolev, PR 11561) + - Don???t generate an error for PEP 593 Annotated with a string literal second argument (Seth Yastrov, PR 10777) + - Install types to the correct environment (Konstantin Weddige, PR 11457) + - Support decorators in additional contexts (Nikita Sobolev, PR 11150) + - Fix crash involving unreachable binary operations (Shantanu, PR 11680) + - Fix None assignments with mypy daemon cache (Christian Bundy, PR 11574) + - Handle OSError when accessing the mtime of a mypy cache file (Zac Hatfield-Dodds, PR 11718) + - Special case some special Enum properties to be non-final (Nikita Sobolev, PR 11713) + - Fix crash involving undefined cyclic import * (Shantanu, PR 11681) + - Remove incorrect assumption about file system case sensitivity (Shantanu, PR 11708) + - Fix compatibility of bool and Literal[True, False] (Nikita Sobolev, PR 11709) + - Allow subclassing enums with annotations and no values (Nikita Sobolev, PR 11579) + +------------------------------------------------------------------- +Wed Dec 22 11:34:33 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- Update to version 0.921: + - Bug Fixes Included in This Release: + - Fix regression in PathLike (Shantanu, PR 11785) + - Allow calling a function with name _ (Jukka Lehtosalo, PR 11810) + - Fix signature in curses and corresponding dmypy bug (Shantanu, PR 11785) + +------------------------------------------------------------------- +Thu Dec 16 08:04:39 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- Update to version 0.920: + - Making a Variable Optional in an Else Block + - Now mypy alllows more general conditionally defined variables with optional types. Previously mypy allowed this only if a None assignment happened first. Now this is also supported. Implemented by Michael J. Sullivan in PR 11002. + - Type Checking __slots__ Assignment + - For classes that define the special __slots__ attribute, mypy will now report an error on assigning to attributes that are not found in the slots definitions (this matches runtime semantics). + - Note that this feature does not work for dynamically computed slots. Implemented by Nikita Sobolev in PR 10864. + - Partial Python 3.10 Support + - We now ship binary wheels for Python 3.10 and mypy supports the new Python 3.10 union type syntax. + - Some new features, including the match statement, ParamSpec and TypeAlias are not supported yet. + - Python 3.5 Is No Longer Supported + - Python 3.5 reached its end of life more than a year ago. Its support was deprecated in mypy 0.910 and it is no longer supported in mypy 0.920. + - Efficient String and Bytes Formatting in Mypyc + - Most string and bytes formatting methods now use fast C-level logic when compiled with mypyc. This includes % formatting, the format() method, and f-strings. This was implemented by 97littleleaf11 as part of a Google Summer of Code project. + - Work Towards singledispatch Support + - The signature of the initial function variant handles the generic case and describes the external signature of the singledispatch function. + - This was implemented Pranav Rajpal as part of a Google Summer of Code project. + - Stubgen Improvements + - Add support for yield statements in stubgen (Sebastian Rittau, PR 10745) + - Handle commas in namedtuple field definition in stubgen (Vanessa Ung, PR 10828) + - Other Notable Fixes and Improvements + - Allow plugin signature hooks to return FunctionLike (to support overloads) (pranavrajpal, PR 10717) + - Narrow type with type variable when the upper bound is a subtype of current type (ethframe, PR 10658) + - Make --cache-fine-grained imply --local-partial-types (Michael J. Sullivan, PR 10737) + - Support new union syntax in stubs independent of target Python version and in runtime context (PR 10770, PR 10771) (Jukka Lehtosalo) + - Support new union type syntax with isinstance() (Jukka Lehtosalo, PR 10775) + - Better message if method is incompatible with base class (Anmol Takiar, PR 10572) + - Allow redefinition of underscore functions (named '_') (pranavrajpal, PR 10811) + - Properly track positional-only arguments for unannotated functions (Michael J. Sullivan, PR 10802) + - Fixes to type checking %c string and bytes interpolation (97littleleaf11, PR 10869) + - Use better error message for %c interpolation (97littleleaf11, PR 10875) + - Skip overlapping overload checks in ignored files (Shantanu, PR 10922) + - Fix ad hoc instance intersection logic (Christoph Tyralla, PR 9909) + - Support tuple multiplication with literal integers (hatal175, PR 10361) + - Fix recursion issue with nested instances and unions (Peilonrayz, PR 9663) + - Fix caching behavior of PEP561-installed namespace packages (Michael J. Sullivan, PR 10937) + - Add __dataclass_fields__ and __attrs_attrs__ to dataclasses (Timofey Kukushkin, PR 8578) + - Fix argument checking on empty dict with double stars (Momoko Hattori, PR 9629) + - Fix some type-guard-related crashes (Shantanu, PR 11061) + - Reject raise Err if Err can???t be called without arguments (Nikita Sobolev, PR 11125) + - Fix TypedDict crash with function definition (Nikita Sobolev, PR 11126) + - Report attribute access errors for type variable bound to a union (Christoph Tyralla, PR 11140) + - Fix crash on dataclasses.field(unpack) (Nikita Sobolev, PR 11137) + - Fix crash related to ParamSpec in mypy daemon (Jukka Lehtosalo, PR 11567) + - Properly type check *CustomType and CustomType function arguments (Nikita Sobolev, PR 11151) + - Fix crash with overload and callable object decorators (Shantanu, PR 11630) + - Fix crash involving explicit reexport, import cycle, and a wildcard (Shantanu, PR 11632) + - Mypyc Features, Fixes, and Performace Improvements + - Fix class-based named tuples (Jukka Lehtosalo, PR 10746) + - Add a special case for len() of a string value (97littleleaf11, PR 10710) + - Reject instance attribute access through class object (Jukka Lehtosalo, PR 10798) + - Speed up the construction of list objects (97littleleaf11, PR 10807) + - Add bytes primitive type (97littleleaf11, PR 10881) + - Add bytearray support (97littleleaf11, PR 10891) + - Optimize construction via list() and dict() (Richard Si, PR 10918) + - Speed up bytes join() method (jhance, PR 10929) + - Speed up len(bytes) (97littleleaf11, PR 10936) + - Speed up bytes indexing and slicing (PR 10966, PR 10950) (97littleleaf11) + - Speed up bytes.decode() and str.encode() (PR 10974, PR 10951) (97littleleaf11) + - Speed up bytes equality checks (jhance, PR 10928) + - Documentation Improvements + - Add docs about exhaustive literal and enum checks (Nikita Sobolev, PR 10860) ++++ 10 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/mypy/mypy.changes ++++ and /work/SRC/openSUSE:Factory/.mypy.new.1896/mypy.changes Old: ---- mypy-0.910.tar.gz New: ---- mypy-0.930.tar.gz types-typed-ast-1.5.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mypy.spec ++++++ --- /var/tmp/diff_new_pack.4UoLHv/_old 2022-01-05 15:44:34.522257753 +0100 +++ /var/tmp/diff_new_pack.4UoLHv/_new 2022-01-05 15:44:34.530257759 +0100 @@ -16,35 +16,55 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%bcond_without test +%{?!python_module:%define python_module() python3-%{**}} +%define skip_python2 1 +%define typed_ast_version 1.5.1 Name: mypy -Version: 0.910 +Version: 0.930 Release: 0 Summary: Optional static typing for Python License: MIT Group: Development/Languages/Python URL: http://www.mypy-lang.org/ Source0: https://files.pythonhosted.org/packages/source/m/mypy/mypy-%{version}.tar.gz +# License Source1: Apache-2.0. Only for the test suite, not packaged here. +Source1: https://files.pythonhosted.org/packages/source/t/types-typed-ast/types-typed-ast-%{typed_ast_version}.tar.gz Source99: mypy-rpmlintrc -BuildRequires: %{python_module mypy_extensions >= 0.4.0} +BuildRequires: %{python_module mypy_extensions >= 0.4.3} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module typed-ast >= 1.4.0} -BuildRequires: %{python_module typing_extensions >= 3.7.4} +BuildRequires: %{python_module tomli >= 1.1.0} +BuildRequires: %{python_module typed-ast >= 1.4.0 if %python-base < 3.8} +BuildRequires: %{python_module typing_extensions >= 3.10} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-mypy_extensions >= 0.4.0 +Requires: python-mypy_extensions >= 0.4.3 +Requires: python-tomli >= 1.1.0 +Requires: python-typing_extensions >= 3.10 +%if 0%{?python_version_nodots} < 38 Requires: python-typed-ast >= 1.4.0 -Requires: python-typing_extensions >= 3.7.4 +%endif Requires(post): update-alternatives Requires(postun):update-alternatives %if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3" Provides: mypy = %{version} Obsoletes: mypy < %{version} %endif +Suggests: python-psutil >= 4.0 BuildArch: noarch -# SECTION tests -BuildRequires: %{python_module pytest} -# /SECTION +%if %{with test} +BuildRequires: %{python_module attrs >= 18} +BuildRequires: %{python_module devel} +BuildRequires: %{python_module importlib-metadata >= 4.6.1} +BuildRequires: %{python_module lxml >= 4} +BuildRequires: %{python_module psutil >= 4} +BuildRequires: %{python_module pytest >= 6.2} +BuildRequires: %{python_module pytest-forked >= 1.3} +BuildRequires: %{python_module pytest-xdist >= 1.34} +BuildRequires: %{python_module typed-ast >= 1.4.0} +BuildRequires: %{python_module virtualenv >= 20.6} +BuildRequires: gcc-c++ +%endif # SECTION docs BuildRequires: python3-Sphinx >= 1.4.4 BuildRequires: python3-sphinx_rtd_theme >= 0.1.9 @@ -63,11 +83,14 @@ and union types. %prep -%autosetup -n mypy-%{version} -p1 +%autosetup -n mypy-%{version} -p1 -a1 sed -i '/env python3/d' ./mypy/stubgenc.py sed -i '/env python3/d' ./mypy/stubgen.py +mkdir mystubs +mv types-typed-ast-%{typed_ast_version}/typed_ast-stubs mystubs/typed_ast + %build %python_build pushd docs @@ -84,14 +107,29 @@ %python_clone -a %{buildroot}%{_bindir}/stubtest %python_expand %fdupes %{buildroot}%{$python_sitelib} +%if %{with test} %check -# disable the tests as they require additional stubs and it's unclear how to proceed: https://lists.opensuse.org/archives/list/pyt...@lists.opensuse.org/message/3BC3BP62EHPECYEGRXLL33D7LDFHPOPO/ -#sed -i '/plugin/d' ./mypy_self_check.ini -#sed -i '/warn_unused_ignores/d' ./mypy_self_check.ini -#sed -i '/python_version.*$/d' ./mypy_self_check.ini -#%%python_exec -m mypy --config-file mypy_self_check.ini -p mypy -# py.test3 -v ??? we need to analyze subset of tests which would be -# available and without large dependencies. + +sed -i mypy_self_check.ini \ + -e '/python_version.*$/d' \ + -e '/warn_unused_ignores/d' + +%{python_expand # self-check with manually provided stubs for typed_ast +export PYTHONPATH=%{buildroot}%{$python_sitelib} +export MYPYPATH=./mystubs +$python -m mypy --config-file mypy_self_check.ini -p mypy +} +unset PYTHONPATH +# cannot compile unoptimized with suse headers +export MYPYC_OPT_LEVEL=2 +if [ $(getconf LONG_BIT) -ne 64 ]; then + # https://github.com/python/mypy/issues/11148 + donttest+=" or testSubclassSpecialize or testMultiModuleSpecialize" + # fails only in python36 (EOL) + python36_donttest+=" or testIntOps" +fi +%pytest -n auto -k "not (testallexcept ${donttest} ${$python_donttest})" +%endif %post %python_install_alternative mypy dmypy mypyc stubgen stubtest @@ -102,7 +140,9 @@ %files %{python_files} %doc docs/README.md docs/build/html/ %license LICENSE -%{python_sitelib}/* +%{python_sitelib}/mypy +%{python_sitelib}/mypyc +%{python_sitelib}/mypy-%{version}*-info %python_alternative %{_bindir}/dmypy %python_alternative %{_bindir}/mypy %python_alternative %{_bindir}/mypyc ++++++ mypy-0.910.tar.gz -> mypy-0.930.tar.gz ++++++ ++++ 129771 lines of diff (skipped)