Classes

Latest version: v0.4.1

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

Scan your dependencies

0.4.1

Bugfixes

- Fixes `typing_extensions` version resolution

0.4.0

Features

- **Breaking**: removes `is_protocol` boolean argument from `.instance`,
now use `protocol=YourProtocol` instead
- Adds support for concrete generic types like `List[str]` and `Set[int]` 24
- Adds support for types that have `__instancecheck__` defined
via `delegate` argument 248
- Adds support for multiple type arguments in `Supports` type 244

Bugfixes

- Fixes that types referenced in multiple typeclasses
were not handling `Supports` properly 249
- Fixes typing bug with `ABC` and mutable typeclass signature 259
- Fixes that `mypy` plugin was failing
on calling a typeclass without arguments 270

0.3.0

Features

- **Breaking**: drops `python3.6` support
- **Breaking**: now requires `typing_extensions>=3.10` and `mypy>=0.902`
- **Breaking**: now `classes` traverses `mro` of registered types
and fallbacks to super-types if some type is not registered
- Adds generic typeclasses
- Adds caching to runtime type dispatch,
it allows to call already resolved instances way faster
- Adds better typeclass validation during `mypy` typechecking
- Adds `.supports()` method to typeclass to check
if some instance is supported in runtime
- Makes `.supports()` a typeguard
- Adds `Supports` type
- Adds `AssociatedType` variadic type

Misc

- Improves docs

0.2.0

Features

- **Breaking**: renames mypy `typeclass_plugin` to `classes_plugin`
- Adds `python3.9` support

Misc

- Updates dependencies

0.1.0

- Initial release

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.