A Python test quality toolkit written in Rust
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 --from tqlint tq check
Install as a persistent global tool:
uv tool install tqlint
tq check
Install with pip:
python -m pip install tqlint
tq check
Note: uvx tq check is not currently available because the tq package name on PyPI is owned by another project. Use uvx --from tqlint tq ... for ephemeral runs.
Usage
Run checks:
uv run tq check
Configuration
Configure tq in pyproject.toml under [tool.tq]:
[tool.tq]
init_modules = "ignore"
max_test_file_non_blank_lines = 600
qualifier_strategy = "allowlist"
allowed_qualifiers = ["regression"]
[[tool.tq.targets]]
name = "tq"
package = "tq"
source_root = "src"
test_root = "tests"
Documentation
Language support
tq currently only analyzes Python source and Python tests (.py).
Development
Contributions are welcomed!
Contribution guidelines and development setup steps are documented in CONTRIBUTING.md.
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 Distributions
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.11.1.tar.gz.
File metadata
- Download URL: tqlint-0.11.1.tar.gz
- Upload date:
- Size: 38.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 |
f56c03539b823754d0619c5a5d1158a90b83872e6593f361ffe5dff42c894d54
|
|
| MD5 |
d3f02f476abe9f150a2b96f733e5e68e
|
|
| BLAKE2b-256 |
3ae533b3bb02b4ca82abb29ba26cd3992be1360010e88800d28e1fe64681a9fe
|
File details
Details for the file tqlint-0.11.1-py3-none-win_amd64.whl.
File metadata
- Download URL: tqlint-0.11.1-py3-none-win_amd64.whl
- Upload date:
- Size: 574.8 kB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 |
decaaa10a89e01e84c08dfba6096aef33288ad978e44c6851264030eb7bb4cfa
|
|
| MD5 |
ccce8676553a1461c32dd96196985982
|
|
| BLAKE2b-256 |
3fdf07b2354e9ca2080491573ebc29d104364c0bd6adf5f19c8ed7890422b0a9
|
File details
Details for the file tqlint-0.11.1-py3-none-manylinux_2_31_x86_64.whl.
File metadata
- Download URL: tqlint-0.11.1-py3-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 683.4 kB
- Tags: Python 3, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 |
81e06566a708747cf5c106e65fd732ffe71d6ff020523f813a86e029b7e1ad83
|
|
| MD5 |
338fba1eaed833aefe255b50f52a897f
|
|
| BLAKE2b-256 |
cba66a27247e53764ca61c0ed915b39d3d9c5e9b3b645e5acddc80eb7a5bb998
|
File details
Details for the file tqlint-0.11.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: tqlint-0.11.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 619.6 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 |
aebca4a0ceae17871b8ee39ee4516ebe23e1a316137a50b1e6df3ac2f9f743bd
|
|
| MD5 |
ab8a697cfa5434101ea588c0af46ca10
|
|
| BLAKE2b-256 |
0acf9ac032f9bf2c10aef9b969a525bc19857b93e536c114c31bdbf786091e22
|
File details
Details for the file tqlint-0.11.1-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: tqlint-0.11.1-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 652.7 kB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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 |
d0c43724ea257bbfec66cdd6729bc8d357b42d83e10374f744047a84563ae47c
|
|
| MD5 |
779dedda759921e182916fef368ef1d6
|
|
| BLAKE2b-256 |
81883b5f2213a141bf3792d4c8bff1628fb1905caef97107eb796d0588470dad
|