- Bugfixes only, no new functionality. The
tdda testcommand now works properly to self-test an installation.
- Added new option flag
--interleavefor tdda detect. This causes the
_okdetection fields to be interleaved with the original fields that they refer to in the resulting detection dataset, rather than all appearing together at the far right hand side. This option was actually present in the previous release, but not sufficiently documented.
- Fix for the
tdda.referencetestresult regeneration, which had regressed slightly in the previous version.
- Improved reporting of differences for text files in
tdda.referencetestwhen the actual results do not match the expected file contents. Now fully takes account of the
assertTextFileCorrect()(and others) in
tdda.referencetestnow causes only the portion of a line that matches the regular expressions to be ignored; anything else on the line (before or after the part that matches a regular expression) must be identical in the actual and expected results. This means that you are specifying the part of the line that is allowed to differ, rather than marking an entire line to be ignored. This is a change in functionality, but is what had always been intended. For fuller control (and to get the previous behaviour), you can anchor the expressions with
^.*(...).*$, and then they will apply to the entire line.
tdda.referencetestcan now accept grouped subexpressions in regular expressions. This allows use of alternations, which were previously not supported.
tdda.referencetestnow only matches lines in the expected file (where you have full control over what will appear there), not in the actual file. This fixes a problem with differences being masked (and not reported as problems) if the actual happened to include unexpected matching content on lines other than where intended.
tdda.constraintspackage is now more resilient against unexpected type mismatches. Previously, if the type didn’t match, then in some circumstances exceptions would be (incorrectly) raised for other constraints, rather than failures.
tdda.constraintspackage now supports Python
datetime.datefields in Pandas DataFrames, in addition to the existing support of
tdda.constraintsPython API now provides support for in-memory constraints, by allowing Python dictionaries to be passed in to
detect_df(), as an alternative to passing in a
.tddafilename. This allows an application using the library to store its constraints however it wants to, rather than having to use the filesystem (e.g. storing it online and fetching with an HTTP
tdda.constraintspackage can now access MySQL databases using the mysql.connector driver, in addition to the MySQLdb and mysqlclient drivers.
tdda.rexpytool can now quote the regular expressions it produces, with the new
--quoteoption flag. This makes it easier to copy the expressions to use them on the command line, or embed them in strings in many programming languages.
- The Python API now allows you to
import tddaand then refer to its subpackages via
tdda.rexpy. Previously you had to explicitly import each submodule separately.