Go to file
kozorizki 6f6208e35d
Some checks failed
CodeQL / Analyze (push) Failing after 24s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 17s
chore!(rules): commented out line diff
2024-10-24 12:59:59 +03:00
.gear chore!(rules): commented out line diff 2024-10-24 12:59:59 +03:00
.github Bump the github-action-updates group with 2 updates (#552) 2024-10-14 18:24:36 -04:00
.reuse Use REUSE compliant licensing 2024-02-03 17:15:55 +01:00
docs Use REUSE compliant licensing 2024-02-03 17:15:55 +01:00
generic fix(event): don't attempt to import exceptiongroup if running python 3.11+ 2024-06-30 22:01:43 +02:00
LICENSES Use REUSE compliant licensing 2024-02-03 17:15:55 +01:00
tests Fix lint errors, update dependencies 2024-07-02 07:16:39 -04:00
.gitignore Update .gitignore 2022-03-18 22:17:44 +01:00
.pre-commit-config.yaml Upgrade pre-commit hooks 2024-07-11 22:13:54 -04:00
.readthedocs.yml Make docs dependencies a group 2024-02-03 16:30:48 +01:00
CODE_OF_CONDUCT.md Update code of conduct to version 2 [skip-ci] 2020-08-26 22:17:34 -04:00
CONTRIBUTING.md Replace Black with Ruff Format 2023-12-26 20:47:26 -05:00
poetry.lock Bump pytest from 8.3.2 to 8.3.3 in the pip-updates group (#545) 2024-09-18 22:03:51 -04:00
pyproject.toml Bump the pip-updates group with 2 updates (#535) 2024-07-23 18:01:04 -06:00
README.md Use REUSE compliant licensing 2024-02-03 17:15:55 +01:00
SECURITY.md Fix typo 2023-07-02 12:54:20 -04:00

Generic programming library for Python

Build state Maintainability Test Coverage Documentation Status Matrix OpenSSF Scorecard

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.1.3

  • Dependency updates

1.1.2

  • Replace print statements with logging
  • Enable trusted publisher for PyPI
  • Create Security Policy
  • Update LICENSE to BSD 3-Clause
  • Add support for Python 3.12
  • Simplify build: drop tox
  • Update documentation theme to Furo
  • Switch linting to ruff

1.1.1

  • Add support for Python 3.11
  • Move mypy configuration to pyproject.toml
  • Enable automatic release of new versions with CI

1.1.0

  • Rename master branch to main
  • generic.event.Manager executes all handlers and throws an ExceptionGroup in case of errors

1.0.1

  • 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

1.0.0

  • Updated documentation on Readthedocs
  • Fix multimethod.otherwise clause

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.