reformat-gherkin
Formatter for Gherkin language
Decision gist · record as of 2026-08-14
Yes, if you maintain Gherkin feature files and want automated, consistent formatting. The package is lightweight, actively maintained, has no known vulnerabilities, and integrates cleanly with pre-commit workflows. The only caveat is that the last release was over 3 years ago; verify that it handles your specific Gherkin syntax and framework before relying on it in production pipelines.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later.
- Low friction: pure Python wheel with six runtime dependencies (PyYAML, attrs, cattrs, click, gherkin-official, wcwidth).
- Actively maintained with recent commits; last release was over 3 years ago but repository remains active.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.
last release 2022-10-04 (1410 days) · last repo commit 2026-07-06 · 32 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 170,452 downloads/mo, #10,393 on PyPI
Alternatives
Verify before relying
pip install reformat-gherkin
reformat-gherkin path/to/feature.feature
# or with options:
reformat-gherkin --alignment right --tab-width 4 path/to/features/- Whether the package handles all Gherkin syntax variants (e.g., multiple languages, scenario outlines) without data loss.
- Performance characteristics on large feature file collections or deeply nested scenarios.
- Compatibility with specific BDD frameworks (Behave, pytest-bdd, etc.) beyond generic Gherkin parsing.
What it is and what it does
Reformat-gherkin is a command-line formatter for Gherkin feature files used in behavior-driven development (BDD) testing. It reads .feature files and applies consistent formatting rules—controlling keyword alignment, indentation width, line endings, and tag layout—so that teams maintain a uniform style regardless of who wrote the file. The tool wraps gherkin-official for parsing and uses click for CLI handling.
It operates as a standalone command-line utility or integrates into pre-commit workflows. You can run it on individual files, directories, or stdin/stdout; use --check to validate without modifying; and configure defaults via a .reformat-gherkin.yaml file in your project. The tool follows Unix conventions: exits 0 on success, 1 if --check finds differences, and 123 on internal errors.
Use it for
- Enforce consistent Gherkin formatting across a team's BDD test suite before commits via pre-commit hooks.
- Reformat legacy feature files to a standard style when adopting a new BDD framework or coding standard.
- Validate feature file formatting in CI/CD pipelines using the --check flag to catch style violations.
- Adjust indentation and keyword alignment in bulk across many feature files with a single command.
- Standardize line endings (LF vs. CRLF) across feature files in multi-platform development teams.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain Gherkin feature files and want automated, consistent formatting.
The package is lightweight, actively maintained, has no known vulnerabilities, and integrates cleanly with pre-commit workflows. The only caveat is that the last release was over 3 years ago; verify that it handles your specific Gherkin syntax and framework before relying on it in production pipelines.
Install
reformat-gherkin on PyPI
Before you install
Low friction: pure Python wheel with six runtime dependencies (PyYAML, attrs, cattrs, click, gherkin-official, wcwidth). Actively maintained with recent commits; last release was over 3 years ago but repository remains active.
Requires Python 3.7 or later.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install reformat-gherkin
reformat-gherkin path/to/feature.feature
# or with options:
reformat-gherkin --alignment right --tab-width 4 path/to/features/
Verify before relying
- Whether the package handles all Gherkin syntax variants (e.g., multiple languages, scenario outlines) without data loss.
- Performance characteristics on large feature file collections or deeply nested scenarios.
- Compatibility with specific BDD frameworks (Behave, pytest-bdd, etc.) beyond generic Gherkin parsing.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.7,<4.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesPyYAMLattrscattrsclickgherkin-officialwcwidth |
| Maintenance | Actively maintained 1,410 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 170,452 / month, #10,393 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Quality Assurance |
Evidence: reformat_gherkin-3.0.1-py3-none-any.whl
Tags
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 › “gherkin formatter”
- reformat-gherkinAutomatically formats Gherkin feature files to enforce consistent…
- gherkin-officialParses and compiles Gherkin feature files into abstract syntax trees…
- behavebehave is a behavior-driven development (BDD) framework that lets you…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
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.
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.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
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.
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.
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.
See also gherkin-official · yapf · gersemi · darker · shfmt-py · blacken-docs · beautysh · pre-commit-hooks · sort-lines · mdformat