kmatch: A language for matching Python dictionariesΒΆ
The kmatch library provides a language for matching Python dictionaries. Patterns are specified as lists of filters combined with logical operators.
A quick example of kmatch is below.
from kmatch import K
k = K(['>=', 'k', 10])
print k.match({'k': 9})
False
print k.match({'k': 10})
True
More powerful expressions can be made to match more types of patterns.
from kmatch import K
k = K(['&',
['=~', 'k1', '.*Hello.*'],
['!=', 'k2', False]
])
# Match all a dictionary whose 'k1' key has a pattern of '.*Hello.*' and whose 'k2' key is not False
k.match(...)
The kmatch library can be used for a wide variety of applications. One example is filtering a list of dictionaries that match a pattern. Another example is to validate dictionaries passed to a function.
Installation, overview of the language, usage examples, and code documentation are overviewed in the following.