gdtoolkit
Independent set of tools for working with GDScript - parser, linter and formatter
What it is and what it does
GDToolkit is a command-line toolkit for GDScript developers working with the Godot game engine. It bundles four main tools: a parser that builds parse trees for debugging, a linter that performs static analysis against configurable rules, a formatter that standardizes code style, and a metrics calculator that measures cyclomatic complexity. The package depends on lark for parsing, docopt-ng for CLI argument handling, pyyaml for configuration, radon for complexity calculation, and setuptools for installation.
You use it by running commands like `gdlint`, `gdformat`, `gdparse`, and `gdradon` on your GDScript files. It's designed to integrate into development workflows—either as a standalone tool, a GitHub Action, or a pre-commit hook. The formatter can rewrite files in place, so version control is recommended. The linter outputs violations with line numbers and rule names; the parser prints a tree representation of code structure; the metrics calculator reports complexity grades similar to Radon's Python output.
Use it for:
- Run `gdlint` in CI/CD pipelines to enforce GDScript coding standards before merging pull requests
- Use `gdformat` with pre-commit hooks to automatically normalize code style across a team's Godot project
- Execute `gdparse` to inspect and debug the syntactic structure of GDScript files during development
- Calculate cyclomatic complexity with `gdradon` to identify overly complex functions that need refactoring
- Integrate as a GitHub Action to perform static checks on every push and pull request to a Godot repository
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
GDScript parser, linter, formatter, and code metrics calculator providing static analysis and code quality tools for Godot's GDScript language.
Yes. The package is stable (Production/Stable classifier), permissively licensed, has low install friction, and fills a clear need for GDScript developers. The aging maintenance status (309 days since last release) is a minor concern but not a blocker—the repository is active, no vulnerabilities are known, and the toolkit's core functionality remains relevant. Install it if you work with GDScript and want automated code quality checks.
Install
gdtoolkit on PyPI
pip
pip install gdtoolkituv
uv add gdtoolkitpoetry
poetry add gdtoolkitInstalling gdtoolkit
Before you install
Low install friction with a pure Python wheel distribution. Maintenance status is aging—last release was 309 days ago—but the repository remains active with recent commits and no archived status.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the original license notice.
Quickstart
pip install gdtoolkit==4.5.0
# Run linter on a GDScript file
gdlint my_script.gd
# Format a file
gdformat my_script.gd
# Parse and inspect structure
gdparse my_script.gd -p
Requires Python 3.7 or later; GDScript files must be valid GDScript syntax for the parser and linter to work correctly.
Verify before relying
- Whether the package actively supports Godot 4.x versions beyond what the version number suggests
- Performance characteristics when linting or formatting large GDScript projects
- Compatibility with recent Godot engine releases and their GDScript syntax changes
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — lark, docopt-ng, pyyaml, radon, setuptools |
| Maintenance | aging — 309 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 231,084/month — #9,096 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gdtoolkit-4.5.0-py3-none-any.whl
Keywords: GODOT, GDSCRIPT, PARSER, LINTER, FORMATTER
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
godot-aiGodot AI exposes a Model Context Protocol (MCP)…
unclear · top 15,000 on PyPI
tclinttclint is a CLI linter, formatter, and language…
permissive · top 15,000 on PyPI
djlintdjlint formats and lints HTML templates with…
copyleft · top 5,000 on PyPI
lizardLizard analyzes code complexity and detects…
permissive · top 5,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
mdformat-gfmMdformat-gfm extends mdformat to format GitHub…
permissive · top 5,000 on PyPI
taploTaplo is a TOML v1.0.0 toolkit that provides…
permissive · top 15,000 on PyPI
mbakembake formats and lints Makefiles, enforcing…
permissive · top 15,000 on PyPI
rstcheckValidates reStructuredText syntax and checks…
permissive · top 5,000 on PyPI
bashatebashate is a style checker for bash scripts…
permissive · top 15,000 on PyPI