2023-08-27 04:50:34 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-typeguard: updated to 4.1.3
4.1.3
- Dropped Python 3.7 support
- Fixed ``@typechecked`` optimization causing compilation of instrumented code \
to fail
when any block was left empty by the AST transformer (eg `if` or `try` / \
`except` blocks)
- Fixed placement of injected typeguard imports with respect to ``__future__`` \
imports and module
|
2023-08-24 22:31:01 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-typeguard: update to 4.1.2.
4.1.2 (2023-08-18)
Fixed Any being removed from a subscript that still contains other elements (#373
4.1.1 (2023-08-16)
Fixed suppress_type_checks() causing annotated variable assignments to \
always assign None (#380)
|
2023-07-30 09:54:12 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-typeguard: updated to 4.1.0
4.1.0 (2023-07-30)
Added support for passing a tuple as expected_type to check_type(), making it \
more of a drop-in replacement for isinstance()
Fixed regression where Literal inside a Union had quotes stripped from its \
contents, thus typically causing NameError to be raised when run
4.0.1 (2023-07-27)
Fixed handling of typing_extensions.Literal on Python 3.8 and 3.9 when \
typing_extensions>=4.6.0 is installed
Fixed NameError when generated type checking code references an imported name \
from a method
Fixed docstrings disappearing from instrumented functions
Fixed @typechecked failing to instrument functions when there are more than one \
function within the same scope
Fixed frozenset not being checked
|
2023-05-16 12:37:27 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-typeguard: updated to 4.0.0
**4.0.0** (2023-05-12)
- No changes
**4.0.0rc6** (2023-05-07)
- Fixed ``@typechecked`` optimization causing compilation of instrumented code \
to fail
when an ``if`` block was left empty by the AST transformer
- Fixed the AST transformer trying to parse the second argument of \
``typing.Annotated``
as a forward reference
**4.0.0rc5** (2023-05-01)
- Added ``InstrumentationWarning`` to the public API
- Changed ``@typechecked`` to skip instrumentation in optimized mode, as in typeguard
2.x
- Avoid type checks where the types in question are shadowed by local variables
- Fixed instrumentation using ``typing.Optional`` without a subscript when the \
subscript
value was erased due to being an ignored import
- Fixed ``TypeError: isinstance() arg 2 must be a type or tuple of types`` when
instrumented code tries to check a value against a naked (``str``, not \
``ForwardRef``)
forward reference
- Fixed instrumentation using the wrong "self" type in the \
``__new__()`` method
**4.0.0rc4** (2023-04-15)
- Fixed imports guarded by ``if TYPE_CHECKING:`` when used with subscripts
(``SomeType[...]``) being replaced with ``Any[...]`` instead of just ``Any``
- Fixed instrumentation inadvertently mutating a function's annotations on Python 3.7
and 3.8
- Fixed ``Concatenate[...]`` in ``Callable`` parameters causing ``TypeError`` to be
raised
- Fixed type checks for ``*args`` or ``**kwargs`` not being suppressed when \
their types
are unusable (guarded by ``if TYPE_CHECKING:`` or otherwise)
- Fixed ``TypeError`` when checking against a generic ``NewType``
- Don't try to check types shadowed by argument names (e.g.
``def foo(x: type, type: str): ...``)
- Don't check against unions where one of the elements is ``Any``
**4.0.0rc3** (2023-04-10)
- Fixed ``typing.Literal`` subscript contents being evaluated as forward references
- Fixed resolution of forward references in type aliases
**4.0.0rc2** (2023-04-08)
- The ``.pyc`` files now use a version-based optimization suffix in the file \
names so as
not to cause the interpreter to load potentially faulty/incompatible cached \
bytecode
generated by older versions
- Fixed typed variable positional and keyword arguments causing compilation errors on
Python 3.7 and 3.8
- Fixed compilation error when a type annotation contains a type guarded by
``if TYPE_CHECKING:``
**4.0.0rc1** (2023-04-02)
- **BACKWARD INCOMPATIBLE** ``check_type()`` no longer uses the global configuration.
It now uses the default configuration values, unless overridden with an explicit
``config`` argument.
- **BACKWARD INCOMPATIBLE** Removed ``CallMemo`` from the API
- **BACKWARD INCOMPATIBLE** Required checkers to use the configuration from
``memo.config``, rather than the global configuration
- Added keyword arguments to ``@typechecked``, allowing users to override \
settings on a
per-function basis
- Added support for using ``suppress_type_checks()`` as a decorator
- Added support for type checking against nonlocal classes defined within the same
parent function as the instrumented function
- Changed instrumentation to statically copy the function annotations to avoid \
having to
look up the function object at run time
- Improved support for avoiding type checks against imports declared in
``if TYPE_CHECKING:`` blocks
- Fixed ``check_type`` not returning the passed value when checking against \
``Any``, or
when type checking is being suppressed
- Fixed ``suppress_type_checks()`` not ending the suppression if the context block
raises an exception
- Fixed checking non-dictionary objects against a ``TypedDict`` annotation
|
2023-05-01 11:47:32 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-typeguard: update to 3.0.2.
**3.0.2** (2023-03-22)
- Improved warnings by ensuring that they target user code and not Typeguard internal
code
- Fixed ``warn_on_error()`` not showing where the type violation actually occurred
- Fixed local assignment to ``*args`` or ``**kwargs`` being type checked incorrectly
- Fixed ``TypeError`` on ``check_type(..., None)``
- Fixed unpacking assignment not working with a starred variable (``x, *y = ...``) in
the target tuple
- Fixed variable multi-assignment (``a = b = c = ...``) being type checked \
incorrectly
**3.0.1** (2023-03-16)
- Improved the documentation
- Fixed assignment unpacking (``a, b = ...``) being checked incorrectly
- Fixed ``@typechecked`` attempting to instrument wrapper decorators such as
``@contextmanager`` when applied to a class
- Fixed ``py.typed`` missing from the wheel when not building from a git checkout
**3.0.0** (2023-03-15)
- **BACKWARD INCOMPATIBLE** Dropped the ``argname``, ``memo``, ``globals`` and
``locals`` arguments from ``check_type()``
- **BACKWARD INCOMPATIBLE** Removed the ``check_argument_types()`` and
``check_return_type()`` functions (use ``@typechecked`` instead)
- **BACKWARD INCOMPATIBLE** Moved ``install_import_hook`` to be directly importable
from the ``typeguard`` module
- **BACKWARD INCOMPATIBLE** Changed the checking of collections (list, set, dict,
sequence, mapping) to only check the first item by default. To get the old \
behavior,
set ``typeguard.config.collection_check_strategy`` to
``CollectionCheckStrategy.ALL_ITEMS``
- **BACKWARD INCOMPATIBLE** Type checking failures now raise
``typeguard.TypeCheckError`` instead of ``TypeError``
- Dropped Python 3.5 and 3.6 support
- Dropped the deprecated profiler hook (``TypeChecker``)
- Added a configuration system
- Added support for custom type checking functions
- Added support for PEP 604 union types (``X | Y``) on all Python versions
- Added support for generic built-in collection types (``list[int]`` et al) on all
Python versions
- Added support for checking arbitrary ``Mapping`` types
- Added support for the ``Self`` type
- Added support for ``typing.Never`` (and ``typing_extensions.Never``)
- Added support for ``Never`` and ``NoReturn`` in argument annotations
- Added support for ``LiteralString``
- Added support for ``TypeGuard``
- Added support for the subclassable ``Any`` on Python 3.11 and ``typing_extensions``
- Added the possibility to have the import hook instrument all packages
- Added the ``suppress_type_checks()`` context manager function for temporarily
disabling type checks
- Much improved error messages showing where the type check failed
- Made it possible to apply ``@typechecked`` on top of ``@classmethod`` /
``@staticmethod`` (PR by jacobpbrugh)
- Changed ``check_type()`` to return the passed value, so it can be used (to an \
extent)
in place of ``typing.cast()``, but with run-time type checking
- Replaced custom implementation of ``is_typeddict()`` with the implementation from
``typing_extensions`` v4.1.0
- Emit ``InstrumentationWarning`` instead of raising ``RuntimeError`` from the pytest
plugin if modules in the target package have already been imported
- Fixed ``TypeError`` when checking against ``TypedDict`` when the value has \
mixed types
among the extra keys (PR by biolds)
- Fixed incompatibility with ``typing_extensions`` v4.1+ on Python 3.10 (PR by \
David C.)
- Fixed checking of ``Tuple[()]`` on Python 3.11 and ``tuple[()]`` on Python 3.9+
- Fixed integers 0 and 1 passing for ``Literal[False]`` and ``Literal[True]``,
respectively
- Fixed type checking of annotated variable positional and keyword arguments \
(``*args``
and ``**kwargs``)
- Fixed checks against ``unittest.Mock`` and derivatives being done in the wrong \
place
|
2022-01-27 09:17:13 by Thomas Klausner | Files touched by this commit (1) |
Log message:
py-typeguard: add missing build dependency
|
2022-01-23 20:45:31 by Adam Ciarcinski | Files touched by this commit (4) |
Log message:
py-typeguard: added version 2.13.3
This library provides run-time type checking for functions defined with PEP 484
argument (and return) type annotations.
|