Go to file
2019-11-18 21:44:43 +01:00
docs Update doctests 2019-11-16 22:51:59 +01:00
generic Fix error in multimethod's otherwise clause 2019-11-09 19:27:15 +01:00
tests Fix error in multimethod's otherwise clause 2019-11-09 19:27:15 +01:00
.gitignore update .gitignore 2019-11-18 21:44:43 +01:00
.pre-commit-config.yaml Add MyPy to the mix 2019-11-08 16:35:06 +01:00
.travis.yml Generate coverage.xml 2019-11-09 12:05:26 +01:00
COPYRIGHT.txt Added Copyright and license info. 2010-08-23 21:07:22 +04:00
LICENSE.txt Added Copyright and license info. 2010-08-23 21:07:22 +04:00
mypy.ini Fix linting errors 2019-11-09 11:08:06 +01:00
poetry.lock Add MyPy to the mix 2019-11-08 16:35:06 +01:00
pyproject.toml Drop support for Python 3.6 2019-11-09 11:47:55 +01:00
pytest.ini Add pytest.ini 2019-11-18 21:44:11 +01:00
README.md Add documentation status badge 2019-11-17 23:28:57 +01:00

Generic programming library for Python

Build Status Maintainability Test Coverage Documentation Status Code style: black

Generic is a library for Generic programming, also known as Multiple dispatch.

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)

You can read documentation hosted at excellent readthedocs.org project. Development takes place on github.

Changes

1.0.0b1

  • Ported the code to Python 3.7, Python 2 is no longer supported
  • Multimethods now have their own module
  • The interface now mimics functools.singledispatch:
    • the when method has been renamed to register
    • overriding of methods is no longer possible

0.3.1

  • Minor fixes in distribution.

0.3

  • Event management with event inheritance support.

0.2

  • Methods with multidispatch by object type and positional arguments.
  • Override multifunctions with override method.

0.1

  • Registry with simple and type axes.
  • Functions with multidispatch by positional arguments.