tq inspects a codebase's tests and enforces quality rules so tests remain discoverable, focused, actionable, and maintainable
Project description
tq - Test Quality Toolkit
tq inspects a codebase's tests and enforces quality rules so tests remain discoverable, focused, actionable, and maintainable.
Installation
PyPI distribution name: tqlint
Add to a project:
uv add --dev tqlint
uv run tq check
Run without installing (ephemeral):
uvx tqlint check
Install as a persistent global tool:
uv tool install tqlint
tq check
Note: uvx tq check is not available because the tq package name on PyPI is owned by another project.
Current scope
tq currently analyzes Python source and Python tests (.py) only.
Usage
Run checks:
uv run tq check
Emit machine-readable diagnostics:
uv run tq check --output-format json
Configuration
Configure tq in pyproject.toml under [tool.tq]:
[tool.tq]
package = "tq"
source_root = "src"
test_root = "tests"
ignore_init_modules = true
max_test_file_non_blank_lines = 600
qualifier_strategy = "allowlist"
allowed_qualifiers = ["regression"]
Documentation
- See docs/developer/tools/tq_check.md for tool usage and configuration details.
- See docs/developer/tools/rules.md for built-in rules.
Development
Contribution guidelines are in CONTRIBUTING.md. For local development, follow below steps.
Install dependencies:
uv sync
Install pre-commit hooks (including pre-commit, commit-msg, and pre-push):
uv run prek install
Run tests:
uv run pytest -q
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tqlint-0.4.2.tar.gz.
File metadata
- Download URL: tqlint-0.4.2.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90a7e7481aca8fe40d0b3f3018acaa6d9fce1bcd9cc6912233002c66ff086a86
|
|
| MD5 |
4f973e2210759ca422867a5f7738390e
|
|
| BLAKE2b-256 |
88359debe6f11560b4b1da0e6b8ef54bed66d42866950072bc5b079c209ed68d
|
File details
Details for the file tqlint-0.4.2-py3-none-any.whl.
File metadata
- Download URL: tqlint-0.4.2-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e73b0ed4dd6e32d896aa483ee06cc92b24ea3488081c4d4ade6e99e6e9ad8cce
|
|
| MD5 |
3ad07353f1118752efde5c8b7edefb45
|
|
| BLAKE2b-256 |
22b114e3914f6ff1cf31156efb5bc6ad0b686de464b1fc55b2812e41b295c56f
|