{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/3"},{"label":"Text Processing","url":"https://skillfed.io/packages/category/text-processing"},{"label":"System Shells","url":"https://skillfed.io/packages/category/system-system-shells"}],"enrichment":{"capability":"bashlex parses bash shell syntax into an abstract syntax tree (AST), supporting complex constructs like command and process substitutions that standard tools like shlex cannot handle.","skillfed_tags":["shell-parsing","ast-generation"],"use_cases":["Build shell script analyzers or linters that need to understand bash syntax beyond simple word splitting","Implement shell command documentation tools that parse and explain bash constructs","Extract and analyze command structures from bash scripts for auditing or refactoring","Tokenize bash input more accurately than shlex for tools that handle process or command substitutions"],"what_it_does":"bashlex is a Python port of GNU bash's internal parser, transliterated from C to parse bash shell syntax into a complete AST. Unlike shlex, it understands complex bash constructs such as command substitutions, process substitutions, and nested expansions, making it suitable for tools that need to analyze or manipulate bash scripts programmatically.\n\nThe package does not execute shell code\u2014it only parses and tokenizes. It has a single runtime dependency (enum34 for older Python versions) and installs as a pure Python wheel with low friction. The codebase is dormant but stable; it was last updated in January 2023 and has no known security vulnerabilities.","worth_installing":"Yes, if you need to parse bash syntax programmatically. bashlex is stable, well-tested, has no vulnerabilities, and solves a specific problem that standard library tools cannot. The GPLv3+ license is a blocker only for proprietary projects; open-source projects should install without hesitation. The dormant maintenance status is not a concern for a parser\u2014the bash syntax it targets is mature and unlikely to change significantly."},"id":"bashlex","links":{"html":"https://skillfed.io/packages/bashlex","md":"https://skillfed.io/packages/bashlex.md","pypi":"https://pypi.org/project/bashlex/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-01-18","license_spdx":null,"license_treatment":"copyleft","name":"bashlex","python_support":"supports_current","summary":"Python parser for bash"},"popularity":{"monthly_downloads":16475266,"position":1150,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.18"}
