skillfed

tclint

A CLI utility for linting and analyzing Tcl code.

tclint v0.9.0 94.7K downloads/30d#13,317 on PyPI
Permissive license MIT License Active released

What it is and what it does

tclint is a command-line tool that brings modern development tooling to Tcl, a language often used in hardware design and embedded systems. It combines three capabilities: a linter that catches common Tcl errors (like redundant command substitution or incorrect argument counts), a code formatter that enforces consistent style, and a language server protocol (LSP) implementation that connects Tcl to mainstream editors. The tool accepts file or directory paths, recursively searches for .tcl, .sdc, .xdc, and .upf files, and reports violations with line and column numbers.

The package depends on ply for parsing, pygls for LSP support, and several utility libraries for configuration and plugin management. It targets Python 3.10+ and is distributed as a pure-Python wheel, making installation straightforward. The tool supports a plugin system for EDA tool-specific commands and reads configuration from tclint.toml or .tclint files in parent directories.

Use it for:

  • Catch common Tcl mistakes in hardware design scripts before runtime (e.g., redundant expressions, wrong argument counts).
  • Enforce consistent code style across a Tcl codebase using the built-in formatter.
  • Integrate Tcl linting into VS Code, Neovim, or Emacs for real-time feedback while editing.
  • Scan EDA tool configuration files (.sdc, .xdc, .upf) for errors using tool-specific plugins.
  • Set up pre-commit hooks or CI pipelines to validate Tcl code quality automatically.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

tclint is a CLI linter, formatter, and language server for Tcl code that detects common errors, enforces consistent style, and provides editor integration for VS Code, Neovim, and Emacs.

Yes. tclint fills a clear gap for Tcl developers who lack modern linting and formatting tools. Low install friction, active maintenance, permissive MIT license, no known vulnerabilities, and practical editor integration make it a solid choice for anyone working with Tcl code. Install via pipx for isolation or pip directly into your project environment.

Install

tclint on PyPI

pip

pip install tclint

uv

uv add tclint

poetry

poetry add tclint

Installing tclint

Before you install

Low install friction with a pure-Python wheel and six runtime dependencies (ply, tomli, pathspec, importlib-metadata, pygls, voluptuous). Active maintenance with a release 13 days ago.

License in practice

MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute tclint freely provided you include the license notice.

Quickstart

pip install tclint
tclint example.tcl

Requires Python 3.10 or later.

Verify before relying

  • Specific editor versions or configurations required for VS Code, Neovim, and Emacs integration.
  • Performance characteristics when linting large codebases or deeply nested Tcl structures.
  • Completeness of Tcl variant support via the plugin system and which variants are included by default.

Package facts

License MIT License (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — ply, tomli, pathspec, importlib-metadata, pygls, voluptuous
Maintenance actively maintained — 13 days since the last release
First released
Downloads 94,666/month — #13,317 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tclint-0.9.0-py3-none-any.whl

Tags

tcl lintertcl code formattertcl language servertcl static analysistcl editor integrationtcl lint tooltcl code quality
tcllspcode-quality

More Quality Assurance packages