Skip to content

Releases: dry-python/classes

Version 0.4.1

11 Apr 15:25
58aea46
Compare
Choose a tag to compare

Bugfixes

  • Fixes typing_extensions version resolution

Version 0.4.0

17 Aug 11:23
defe7bf
Compare
Choose a tag to compare

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

Version 0.3.0

20 Jun 08:11
4f79d9d
Compare
Choose a tag to compare

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

Version 0.2.0

16 Feb 21:27
ef83026
Compare
Choose a tag to compare

Features

  • Breaking: renames mypy typeclass_plugin to classes_plugin
  • Adds python3.9 support

Misc

  • Updates dependencies

Version 0.1.0

31 Oct 09:51
588b19d
Compare
Choose a tag to compare

Initial release 🎉