34834137b1
19.1.0: Backward-incompatible Changes - Fixed a bug where deserialized objects with cache_hash=True could have incorrect hash code values. This change breaks classes with cache_hash=True when a custom __setstate__ is present. An exception will be thrown when applying the attrs annotation to such a class. Changes - Add is_callable, deep_iterable, and deep_mapping validators. * is_callable: validates that a value is callable * deep_iterable: Allows recursion down into an iterable, applying another validator to every member in the iterable as well as applying an optional validator to the iterable itself. * deep_mapping: Allows recursion down into the items in a mapping object, applying a key validator and a value validator to the key and value in every item. Also applies an optional validator to the mapping object itself. You can find them in the attr.validators package. - Fixed stub files to prevent errors raised by mypy's disallow_any_generics = True option. - Attributes with init=False now can follow after kw_only=True attributes. - attrs now has first class support for defining exception classes. If you define a class using @attr.s(auto_exc=True) and subclass an exception, the class will behave like a well-behaved exception class including an appropriate __str__ method, and all attributes additionally available in an args attribute. - Clarified documentation for hashing to warn that hashable objects should be deeply immutable (in their usage, even if this is not enforced). |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |