Skip to main content

wdl-lsp-tools

wdl-lsp-tools provides two small language servers for WDL (Workflow Description Language) files. They were written for the Zed WDL extension, which downloads them automatically, but they speak plain LSP (Language Server Protocol) over stdin/stdout and can be used with any editor. Both use only the Python standard library and need Python 3.8 or newer.

wdl-command-lint

wdl-command-lint runs ShellCheck on the bash in each WDL command block and Ruff on the Python heredocs inside them, and reports the results as diagnostics on the WDL file. WDL placeholders (~{...}) are replaced with code of the same length before linting, so positions map straight back onto the WDL file without placeholder false positives.

It is configured with environment variables:

Variable Description
SHELLCHECK_BIN Path to shellcheck. Unset turns ShellCheck off.
SHELLCHECK_EXCLUDE Comma-separated ShellCheck codes to ignore, e.g. SC2086,SC2034.
SHELLCHECK_SEVERITY Minimum severity: error, warning, info, or style.
RUFF_BIN Path to ruff. Unset turns Ruff off.
RUFF_IGNORE Comma-separated Ruff rules to ignore.

With neither tool set, the server starts but reports nothing.

sprocket-filtered

sprocket-filtered runs Sprocket as a language server and drops diagnostics whose message matches a regular expression (by default, Sprocket's type mismatch: ... errors). All arguments are passed to Sprocket unchanged, e.g. sprocket-filtered analyzer --stdio. It also sends pull-diagnostic requests to Sprocket one at a time, because Sprocket (0.28 through 0.32 at least) stops answering requests once more are in flight than the machine has CPU cores.

Variable Description
SPROCKET_BIN Path to sprocket (default: sprocket on PATH).
SPROCKET_HIDE_DIAGNOSTICS Regular expression for the messages to drop (default: ^type mismatch).

Installation

Install from PyPI with uv tool install wdl-lsp-tools or pipx install wdl-lsp-tools, which puts both commands on your PATH. Each GitHub release also includes wdl-lsp-tools.pyz, a single-file zipapp that runs either command without installing anything:

python3 wdl-lsp-tools.pyz wdl-command-lint
python3 wdl-lsp-tools.pyz sprocket-filtered analyzer --stdio

Releasing

Releases are built and published by GitHub Actions when a version tag is pushed. Update __version__ in src/wdl_lsp_tools/__init__.py, then tag the commit with the same version (e.g. v0.1.0) and push the tag.

License

BSD-3-Clause. See LICENSE.

Metadata

Release files for wdl-lsp-tools 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wdl-lsp-tools 0.1.0
File Size Uploaded Provenance Actions
wdl_lsp_tools-0.1.0.tar.gz 10.7 kB With provenance Details for wdl_lsp_tools-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wdl-lsp-tools 0.1.0
File Interpreter ABI Platform Actions
wdl_lsp_tools-0.1.0-py3-none-any.whl Python 3 none any Details for wdl_lsp_tools-0.1.0-py3-none-any.whl

Total release size: 23.0 kB

Release files / wdl_lsp_tools-0.1.0.tar.gz

Download URL wdl_lsp_tools-0.1.0.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8b1c94d6f16f839dfcba5e0dbd0874448fb0ce4739b2f4327b4cb4aac0f5c4d9
BLAKE2b-256 checksum
How to use checksums
4114c732f64a826a23ee7245c124071d3336a5681f2966ff61dc5fa9e348e0d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Release files / wdl_lsp_tools-0.1.0-py3-none-any.whl

Download URL wdl_lsp_tools-0.1.0-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f50ce2e32ad85d59f2fca7e602676c8fede8969bc175478a902b55e98b9b9ea
BLAKE2b-256 checksum
How to use checksums
f4966354150e2c5758b71288699c49c269705a3623a18e012f7b24d6a05fd2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Security for wdl-lsp-tools 0.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wdl_lsp_tools-0.1.0.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 Nov 5, 2026.

Transparency log

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page