ANN: Datatest 0.9.4 Released
Shawn Brown
03sjbrown at gmail.com
Mon Apr 22 10:32:27 EDT 2019
Datatest provides tools for test driven data-wrangling and
data validation. It supports both pytest and unittest style
testing.
I've been working to get datatest ready for a few pre-PyCon
updates. This latest release takes many of the "how-to"
solutions and brings them into the core package.
* Docs - https://datatest.readthedocs.io/
* PyPI - https://pypi.org/project/datatest/
* Devel - https://github.com/shawnbrown/datatest
Upgrade an existing installation to 0.9.4:
pip install --upgrade datatest
What's New in Datatest 0.9.4:
* 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.
More information about the Python-announce-list
mailing list