Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
W

wemake-python-styleguide

> 开发工具
Open source

The strictest and most opinionated python linter ever!

2.9K stars0 likes0 views
WebsiteGitHub

About

The strictest and most opinionated python linter ever!

# wemake-python-styleguide --- Welcome to the strictest and most opinionated Python linter ever. *The best tool to teach your LLM how to write idiomatic and simple Python code!*

`wemake-python-styleguide` is actually a [flake8](http://flake8.pycqa.org/en/latest/) plugin, the only one you will need as your [ruff](https://github.com/astral-sh/ruff) companion. Fully compatible with **ALL** rules and format conventions from `ruff`. ## Quickstart ```bash pip install wemake-python-styleguide ``` You will also need to create a `setup.cfg` file with the [configuration](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/configuration.html). [Try it online](https://wps.orsinium.dev)! We highly recommend to also use: - [ondivi](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/ondivi.html) for easy integration into a **legacy** codebase ## AI Features `wemake-python-styleguide` works natively with AI tools, it is great for improving agents' code quality. Skills: - [`/wps`](https://github.com/wemake-services/wemake-python-styleguide/blob/master/.agents/skills/wps/SKILL.md) to run better Python code that passes `wemake-python-styleguide` MCPs: - [wps](https://wemake-python-styleguide.readthedocs.io/en/latest/pages/usage/cli.html#mcp-server) MCP helps with explaining violations and provide context on how to fix them Additional contexts for LLMs: - [Context7](https://context7.com/wemake-services/wemake-python-styleguide) - [`llms.txt`](https://wemake-python-styleguide.readthedocs.io/llms.txt) - [`llms-full.txt`](https://wemake-python-styleguide.readthedocs.io/llms-full.txt) See full [AI docs](https://wemake-python-styleguide.readthedocs.io/en/latest/pages/usage/cli.html). ## Running ```bash flake8 your_module.py --select=WPS ``` This app is still just good old `flake8`! And it won't change your existing workflow.

See ["Usage" section](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/setup.html) in the docs for examples and integrations. We also support [GitHub Actions](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/github-actions.html) as first class-citizens. [Try it out](https://github.com/marketplace/actions/wemake-python-styleguide)! Can (and should!) be used with `ruff`: ```bash ruff check && ruff format flake8 . --select=WPS ``` See example `ruff` configuration in our [`pyproject.toml`](https://github.com/wemake-services/wemake-python-styleguide/blob/master/pyproject.toml#L103). ## Strict is the new cool Strict linting offers the following benefits to developers and companies: 1. Ensures consistency - no matter who works on it, the end product will always be the same dependable code 2. Helps avoid potential bugs - strict rules make sure that you don't make common mistakes 3. Efficient code reviews - each piece of code has a similar familiar style and syntax. If it passes all the checks, there's little left to review! 4. Fewer code revisions - strict linting ensures that you don't have to re-write the codebase again and again 5. Reduce code redundancy - Sometimes we write complex code as we are thinking in a certain way about a problem. The linter offers suggestions that can help simplify the code and eliminate redundant statements ## What we are about The ultimate goal of this project is to make all people write **exactly** the same `Python` code. | | flake8 | pylint | black | mypy | ruff | wemake-python-styleguide | |----------------------------|--------|--------|-------|------|------|--------------------------| | Formats code? | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | | Finds style issues? | | ✅ | | ❌ | ✅ | ❌ | | Finds bugs? | | ✅ | ❌ | ✅ | ✅ | ✅ | | Finds complex code? | ❌ | | ❌ | ❌ | ❌ | ✅ | | Has a lot of strict rules? | ❌ | | ❌ | ❌ | ✅ | ✅ | | Has a lot of plugins? | ✅ | ❌ | ❌ | | ❌ | ✅ | We have several primary objectives: 1. Significantly reduce the complexity of your code and make it more maintainable 2. Enforce "There should be one -- and preferably only one -- obvious way to do it" rule to coding and naming styles 3. Protect developers from possible errors and enforce best practices You can find all error codes and plugins [in the docs](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/violations/index.html). ## What we are not We are *not* planning to do the following things: 0. Assume or check types, use `mypy` together with our linter 1. Format code or produce stylistic errors, use `ruff format` for that 2. Check for all kinds of logical bugs, write tests instead 3. Appeal to everyone. But, you can [switch off](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/setup.html#ignoring-violations) any rules that you don't like ## Supporting us :tada: We in [wemake.services](https://github.com/wemake-services) make all our tools open-source by default, so the community can benefit from them. If you use our tools and they make your life easier and brings business value, you can return us a favor by supporting the work we do. ## Show your style :sunglasses: If you use our linter - it means that your code is awesome. You can be proud of it! And you should share your accomplishment with others by including a badge in your `README` file. It looks like this: ### Markdown ```md ``` ### Restructured text ```rst .. image:: https://img.shields.io/badge/style-wemake-000000.svg :target: https://github.com/wemake-services/wemake-python-styleguide ``` ## Contributing We **warmly welcome** all contributions! See ["Contributing"](https://wemake-python-styleguide.rtfd.io/en/latest/pages/api/index.html#contributing) section in the documentation if you want to contribute. You can start with [issues that need some help](https://github.com/wemake-services/wemake-python-styleguide/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) right now.

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •ondivi for easy integration into a legacy codebase
  • •/wps to run better Python code that passes wemake-python-styleguide
  • •wps MCP helps with explaining violations and provide context on how to fix them
  • •Context7
  • •llms.txt
  • •llms-full.txt

> Tags

Pythoncode-qualityflake8flake8-pluginhacktoberfest

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category开发工具
PricingOpen source

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具