$npx skillfedfor your agent

bashate

A pep8 equivalent for bash scripts

SkipPyPI Quality AssuranceReleased Oct 202280.8K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — bashate-2.1.1-py3-none-any.whl
v2.1.1 · released 2022-10-06 · Python >=3.5 · 1 runtime deps: pbr

No—unless you are maintaining legacy OpenStack infrastructure or a codebase already using bashate. The package is abandoned (last release 2022-10-06) with no active maintenance. For new projects, consider actively maintained alternatives. If you inherit a bashate-based workflow, the low install friction and permissive license make it safe to keep, but do not adopt it for new linting setups.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python >=3.5; designed for POSIX/Linux environments.
  • Low install friction with a single runtime dependency (pbr).
  • However, the package is abandoned—last release was 2022-10-06, over 1408 days ago.

License · maintenance · safety

permissive license (permissive) — Licensed under Apache License (permissive). No licensing restrictions on use or modification in most contexts.

last release 2022-10-06 (1408 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 80,810 downloads/mo, #14,268 on PyPI

Verify before relying

pip install bashate
bashate script.sh
  • Whether the E-code checks (E001–E044) remain accurate for modern bash versions and syntax.
  • Current compatibility with Python versions beyond 3.9, given the package's abandoned status.
Same gist for agents: .md · .json

What it is and what it does

bashate is a command-line linter that checks bash scripts against a fixed set of style rules modeled after Python's pep8 (pycodestyle). It identifies six categories of issues: trailing whitespace, tab indentation, non-multiple-of-4 indents, missing final newlines, missing shebangs, and line length violations. It also enforces structural rules (e.g., *then* on the same line as *if*) and flags deprecated or unsafe bash syntax like `$[` arithmetic or unsafe local declarations.

The tool outputs results in pycodestyle format and was originally developed within the OpenStack DevStack project. It depends only on pbr for packaging and has low installation friction. However, the package has been abandoned since October 2022 with no active maintenance, meaning bug fixes or updates for newer bash versions are unlikely.

Use it for

  • Enforce consistent bash indentation and whitespace in CI/CD pipelines for infrastructure-as-code projects.
  • Catch deprecated bash syntax patterns (e.g., $[ arithmetic) before code review in shell-heavy DevOps teams.
  • Lint deployment scripts and system administration tools for basic style compliance without external dependencies.
  • Integrate into pre-commit hooks to flag trailing whitespace and structural issues in shell scripts automatically.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No—unless you are maintaining legacy OpenStack infrastructure or a codebase already using bashate.

The package is abandoned (last release 2022-10-06) with no active maintenance. For new projects, consider actively maintained alternatives. If you inherit a bashate-based workflow, the low install friction and permissive license make it safe to keep, but do not adopt it for new linting setups.

Install

bashate on PyPI

Before you install

Low install friction with a single runtime dependency (pbr). However, the package is abandoned—last release was 2022-10-06, over 1408 days ago. No active maintenance or security updates should be expected.

Requires Python >=3.5; designed for POSIX/Linux environments.

License in practice

Licensed under Apache License (permissive). No licensing restrictions on use or modification in most contexts.

Quickstart

pip install bashate
bashate script.sh

Verify before relying

  • Whether the E-code checks (E001–E044) remain accurate for modern bash versions and syntax.
  • Current compatibility with Python versions beyond 3.9, given the package's abandoned status.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.5
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
pbr
MaintenanceAbandoned 1,408 days since the last release
First released
Downloads80,810 / month, #14,268 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Environment :: OpenStackIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython

Evidence: bashate-2.1.1-py3-none-any.whl

Tags

Capabilities
bash style checkershell script linterbash code qualitypep8 for bashbash syntax checkershell script formatter checkbash whitespace linter
Topics
bash-linteropenstack-legacyabandoned

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “bash style checker”

  • bashatebashate is a style checker for bash scripts that applies pep8-like…
  • sphinxcontrib-shellcheckA Sphinx extension that automatically lints shell code blocks in…
  • tree-sitter-bashProvides a tree-sitter grammar for parsing Bash shell scripts into an…

Give your agent the search over MCP, or paste the wish link into any chat.

More Quality Assurance packages

coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
ruff Worth it
PyPI · Python Modules · released Aug 2026

Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.

MITcompiled wheel · 3.7+
316.1Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
black Worth it
PyPI · Python Modules · released May 2026

Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.

MITpure Python · 3.10+
179.9Mdownloads / mo
pytest-xdist Worth it
PyPI · Utilities · released Jul 2025

pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.

Install it if your test suite takes long enough that parallelization would save meaningful time.

MITpure Python · 3.9+
177.1Mdownloads / mo
cfn-lint Worth it
PyPI · Quality Assurance · released Aug 2026

Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.

Install it if you work with CloudFormation templates.

MIT-0pure Python
114.9Mdownloads / mo

See also pycodestyle · autopep8 · pep8 · yapf · flake8 · doc8 · pytest-pep8 · yamllint · pytest-flake8 · tclint