--- id: ddt version: "1.7.2" license: unclear license_treatment: permissive maintenance: dormant --- # ddt — Data-Driven/Decorated Tests License: permissive · Maintenance: dormant · Downloads: 1.6M/mo ## What it is and what it does ddt is a decorator-based test parameterization library for Python's unittest framework. It lets you write a single test method and run it repeatedly with different input data, with each dataset appearing as a separate test case in your test output. This eliminates the need to write multiple nearly-identical test methods or manually loop through test data within a single test. The package has no runtime dependencies and installs as a pure Python wheel. It's been in Beta status since its first release in 2012 and receives infrequent updates, but the core functionality is stable and widely used. It integrates directly with unittest's test discovery and reporting, making parameterized tests visible in standard test runners. Use it for: - Run the same test logic against multiple input datasets without duplicating test code - Generate separate test results for each data variant to identify which inputs fail - Test boundary conditions and edge cases by supplying a list of known problem values - Reduce test file size when you have many similar test cases with only data differences ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. ddt multiplies a single test case across multiple datasets, letting you run parameterized tests that appear as separate test cases in your test runner. Yes. ddt is a lightweight, dependency-free tool that solves a real unittest problem with a simple decorator pattern. It's stable, permissively licensed, and widely downloaded. The dormant maintenance status is not a concern for a mature utility with no external dependencies—there's little that needs updating. Install it if you use unittest and want to avoid writing repetitive parameterized test methods. ## Install pip install ddt uv add ddt poetry add ddt ## Installing ddt Before you install: Installation is straightforward with no runtime dependencies. The project is dormant (last release 900 days ago) but the repository remains active and the package is stable at Beta status. License in practice: Licensed under MIT (permissive), so you can use it freely in commercial and open-source projects without restriction. Quickstart: pip install ddt import unittest from ddt import ddt, data @ddt class TestExample(unittest.TestCase): @data(1, 2, 3) def test_value(self, value): self.assertGreater(value, 0) Verify before relying: - Whether ddt works with modern test frameworks beyond unittest (pytest, nose, etc.) - Performance characteristics when running hundreds or thousands of parameterized test cases ## Package facts - License: not declared (permissive) - Python support: unspecified - Install friction: low - Maintenance: dormant - Downloads: 1.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags parameterized testing, data-driven tests, test case multiplication, unittest parameterization, test data variation, decorated test cases, test case replication, unittest, parameterization, test-data [View on SkillFed](https://skillfed.io/packages/ddt) · [View on PyPI](https://pypi.org/project/ddt/)