Skip to main content

Test-Driven Data Analysis (TDDA)

The tdda package provides Python support for test-driven data analysis (1-page summary, blog, book).

Features

  • Reference Testing (tdda.referencetest): extensions to unittest and pytest for testing data analysis pipelines. Supports file-based comparisons, semantic equivalence, automatic rewriting of reference results, and test tagging.

  • Automatic Test Generation (tdda gentest): generates reference tests for any command-line script or program (Python, R, shell, Makefile, ...). "Gentest writes tests, so you don't have to."

  • Constraints (tdda.constraints): discovers constraints from Pandas DataFrames, Parquet files, flat files, and relational databases; verifies new data against those constraints; detects failing records.

  • Regular Expression Inference (tdda.rexpy): automatically infers regular expressions from a column of string data.

  • Data Diff (tdda diff): compares data frames in Parquet or flat files and reports differences in a visual format.

  • Serial Format (tdda.serial): documents CSV and flat-file formats in .serial metadata files for accurate, portable reading and writing. Supports conversion to/from CSVW and Frictionless metadata.

  • Utility Functions (tdda.utils): Unicode normalization (Normal Form TK), glyph counting, and RFC 9839 support.

Documentation

Full documentation: tdda.readthedocs.io

Installation

pip install tdda

To upgrade an existing installation:

pip install -U tdda

Source installation

git clone https://github.com/tdda/tdda.git
cd tdda
pip install .

Optional database support

pip install pygresql                  # PostgreSQL
pip install mysql-connector-python   # MySQL/MariaDB
pip install pymongo                  # MongoDB

Testing

tdda test

Resources

Authors

  • Nick Radcliffe
  • Simon Brown

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tdda-3.3.0.tar.gz (19.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tdda-3.3.0-py3-none-any.whl (20.3 MB view details)

Uploaded Python 3

File details

Details for the file tdda-3.3.0.tar.gz.

File metadata

  • Download URL: tdda-3.3.0.tar.gz
  • Upload date:
  • Size: 19.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tdda-3.3.0.tar.gz
Algorithm Hash digest
SHA256 a08d2dfb775103e0b3edc13d33e082a1cea6adb956d3da97ff10cc7cdfd340d0
MD5 294983fd1db6dae56360f25d81b6f0f4
BLAKE2b-256 0dae31e91559120cb5eab28006f03a1b377ec1b2f7e35ab4fde7edcc84889bf2

See more details on using hashes here.

File details

Details for the file tdda-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: tdda-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tdda-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 112110d9872f5d847513c2c11c0a5ffd3f31b30f6192df93410e9fc40c7a23db
MD5 638f0c610619244520749b36c4835980
BLAKE2b-256 4eb810ace602e39747c90bcc44fab6ecf294254bd4bdb20729b73c0ba9673623

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page