PyHamcrest is a framework for writing matcher objects,
allowing you to declaratively define “match” rules.
There are a number of situations where matchers are
invaluable, such as UI validation, or data filtering,
but it is in the area of writing flexible tests that
matchers are most commonly used.