The repository or configuration that created this release differ from a previous release. View details.
assert-no-inline-directives
A CLI tool to assert that files contain no inline directives for yamllint, pylint, mypy, coverage, clang-tidy, clang-format, and clang-diagnostic.
Installation
pip install assert-no-inline-directives
Usage
assert-no-inline-directives --tools TOOLS [OPTIONS] PATH [PATH ...]
Required Arguments
--tools TOOLS- Comma-separated list of tools:clang-diagnostic,clang-format,clang-tidy,coverage,mypy,pylint,yamllintPATH- One or more file paths, directory paths, or glob patterns to scan (directories are scanned recursively, globs support hidden directories)
Optional Arguments
--exclude PATTERNS- Comma-separated glob patterns to exclude files--quiet- Suppress output, exit code only--count- Print finding count only-v, --verbose- Show tools, files scanned, findings, and summary--fail-fast- Exit on first finding--warn-only- Always exit 0, report only--allow PATTERNS- Comma-separated patterns to allow
Examples
# Check for pylint and mypy suppressions in files
assert-no-inline-directives --tools pylint,mypy src/*.py
# Scan a directory recursively
assert-no-inline-directives --tools pylint,mypy src/
# Use glob patterns (including hidden directories like .github)
assert-no-inline-directives --tools yamllint "**/*.yml" "**/*.yaml"
# Check all Python/YAML tools, exclude vendor files
assert-no-inline-directives --tools coverage,mypy,pylint,yamllint \
--exclude "*vendor*" src/ config/
# Check for clang-tidy NOLINT directives in C++ files
assert-no-inline-directives --tools clang-tidy "**/*.cpp" "**/*.h"
# Check all clang tools
assert-no-inline-directives --tools clang-tidy,clang-format,clang-diagnostic src/
# Allow specific type: ignore patterns
assert-no-inline-directives --tools mypy \
--allow "type: ignore[import]" src/*.py
# Check for coverage pragmas
assert-no-inline-directives --tools coverage src/
# CI mode: quiet, just exit code
assert-no-inline-directives --tools pylint,mypy --quiet src/
# Verbose mode: show progress
assert-no-inline-directives --tools pylint,mypy --verbose src/
# Non-blocking check (always exit 0)
assert-no-inline-directives --tools mypy --warn-only src/
Exit Codes
0- No inline directives found1- One or more inline directives found2- Usage or runtime error (e.g., file not found, invalid tool)
Output Formats
Default format (one finding per line):
src/example.py:10:pylint:pylint: disable
src/example.py:15:mypy:type: ignore
src/example.py:20:coverage:pragma: no cover
config.yaml:5:yamllint:yamllint disable
src/main.cpp:8:clang-tidy:NOLINT
Count format (--count):
2
Detected Directives
coverage
pragma: no coverpragma: no branch
mypy (suppressions only)
type: ignore(including bracketed forms liketype: ignore[attr-defined])mypy: ignore-errors
pylint (suppressions only)
pylint: disablepylint: disable-nextpylint: disable-linepylint: skip-file
yamllint (suppressions only)
yamllint disable-lineyamllint disableyamllint disable-file
clang-tidy (suppressions only)
NOLINT(including check-specific forms likeNOLINT(bugprone-*))NOLINTNEXTLINENOLINTBEGIN
clang-format (suppressions only)
clang-format off
clang-diagnostic (suppressions only)
#pragma clang diagnostic ignored
Matching Behavior
- Case-insensitive matching
- Tolerates extra whitespace (e.g.,
pylint: disable,type: ignore) - Only detects directives in comments
(after
#for Python/YAML,//and/* */for C/C++), not in string literals clang-diagnosticmatches#pragmapreprocessor directives on the full line- Does not flag "enable" directives
(e.g.,
yamllint enable,NOLINTEND,clang-format on) - Files are scanned in alphabetical order for consistent output
- Glob patterns support hidden directories
(e.g.,
.github) - Tools only check files with matching
extensions:
clang-diagnostic:.c,.cc,.cpp,.cxx,.h,.hpp,.hxx,.m,.mmclang-format:.c,.cc,.cpp,.cxx,.h,.hpp,.hxx,.m,.mmclang-tidy:.c,.cc,.cpp,.cxx,.h,.hpp,.hxx,.m,.mmcoverage:.py,.tomlmypy:.py,.tomlpylint:.py,.tomlyamllint:.yaml,.yml,.toml
License
Apache 2.0 - see LICENSE.txt
Metadata
Release files for assert-no-inline-directives 20260220140306
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Change of provenance
The repository or configuration that created these release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| assert_no_inline_directives-20260220140306.tar.gz | 41.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| assert_no_inline_directives-20260220140306-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.9 kB
Release files / assert_no_inline_directives-20260220140306.tar.gz
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | assert_no_inline_directives-20260220140306.tar.gz |
|---|---|
| Size | 41.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6ce9a48231a86bbbe0f16ee0a279c2a955eb9de2ff352b0b88316556b7ea1c3
|
|
BLAKE2b-256 checksum How to use checksums |
5f3f9942ca3faea7dd1118e7989e10abe86936c30d6a0cb02c1a85a2b2ab902c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency logRelease files / assert_no_inline_directives-20260220140306-py3-none-any.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | assert_no_inline_directives-20260220140306-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c520670dd846324bb6595b298dfe8a94fd199ddc5db757991b444540ec5e31f
|
|
BLAKE2b-256 checksum How to use checksums |
659fd6809409b64cac1fd1d22d865afebcdfee26b6d74786913097e81351fe38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency logSecurity for assert-no-inline-directives 20260220140306
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Change of provenance
The configuration that created this release differs from a previous release.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Configuration
- Removed 20260213132139 release.yml
- Added 20260220140306 ci.yml
Attestation for assert_no_inline_directives-20260220140306.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.