hacking
OpenStack Hacking Guideline Enforcement
Decision gist · record as of 2026-08-14
Yes, if you are working on OpenStack projects or adopting the OpenStack Style Guide. The low install friction, active maintenance, and permissive license make it a straightforward addition to a flake8-based workflow. If your project does not follow OpenStack conventions, the checks may not be relevant; evaluate whether the built-in rules align with your style guide first.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Hacking pins specific versions of flake8 and related plugins, so it will install those exact versions alongside itself.
- Low install friction with a single runtime dependency on flake8.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 licensed under a permissive license, allowing use in proprietary and open-source projects without significant restrictions.
last release 2026-06-11 (64 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 197,427 downloads/mo, #9,760 on PyPI
Alternatives
Verify before relying
pip install hacking
Then in your project's tox.ini or .flake8 config:
[flake8]
enable-extensions = H106,H203
Run: flake8 your_code.py- Whether the pinned flake8 and plugin versions in a given hacking release are compatible with other linting tools in your workflow.
- How many OpenStack-specific checks are included in version 8.1.0 and whether they apply to non-OpenStack projects.
What it is and what it does
Hacking is a collection of flake8 plugins designed to automate enforcement of the OpenStack Style Guide. It extends flake8 with OpenStack-specific checks that catch style violations, dangerous patterns (like shadowing built-ins), and common programming errors. The tool runs as part of code review workflows to reduce manual style nitpicking and ensure consistency across projects with multiple authors.
The package pins its dependencies—flake8, pep8, mccabe, and pyflakes—to specific versions to prevent new releases of those tools from introducing stricter rules or new checks that would unexpectedly break existing code. This stability is important for projects that gate on hacking versions. Some checks are disabled by default and can be enabled via configuration. Hacking also supports local project-specific checks registered as plugins in tox.ini.
Use it for
- Enforce OpenStack style guidelines in OpenStack projects and related codebases during CI/CD gating.
- Catch dangerous patterns like reserved-word shadowing and unsafe logging practices automatically before code review.
- Add project-specific linting rules by registering local plugins alongside hacking's built-in checks.
- Ensure code style consistency across teams by automating what would otherwise require manual reviewer effort.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working on OpenStack projects or adopting the OpenStack Style Guide.
The low install friction, active maintenance, and permissive license make it a straightforward addition to a flake8-based workflow. If your project does not follow OpenStack conventions, the checks may not be relevant; evaluate whether the built-in rules align with your style guide first.
Install
hacking on PyPI
Before you install
Low install friction with a single runtime dependency on flake8. Actively maintained with a recent release; pins its dependencies to prevent breaking changes from new versions of flake8 or its plugins.
Requires Python 3.10 or later. Hacking pins specific versions of flake8 and related plugins, so it will install those exact versions alongside itself.
License in practice
Apache-2.0 licensed under a permissive license, allowing use in proprietary and open-source projects without significant restrictions.
Quickstart
pip install hacking
Then in your project's tox.ini or .flake8 config:
[flake8]
enable-extensions = H106,H203
Run: flake8 your_code.py
Verify before relying
- Whether the pinned flake8 and plugin versions in a given hacking release are compatible with other linting tools in your workflow.
- How many OpenStack-specific checks are included in version 8.1.0 and whether they apply to non-OpenStack projects.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageflake8 |
| Maintenance | Actively maintained 64 days since the last release |
| First released | |
| Downloads | 197,427 / month, #9,760 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: OpenStackIntended Audience :: DevelopersIntended Audience :: Information TechnologyOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Typing :: Typed |
Evidence: hacking-8.1.0-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 › “openstack style guide enforcement”
- hackingHacking is a set of flake8 plugins that enforce the OpenStack Style…
- valeVale is a command-line tool for enforcing editorial style guides on…
- cpplintCpplint is a command-line static code checker that scans C/C++ files…
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 flake8-mock-spec · wemake-python-styleguide · flake8 · flake8-copyright · flake8-literal · flake8-pyi · pytest-flake8 · flake8-type-checking · flake8-deprecated · pep8