Skip to main content

What is it?

The TDDA Python module provides command-line and Python API support for the overall process of data analysis, through the following tools:

  • Reference Testing: extensions to unittest and pytest for managing testing of data analysis pipelines, where the results are typically much larger, and more complex, than single numerical values.

  • Constraints: tools (and API) for discovery of constraints from data, for validation of constraints on new data, and for anomaly detection.

  • Finding Regular Expressions (Rexpy): tools (and API) for automatically inferring regular expressions from text data.

  • Automatic Test Generation (Gentest): TDDA can generate tests for more-or-less any command that can be run from a command line, whether it be Python code, R code, a shell script, a shell command, a Makefile or a multi-language pipeline involving compiled code. _”Gentest writes tests, so you don’t have to.”™_

<img width=”100%” src=”doc/source/image/tdda-machines-light.png”/>

Documentation

http://tdda.readthedocs.io

Installation

The simplest way to install all of the TDDA Python modules is using pip:

pip install tdda

The full set of sources, including all examples, are downloadable from PyPi with:

pip download –no-binary :all: tdda

The sources are also publicly available from Github:

git clone git@github.com:tdda/tdda.git

Documentation is available at http://tdda.readthedocs.io.

If you clone the Github repo, use

python setup.py install

afterwards to install the command-line tools (tdda and rexpy).

Reference Tests

The tdda.referencetest library is used to support the creation of reference tests, based on either unittest or pytest.

These are like other tests except:

  1. They have special support for comparing strings to files and files to files.

  2. That support includes the ability to provide exclusion patterns (for things like dates and versions that might be in the output).

  3. When a string/file assertion fails, it spits out the command you need to diff the output.

  4. If there were exclusion patterns, it also writes modified versions of both the actual and expected output and also prints the diff command needed to compare those.

  5. They have special support for handling CSV files.

  6. It supports flags (-w and -W) to rewrite the reference (expected) results once you have confirmed that the new actuals are correct.

For more details from a source distribution or checkout, see the README.md file and examples in the referencetest subdirectory.

Constraints

The tdda.constraints library is used to ‘discover’ constraints from a (Pandas) DataFrame, write them out as JSON, and to verify that datasets meet the constraints in the constraints file.

For more details from a source distribution or checkout, see the README.md file and examples in the constraints subdirectory.

Finding Regular Expressions

The tdda repository also includes rexpy, a tool for automatically inferring regular expressions from a single field of data examples.

Resources

Resources on these topics include:

All examples, tests and code run under Python 2.7, Python 3.5 and Python 3.6.

Metadata

Release files for tdda 2.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tdda 2.2.4
File Size Uploaded
tdda-2.2.4.tar.gz 12.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tdda 2.2.4
File Interpreter ABI Platform
tdda-2.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 25.2 MB

Release files / tdda-2.2.4.tar.gz

Download URL tdda-2.2.4.tar.gz
Size 12.5 MB
Tags Source
SHA-256 checksum
How to use checksums
14a2f63399e94972232a63cedcbcfd3b446b060b2c45c5eba55b36e5a3f45313
BLAKE2b-256 checksum
How to use checksums
5b5b1ca183fa7110023247d412a18100ef0ae15d033109f27fa7900b4a4010ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.10

Release files / tdda-2.2.4-py3-none-any.whl

Download URL tdda-2.2.4-py3-none-any.whl
Size 12.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f933372a2c86dc91f26eafdc855d852a2cc615d70c30a66364051e374e94b913
BLAKE2b-256 checksum
How to use checksums
54a0e96a47f5aeebef29a3859ccd948cd2c8eb545b048ac035c68bcca967b203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.10

Release history Release notifications | RSS feed

3.3.0

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.0.9

2 release files

3.0.8

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.9

2 release files

2.2.7

2 release files

2.2.6

2 release files

2.2.5

2 release files

This release

2.2.4 This release

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.2

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.4

2 release files

2.0.1

1 release file

2.0.0

1 release file

1.0.35

1 release file

1.0.31

3 release files

1.0.30

3 release files

1.0.25

3 release files

1.0.23

3 release files

1.0.22

3 release files

1.0.12

3 release files

1.0.11

3 release files

1.0.10

3 release files

1.0.7

3 release files

1.0.6

3 release files

1.0.1

3 release files

1.0.0

3 release files

0.5.13

3 release files

0.5.12

3 release files

0.5.11

3 release files

0.5.10

3 release files

0.5.9

3 release files

0.5.6

3 release files

0.5.4

3 release files

0.4.1

3 release files

0.4.0

3 release files

0.3.9

3 release files

0.3.4

3 release files

0.3.3

3 release files

0.3.2

3 release files

0.3.1

3 release files

0.3.0

3 release files

0.2.7

3 release files

0.2.5

3 release files

0.2.4

3 release files

0.2.3

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page