{"categories":[{"label":"Build Tools","url":"https://skillfed.io/packages/category/software-development-build-tools/3"}],"enrichment":{"capability":"Provides a Python-installable wrapper that bundles the shfmt shell script formatter binary for your platform, making it available as a command-line tool or pre-commit hook.","skillfed_tags":["shell-formatting","pre-commit-hook","code-quality"],"use_cases":["Enforce consistent shell script formatting in CI/CD pipelines by installing shfmt-py and running it as a linter step.","Set up a pre-commit hook to automatically format shell scripts before commits, using the sample .pre-commit-config.yaml configuration.","Format shell scripts locally during development without manually downloading or managing the shfmt binary for your platform.","Integrate shell script formatting into Python-based build or deployment tools that need to standardize script formatting.","Ensure shell script style consistency across a team by pinning a specific shfmt-py version in a shared development environment."],"what_it_does":"shfmt-py is a Python wrapper that downloads and bundles the shfmt shell script formatter binary for your operating system at install time. Once installed, it makes the shfmt command available on your PATH (or as shfmt.exe on Windows), allowing you to format shell scripts from the command line or integrate formatting into your development workflow via pre-commit hooks.\n\nThe package has no runtime dependencies and is independently versioned from the upstream shfmt project\u2014each release notes specify which shfmt version is bundled. It supports Python 3.9 and later on CPython and PyPy, and provides platform-specific wheels for macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows. The wrapper handles the complexity of downloading the correct binary for your platform, so you get a consistent shfmt experience across development machines without manual binary management.","worth_installing":"Yes, if you need to format shell scripts in a Python environment or CI/CD pipeline. The package is actively maintained, has no runtime dependencies, and provides convenient platform-specific binary distribution. Medium install friction (platform-specific downloads) is a minor trade-off for avoiding manual binary management. Be aware that the bundled shfmt version does not directly mirror the PyPI version\u2014check release notes for the exact upstream version you're getting."},"id":"shfmt-py","links":{"html":"https://skillfed.io/packages/shfmt-py","md":"https://skillfed.io/packages/shfmt-py.md","pypi":"https://pypi.org/project/shfmt-py/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-13","license_spdx":"MIT","license_treatment":"permissive","name":"shfmt-py","python_support":"supports_current","summary":"Python wrapper around invoking shfmt (https://github.com/mvdan/sh)"},"popularity":{"monthly_downloads":286537,"position":8042,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.0.0"}
