./lang/py-mypy, Optional static typing for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.960, Package name: py39-mypy-0.960, Maintainer: pkgsrc-users

Add type annotations to your Python programs, and use mypy to type check them.
Mypy is essentially a Python linter on steroids, and it can catch many
programming errors by analyzing your program, without actually having to run
it. Mypy has a powerful type system with features such as type inference,
gradual typing, generics and union types.


Required to run:
[devel/py-setuptools] [devel/py-typed-ast] [lang/python37] [devel/py-typing-extensions] [lang/py-mypy_extensions]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 2652.254 KB

Version history: (Expand)


CVS history: (Expand)


   2022-05-28 13:46:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-mypy: updated to 0.960

Mypy 0.960

Minimal Support for LiteralString
Per-file Timing Stats
Performance Improvements
Experimental Fast Module Lookup
Documentation Updates
Improvements to Plugin System
ParamSpec Improvements
Fixes to Crashes
   2022-05-02 10:19:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-mypy: updated to 0.950

0.950
Pinning Third-Party Library Stub Versions
Concatenate and Literals with ParamSpec
Detect Unused Coroutines and Awaitables
assert_type
   2022-03-31 09:30:09 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-mypy: updated to 0.942

0.942:

Fixes to Regressions

Let overload item have a more general return type than the implementation
Fix inheritance false positives with dataclasses/attrs
Support overriding dunder attributes in Enum subclass
Fix small conditional overload regression

Other Fixes

Fix issues related to the order of processing in the builtins import cycle
Fix crash in match statement if class name is undefined
Allow non-final __match_args__ and overriding
   2022-03-15 06:53:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-mypy: updated to 0.941

0.940:

Miscellaneous New Features

Add support for conditionally defined overloads
Give "as" variables in with statements separate scopes when it is safe \ 
to do so
Add an optional error code ignore-without-code to require ignore comments to \ 
have error codes
Add support for typing.Never and typing_extensions.Never as alternative \ 
spellings of NoReturn
Add support for typing.reveal_type
Support universal2 macOS wheels
Add match_args support to attr.s()

Enum Improvements

Check Enum definition for invalid base classes
Understand the self-destructing nature of Enum._ignore_
Add StrEnum support for Python 3.11
Make enum values final
Improve final detection for Enum
Fix Enum final properties and writable special members
Enum now accepts String literals and final values as 2nd argument
Fix false positive about member name reuse in enum
Fix enum inheritance regression

Mypyc Fixes and Improvements

Use Py_TYPE and Py_IsNone
Implement additional internal consistency checks
Raise AttributeError also for non-refcounted types
Fix invalid unlikely() in certain rare branches
Skip no-op super calls to object.__init__()
Use latest pythoncapi_compat
Add helpful message to assert

Documentation Updates

Add documentations about Enum types
Update Enum documentation
Improve documentation of allow_redefinition
Fix intelligent indexing example
Explain generic Protocol[T1, T2, ...] shorthand
Clarify that stub-only packages need to be installed
Small documentation improvements for conditional overloads

Improved Error Messages

Improve the "Argument must be a mapping" error message
Coalesce Literals when printing unions
Suggest typing.Callable when using callable as type
Suggest typing.Any when using any as type
Add note about wrong error code in type: ignore
Add no-overload-impl error code
Display ellipsis when formatting variadic tuple[T, ...]
Deduplicate error codes for ignore-without-code
Tweak ignore-without-code error message
Mention common resolutions for build errors

Stubtest Improvements

Ignore more dunder positional-only errors
Fix wrong assumption about relative path
Catch more getattr errors
Error if module level dunder is missing, housekeeping
Ignore __main__ module
Error if a dunder method is missing from a stub
Error if a function is async at runtime but not in the stub
Do not error if a stub is async, but runtime is not
Error if a class should be decorated with @final
Use VERSIONS for submodules
Treat dicts as a subtype of typeddict
Ignore more exceptions in stubtest

Other Notable Fixes and Improvements

Fix non-default keyword-only argument positioning in stubgen
Remove orjson stubs from default list
Use __truediv__ for Python 2 with __future__ import
Fix Python 2 compatibility issue
Use type variable bound to infer constraints
Handle raise Exception(), None on Python 2.7
Fix inference of protocol against overloaded function
Fix an issubclass failure for protocols with overloaded methods
Fix crashes in class scoped imports
Fix use of TypeAlias from aliased imports
Delete open plugin
Read pyproject.toml with correct encoding on Windows
Fix issue with implicit type aliases in import cycles
Forbid extra ParamSpec arguments
Fix crash involving explicit any flag and Required
Fix join of Any against a union type
Simplify unions when erasing last known values
Fix crash with yield in comprehension
Fix handling of NoReturn in union return types
Fix __init__ in dataclasses inheriting from Any
Narrow NamedTuple to bool correctly when __bool__ is defined
Improve type of __attrs_attrs__ in attrs classes
Install dependencies needed for reports via pip install mypy[reports]
Consider import * to be an explicit re-export
Fix --no-implicit-reexport inconsistency
Fix crash if "_" is in builtins
Fixes crash on subclassing Annotated without args
   2022-01-11 08:07:42 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-mypy: updated to 0.931

0.931

Fixes to Regressions

Fix mypyc binary wheel
Revert to treating multi-line strings as a single value for exclude in TOML files
Revert to treating exclude in .ini as a single value
Fix __slots__ regression
Fix regression with __module__ and similar non-final Enum attributes
Fix regression when a contextmanager yields a generic function
Fix __reduce__ regression
Fix NoReturn type aliases
Fix regression in None handling with --no-strict-optional
Fix crash related to generics
Restore removed builtin_type() plugin API method

Other Fixes

Always allow the use of type[T] in stubs
Fix PEP 585 type aliases in stubs
Fix bug with literal types in stubtest
   2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289)
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-12-30 22:19:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-mypy: updated to 0.930

Mypy 0.930
New Feature: Explicit Type Aliases (PEP 613)
New Feature: NotRequired in TypedDicts
New Feature: ParamSpec (Experimental)

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
Only read the stdlib versions dictionary once per run
Optimize commonly used function
Minor optimization/cleanup
Reduce the number of executed local imports

Mypyc Fixes and Improvements

Add missing type coercions
Support --allow-redefinition
Constant fold integer operations and string concatenation
Use optimized implementation for builtins.sum
Move mypyc to console_scripts to fix running on Windows 10
Make min(x, y) faster
Make max(x, y) faster
Speed up reference counting operations by inlining them in commonly executed blocks
Add support for attrs classes
Port mypyc to Python 3.11
Reduce the amount of debug information included in compiled extension modules