Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #3096

ANN: Datatest 0.9.4 Released

Path csiph.com!news.uzoreto.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Shawn Brown <03sjbrown@gmail.com>
Newsgroups comp.lang.python.announce
Subject ANN: Datatest 0.9.4 Released
Date Mon, 22 Apr 2019 10:32:27 -0400
Lines 89
Approved python-announce-list@python.org
Message-ID <mailman.185.1556216163.2982.python-announce-list@python.org> (permalink)
References <CA+a2dP_35kuXgoNacyPFjhOeFuiQeZ3yaLnJTQyF8X3zt-G2VA@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace news.uni-berlin.de j6cZ6ev1+Yx7BxiblaC6/wt95KDtVHQr7eTOMSjd6zZw==
Return-Path <03sjbrown@gmail.com>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'pip': 0.03; 'pytest': 0.03; 'url:github': 0.03; 'default': 0.04; 'operator': 0.05; 'subject:ANN': 0.05; 'approximate': 0.07; 'arguments': 0.07; 'explicit': 0.07; 'pypi': 0.07; 'url-ip:137.116/16': 0.07; '(using': 0.09; 'assert': 0.09; 'conditional': 0.09; 'elements.': 0.09; 'numeric': 0.09; 'received:209.85.208.179': 0.09; 'received :mail-lj1-f179.google.com': 0.09; 'testing.': 0.09; 'unittest': 0.09; 'url-ip:137.116.78.48/32': 0.09; 'url-ip:137.116.78/24': 0.09; 'url:pypi': 0.09; 'url:io': 0.11; 'python': 0.13; '&quot;how': 0.16; '--upgrade': 0.16; 'allowance': 0.16; 'behavior.': 0.16; 'cleaner': 0.16; 'equality.': 0.16; 'grouped': 0.16; 'hierarchy': 0.16; 'improper': 0.16; 'package.': 0.16; 'subject:0.9.4': 0.16; 'subject:Released': 0.16; 'unpack': 0.16; 'url:project': 0.16; 'url:readthedocs': 0.16; 'validation.': 0.16; 'index': 0.20; 'query': 0.20; 'statements': 0.20; 'fixed': 0.21; 'error': 0.22; 'url-ip:151.101.0.223/32': 0.23; 'url- ip:151.101.128.223/32': 0.23; 'url-ip:151.101.192.223/32': 0.23; 'url-ip:151.101.64.223/32': 0.23; 'install': 0.24; 'url-ip:137/8': 0.25; 'examples': 0.26; 'url-ip:151.101.192/24': 0.26; 'url- ip:151.101.0/24': 0.26; 'url-ip:151.101.128/24': 0.26; 'url- ip:151.101.64/24': 0.26; "i've": 0.28; 'checks': 0.28; 'elements': 0.28; 'url-ip:140/8': 0.28; 'to:addr:python-announce-list': 0.29; 'url-ip:151.101/16': 0.30; 'url-ip:151/8': 0.30; 'class': 0.31; 'driven': 0.32; 'membership': 0.32; 'message-id:@mail.gmail.com': 0.32; 'function': 0.33; 'installation': 0.33; 'methods': 0.33; 'testing': 0.34; 'received:google.com': 0.35; 'subject:: ': 0.35; 'working': 0.35; 'rather': 0.36; 'appropriate': 0.36; 'relative': 0.36; 'sequence': 0.36; '"how': 0.37; 'contents.': 0.37; 'docs': 0.37; 'strings': 0.37; 'received:209.85': 0.38; 'received:209': 0.38; 'use': 0.38; 'test': 0.38; 'implement': 0.39; 'unique': 0.61; 'solutions': 0.61; 'their': 0.61; 'support.': 0.62; 'latest': 0.63; 'ready': 0.63; 'name': 0.65; 'remove': 0.65; 'recipes': 0.66; 'within': 0.67; 'upgrade': 0.78; 'validate': 0.79; '3.8': 0.84
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=IXwD2F3PqsMcO4daRDXoamCro/tlJNBG2ybWjvklCqg=; b=Lgc0r07B5tn1X6WFu8HAsR9iEhH5yvrdTpqTJi+K5aO7mAl5XHSWIaTmghUETilmzZ 9pBMuKIu14LhzLwFGcQ7XnvOQCafsLA7lOg2vVtCzZhjuGvELXBDjza1YOSk+dEBuOZg rfuSdbc6IjtSODOmZYc1pag40BoGzmmjCvh59JN0TvP6bZ+lt9UnzVx5hq6P7llMLPVL FT3+45G0+P1bpm1MLapAWJDKHTefV8jRWEqE/iXPm1V9YwY97w1PAWw/l248EX3I8YkL cvxPrk624xcuWJ5E8E5KWh9L8W2YYyPPDjQDRyfN41ELeO72cThoWoBLWRdB1Cru+LlJ AyxQ==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=IXwD2F3PqsMcO4daRDXoamCro/tlJNBG2ybWjvklCqg=; b=oNFtKTravTJco6s2mMob0YJodsngwPk39FfZqEWzXn9EdLKaFJeo+Mlwr+N0g9tW9L Kf2lhr8bonydRIL6EO1BBD4hRQIwY8NyMMc3M7bq4MHNJpaUWgRZSRBg7COdX5LUJSCx hVJPHgT4LS6a+3tYr0c7AeJ9xil1LNelxMM6IMcMZU8UNoOErUccByR1f+k67R29lCzG O7iRglijwGSKG2ggbDNr7BpyUwIS3KGEbWmfEHZIYFi+GEtuQrb/QsUtCwy6n00alYXU XueHYIQHvHUMi94Bsx3ZJPK7Er/EgoJUj/K/TU9r24lAyM1sNvzaldIHLYlNKVdVGyza jW0Q==
X-Gm-Message-State APjAAAWBIqP3GB6Ubg/fbsZSft8nxFcmOHFrHl343gPQP3oNVTQboHsk oJkkCdCT80k0kSJ4ynp68Yuwy5VvAvXdomS88xstD4Lm
X-Google-Smtp-Source APXvYqzwL2Hzila8JAaOMYU3UmsS0oPmiMZNdyU92nuKG2c+Hm5aCE+po+1ju8rmx+nEKS5Xjpi/KHbsROFeFSlMlfI=
X-Received by 2002:a2e:8719:: with SMTP id m25mr10669777lji.50.1555943582906; Mon, 22 Apr 2019 07:33:02 -0700 (PDT)
X-Mailman-Approved-At Thu, 25 Apr 2019 14:16:01 -0400
X-Content-Filtered-By Mailman/MimeDel 2.1.29
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.29
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CA+a2dP_35kuXgoNacyPFjhOeFuiQeZ3yaLnJTQyF8X3zt-G2VA@mail.gmail.com>
Xref csiph.com comp.lang.python.announce:3096

Show key headers only | View raw


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.

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: Datatest 0.9.4 Released Shawn Brown <03sjbrown@gmail.com> - 2019-04-22 10:32 -0400

csiph-web