Typical

Latest version: v2.9.0

Safety actively analyzes 683322 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 13

2.1.2

When determining whether a Union of types has a tag which may be used in deserialization, member descriptors should not be considered valid.

Additionally, drop usage of `guard_recursion()` in the `slotted()` decorator.

2.1.1

The previous regex was missing support for certain ASCII characters which should be allowed.

This adds support for those characters.

2.1.0

What's in the Box

Bugfixes
- Lazy reprs eval to False, so we should check for a None when deciding on the error message at Constraints validation failure.
- Optional fields for recursive types were not properly reflected when generating the JSON Schema.
- Fields marked with `...` for default are no longer considered nullable when generating the JSON Schema, but are still optional.
- Objects are named after their type rather than their field when generating the JSON Schema (130) (breaking change)
- Structured Tuples were not properly validated or deserialized (138)

Features
- Adds validation and deserialization for Literal types (87). [Docs](https://python-typical.org/usage/types/#literal-types)
- Adds support for Tagged Unions (72). See the caveats in (133). [Docs](https://python-typical.org/usage/types/#tagged-unions-polymorphic-types)
- Adds `typic.environ` for typed get/set access of environment variables, and lazy evaluation of defaults for Settings, with clearer error messaging. [Docs](https://python-typical.org/usage/settings/)
- Adds support for `datetime.time` and `datetime.timedelta`.
- Small optimizations for Object and Array constraint validation.

2.0.33

Types with recursion nested under containers failed to resolve correctly and caused a RecursionError as a result.

This release resolves 136

2.0.32

pytest-benchmark` was declared as optional, but not marked for which extra it belonged to, which caused it to be listed as a required package in the final setup.py. This has been resolved.

2.0.31

This release includes a few patches to ensure support for Python3.9.

Page 6 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.