dispatchonvalue 0.9.2

This package provides the ability to dispatch on values (as opposed to dispatch
on types) for nested lists, dictionaries, and primitive types (basically all
inbuilt types). You can use lambda to do expression matching and use a
wildcard to ensure identical values can be matched (see any_a). It can
alleviate complicated and difficult to read if...elif...elif... chains and
greatly reduce the amount of code written.

Additionally, patterns can be registered dynamically, allowing a great flexibility
in which functions are called with which value.

You can ensure dictionaries have to be exactly the same when matched by using
dispatch_strict() rather than dispatch(). For example:

# This will match because it's strict and the pattern is exactly the same
dispatch_on_value.dispatch_strict({'name': 'john', 'age': 32})
# This will not match because the dictionary doesn't match exactly
dispatch_on_value.dispatch_strict({'name': 'john', 'age': 32, 'sex': 'male'})