Skip to content

0.9.4

Compare
Choose a tag to compare
@shawnbrown shawnbrown released this 21 Apr 09:04
· 538 commits to master since this release
  • Added Python 3.8 testing and support.
  • Added new validate methods (moved from how-to recipes into core module):
    • Added approx() method to require for approximate numeric equality.
    • Added fuzzy() method to require strings by approximate match.
    • Added interval() method to require elements within a given interval.
    • Added set(), subset(), and superset() methods for explicit membership
      checking.
    • Added unique() method to require unique elements.
    • Added order() method to require elements by relative order.
  • Changed default sequence validation to check elements by index position
    rather than checking by relative order.
  • Added fuzzy-matching allowance to allow strings by approximate match.
  • Added Predicate class to formalize behavior--also provides inverse-matching
    with the inversion operator (~).
  • Added new methods to Query class:
    • Added unwrap() to remove single-element containers and return their
      unwrapped contents.
    • Added starmap() to unpack grouped arguments when applying a function
      to elements.
  • Fixed improper use of assert statements with appropriate conditional
    checks and error behavior.
  • Added requirement class hierarchy (using BaseRequirement). This gives
    users a cleaner way to implement custom validation behavior and makes
    the underlying codebase easier to maintain.
  • Changed name of ProxyGroup to RepeatingContainer.
  • Changed "How To" examples to use the new validation methods.