{"id":21347,"library":"flake8-pie","title":"flake8-pie","description":"A flake8 plugin with a growing collection of opinionated Python lint rules (PIE). Currently v0.16.0, maintained sporadically. Adds ~40 custom checks targeting code smell, performance, and modern Python idioms.","status":"active","version":"0.16.0","language":"python","source_language":"en","source_url":"https://github.com/sbdchd/flake8-pie","tags":["flake8 plugin","linting","code quality","pylint","ruff"],"install":[{"cmd":"pip install flake8-pie","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Runtime dependency; plugin runs as flake8 extension","package":"flake8","optional":false}],"imports":[{"note":"Plugin auto-registers with flake8, no explicit import needed.","symbol":"PIE","correct":""}],"quickstart":{"code":"pip install flake8 flake8-pie\nflake8 your_code.py --select=PIE","lang":"python","description":"Install both flake8 and the plugin, then run flake8 with the --select=PIE flag to see pie‑specific errors."},"warnings":[{"fix":"Review new rules via flake8 --help or docs; optionally add per‑rule ignores in config.","message":"v0.15.0 (or v0.14.0) added 18+ new rules. Upgrading may expose new violations in existing code.","severity":"breaking","affected_versions":">=0.5.0, <0.15.0"},{"fix":"Use flake8 --select=PIE or set select = PIE in .flake8 config.","message":"Rules are off by default. You must explicitly enable them via --select=PIE or --enable-extensions=PIE.","severity":"gotcha","affected_versions":"all"},{"fix":"Pin version e.g. flake8-pie==0.16.0 in requirements.","message":"Rule codes are not stable between major versions; rename/removal is possible. Pin flake8-pie version in CI.","severity":"gotcha","affected_versions":"all"},{"fix":"Update .flake8 ignore lists and replace removed codes with current equivalents.","message":"Some rules (e.g., PIE781, PIE782) have been removed or merged into other rules. Check changelog.","severity":"deprecated","affected_versions":">=0.14.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"pip install flake8 flake8-pie in the same environment.","cause":"flake8-pie not installed in the same environment as flake8.","error":"flake8.errors.Flake8Exception: Plugin 'flake8_pie' is not installed."},{"fix":"Do not import flake8_pie in your code. Use flake8 command line only.","cause":"Trying to import internal module directly; plugin is not meant to be imported in user code.","error":"AttributeError: module 'flake8_pie' has no attribute 'visitors'"},{"fix":"Replace the class with a module-level constants/functions, or suppress with # noqa: PIE798.","cause":"Rule fires on classes that only contain static methods or constants; considered unnecessary.","error":"PIE798: no-unnecessary-class"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}