# Test-Driven Data Analysis (TDDA) > Python library for constraint discovery and verification, reference > testing, and regular expression inference. ## Summary TDDA provides four primary tools: 1. **tdda.constraints**: Discover data constraints from existing datasets and verify new data against them. 2. **tdda.referencetest**: Semantic regression testing for text, DataFrames (Pandas/Polars), and binary files. 3. **tdda.serial**: Metadata-guided reading and writing of CSV and flat files, with companion `.serial` metadata files that record format details (types, nulls, dates, separators) for accurate round-tripping. 4. **tdda.rexpy**: Automated regular expression inference from data samples. ## Documentation - [TDDA Documentation](https://tdda.readthedocs.io) - [CLI / Man Pages](https://github.com/tdda/tdda/blob/master/doc/source/cli.md) (also as [HTML](https://tdda.readthedocs.io/en/latest/cli.html)) - [Source Code (GitHub)](https://github.com/tdda/tdda) - [Package (PyPI)](https://pypi.org/project/tdda/) ## Book - [Test-Driven Data Analysis](https://www.routledge.com/Test-Driven-Data-Analysis/Radcliffe/p/book/9781032897158) (Radcliffe, CRC Press, 2026) - [Book resources](https://book.tdda.info) ## Guides for LLMs and Coding Agents - [Reference Testing with TDDA: A Guide for LLMs and Coding Bots](https://tdda.info/md/076-reference-testing-with-tdda-a-guide-for-llms-and-coding-bots.md) - [CSV Metadata and tdda.serial: A Guide for LLMs and Coding Agents](https://tdda.info/md/077-csv-metadata-and-tdda-serial-a-guide-for-llms.md) - [Data Validation with tdda Constraints: A Guide for LLMs and Coding Agents](https://tdda.info/md/078-data-validation-with-tdda-constraints-a-guide-for-llms.md)