Skip to main content

Advisory (detect-only) IUC best-practice checks for Galaxy tool XML — tier 3.5 of the galaxy-tool-source ecosystem.

Project description

galaxy-tool-lint

The advisory check tier (tier 3.5) of the Galaxy tool refactoring framework: read-only IUC best-practice checks that report but never mutate.

Where the codemod (tier 2) and fmt (tier 3) tiers fix a tool (their detect phases report what their fix would change), this tier covers the IUC tool_xml best-practices that are not safely auto-fixable — they need a content or semantic decision (add tests, declare requirements, write help). Each check is a RuleMeta-coded, detect_only=True rule that yields the shared tier-0.5 Violation. The findings are advisory: the galaxy-tool-refactor check command shows them but, by default, does not fail on them (use --strict to gate on them too).

Scope

Depends only on tier 1 (galaxy-tool-source, the parsed ToolDocument and profile helpers) and tier 0.5 (galaxy-tool-refactor-rules, RuleMeta / Violation). It does not depend on the mutating tiers — the app (galaxy-tool-refactor-cli) composes this alongside them.

from galaxy_tool_source.binding import load_tool
from galaxy_tool_lint.detect import detect_violations

for violation in detect_violations(load_tool("my_tool.xml")):
    print(violation.code, violation.message)

Checks

See galaxy_tool_lint.checks and the IUC coverage map at ../docs/iuc_best_practices.md. GTR020.2 (single-quote Cheetah $var) is implemented — it reads <command> text through the read-only command_text.py lexer (quote/directive-aware, across newlines; the lexer lives in tier 1, galaxy_tool_source.command_text, so the GTR020.1 codemod shares it) and reports one advisory per fully-unquoted shell-line $var. Its provable subset is now auto-fixed by the GTR020.1 codemod (docs/decisions.md D8). GTR089.2 (HelpRstResidual) is the advisory half of the GTR089 partition: it reports the invalid <help> reStructuredText the GTR089.1 repair codemod can't safely fix, through the same tier-1 predicate (galaxy_tool_source.rst; docs/decisions.md D31). GTR032 (&&-vs-lone-&) is a real detector since docs/decisions.md D34 (the data-backed D3 deferral ended when the CT3 lexer landed): the lone_amp.py classifier flags only genuine command-joining lone &s.

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

galaxy_tool_lint-0.3.4.tar.gz (102.7 kB view details)

Uploaded Source

Built Distribution

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

galaxy_tool_lint-0.3.4-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

Details for the file galaxy_tool_lint-0.3.4.tar.gz.

File metadata

  • Download URL: galaxy_tool_lint-0.3.4.tar.gz
  • Upload date:
  • Size: 102.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for galaxy_tool_lint-0.3.4.tar.gz
Algorithm Hash digest
SHA256 8df3b5d842f8fef52b5f98b3df49c27a94df05bcca732c1e2636ed5081ec7a5a
MD5 9c5311b261b044f0c3db3c6dc8c3fbbc
BLAKE2b-256 567d68d9aa29f6bbe07f83a47457b08c9a375c0b5c8ab7a6ab02e1161052796f

See more details on using hashes here.

Provenance

The following attestation bundles were made for galaxy_tool_lint-0.3.4.tar.gz:

Publisher: release.yml on richard-burhans/galaxy-tool-refactor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file galaxy_tool_lint-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for galaxy_tool_lint-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1f1b6662fa60ea3319b0f6d06c1d68264245483bec6c29855637a85f34bb604b
MD5 9df23e9a62bf512e604d83c0e46e314c
BLAKE2b-256 486b2ab66630f3810da0e8d49eb26489c2c1edc04bfbc0a7a68b76fdcc738a33

See more details on using hashes here.

Provenance

The following attestation bundles were made for galaxy_tool_lint-0.3.4-py3-none-any.whl:

Publisher: release.yml on richard-burhans/galaxy-tool-refactor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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