Skip to main content

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

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


Download files

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

Source Distribution

tqlint-0.4.2.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

tqlint-0.4.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

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

Hashes for tqlint-0.4.2.tar.gz
Algorithm Hash digest
SHA256 90a7e7481aca8fe40d0b3f3018acaa6d9fce1bcd9cc6912233002c66ff086a86
MD5 4f973e2210759ca422867a5f7738390e
BLAKE2b-256 88359debe6f11560b4b1da0e6b8ef54bed66d42866950072bc5b079c209ed68d

See more details on using hashes here.

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

Hashes for tqlint-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e73b0ed4dd6e32d896aa483ee06cc92b24ea3488081c4d4ade6e99e6e9ad8cce
MD5 3ad07353f1118752efde5c8b7edefb45
BLAKE2b-256 22b114e3914f6ff1cf31156efb5bc6ad0b686de464b1fc55b2812e41b295c56f

See more details on using hashes here.

Supported by

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