Generic programming library for Python
The Generic library supports:
- multi-dispatch: like
functools.singledispatch, but for more than one parameter
- multi-methods: multi-dispatch, but for methods
- event dispatching: based on a hierarchical event structure (event objects)
generic.event.Managerexecutes all handlers and throws an
ExceptionGroupin case of errors
- Add Support for Python 3.10, Drop Support for Python 3.7
- Enable Pre-commit Hooks for isort, toml, yaml, pyupgrade, docformatter, and flake8
- Migrate to GitHub Actions
- Updated documentation on Readthedocs
- Ported the code to Python 3.7, Python 2 is no longer supported
- Multimethods now have their own module
- The interface now mimics
whenmethod has been renamed to
- overriding of methods is no longer possible
- Minor fixes in distribution.
- Event management with event inheritance support.
- Methods with multidispatch by object type and positional arguments.
- Override multifunctions with
- Registry with simple and type axes.
- Functions with multidispatch by positional arguments.