wemake-python-styleguide


Namewemake-python-styleguide JSON
Version 0.19.2 PyPI version JSON
download
home_pagehttps://wemake-python-styleguide.rtfd.io
SummaryThe strictest and most opinionated python linter ever
upload_time2024-03-26 15:47:38
maintainerNone
docs_urlNone
authorNikita Sobolev
requires_python<4.0,>=3.9
licenseMIT
keywords flake8 flake8-plugin flake8-formatter linter wemake.services styleguide code quality pycqa
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # wemake-python-styleguide

[![wemake.services](https://img.shields.io/badge/%20-wemake.services-green.svg?label=%20&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC%2FxhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP%2F%2F%2F5TvxDIAAAAIdFJOUwAjRA8xXANAL%2Bv0SAAAADNJREFUGNNjYCAIOJjRBdBFWMkVQeGzcHAwksJnAPPZGOGAASzPzAEHEGVsLExQwE7YswCb7AFZSF3bbAAAAABJRU5ErkJggg%3D%3D)](https://wemake-services.github.io)
[![Supporters](https://img.shields.io/opencollective/all/wemake-python-styleguide.svg?color=gold&label=supporters)](https://opencollective.com/wemake-python-styleguide)
[![Build Status](https://github.com/wemake-services/wemake-python-styleguide/workflows/test/badge.svg?branch=master&event=push)](https://github.com/wemake-services/wemake-python-styleguide/actions?query=workflow%3Atest)
[![codecov](https://codecov.io/gh/wemake-services/wemake-python-styleguide/branch/master/graph/badge.svg)](https://codecov.io/gh/wemake-services/wemake-python-styleguide)
[![Python Version](https://img.shields.io/pypi/pyversions/wemake-python-styleguide.svg)](https://pypi.org/project/wemake-python-styleguide/)
[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)

---

Welcome to the strictest and most opinionated Python linter ever.

<p align="center">
  <a href="https://wemake-python-styleguide.rtfd.io">
    <img src="https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/logo.png"
         alt="wemake-python-styleguide logo">
  </a>
</p>

`wemake-python-styleguide` is actually a [flake8](http://flake8.pycqa.org/en/latest/)
plugin with [some other plugins](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/violations/index.html#external-plugins) as dependencies.


## 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:

- [flakeheaven](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/flakeheaven.html) for easy integration into a **legacy** codebase
- [nitpick](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/nitpick.html) for sharing and validating configuration across multiple projects


## Running

```bash
flake8 your_module.py
```

This app is still just good old `flake8`!
And it won't change your existing workflow.

<p align="center">
  <img src="https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/running.png"
       alt="invocation results">
</p>

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)!


## 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 | 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. [Reformat code](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/auto-formatters.html), since we believe that developers should do that
2. Check for `SyntaxError` or 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://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.

[![Gold Tier](https://opencollective.com/wemake-python-styleguide/tiers/gold-sponsor.svg?width=890)](https://opencollective.com/wemake-python-styleguide)

[![Silver Tier](https://opencollective.com/wemake-python-styleguide/tiers/silver-sponsor.svg?width=890&avatarHeight=45&button=0)](https://opencollective.com/wemake-python-styleguide)

[![Bronze Tier](https://opencollective.com/wemake-python-styleguide/tiers/bronze-sponsor.svg?width=890&avatarHeight=35&button=0)](https://opencollective.com/wemake-python-styleguide)


## 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:

[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)

### Markdown

```md
[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)
```

### 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!

[![List of contributors](https://opencollective.com/wemake-python-styleguide/contributors.svg?width=890&button=0)](https://github.com/wemake-services/wemake-python-styleguide/graphs/contributors)

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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://wemake-python-styleguide.rtfd.io",
    "name": "wemake-python-styleguide",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "flake8, flake8-plugin, flake8-formatter, linter, wemake.services, styleguide, code quality, pycqa",
    "author": "Nikita Sobolev",
    "author_email": "mail@sobolevn.me",
    "download_url": "https://files.pythonhosted.org/packages/c2/f4/2a76c59661fae8534b81e992a37d347de241b242aaf5bc651b10d24b7025/wemake_python_styleguide-0.19.2.tar.gz",
    "platform": null,
    "description": "# wemake-python-styleguide\n\n[![wemake.services](https://img.shields.io/badge/%20-wemake.services-green.svg?label=%20&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC%2FxhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP%2F%2F%2F5TvxDIAAAAIdFJOUwAjRA8xXANAL%2Bv0SAAAADNJREFUGNNjYCAIOJjRBdBFWMkVQeGzcHAwksJnAPPZGOGAASzPzAEHEGVsLExQwE7YswCb7AFZSF3bbAAAAABJRU5ErkJggg%3D%3D)](https://wemake-services.github.io)\n[![Supporters](https://img.shields.io/opencollective/all/wemake-python-styleguide.svg?color=gold&label=supporters)](https://opencollective.com/wemake-python-styleguide)\n[![Build Status](https://github.com/wemake-services/wemake-python-styleguide/workflows/test/badge.svg?branch=master&event=push)](https://github.com/wemake-services/wemake-python-styleguide/actions?query=workflow%3Atest)\n[![codecov](https://codecov.io/gh/wemake-services/wemake-python-styleguide/branch/master/graph/badge.svg)](https://codecov.io/gh/wemake-services/wemake-python-styleguide)\n[![Python Version](https://img.shields.io/pypi/pyversions/wemake-python-styleguide.svg)](https://pypi.org/project/wemake-python-styleguide/)\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n\n---\n\nWelcome to the strictest and most opinionated Python linter ever.\n\n<p align=\"center\">\n  <a href=\"https://wemake-python-styleguide.rtfd.io\">\n    <img src=\"https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/logo.png\"\n         alt=\"wemake-python-styleguide logo\">\n  </a>\n</p>\n\n`wemake-python-styleguide` is actually a [flake8](http://flake8.pycqa.org/en/latest/)\nplugin with [some other plugins](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/violations/index.html#external-plugins) as dependencies.\n\n\n## Quickstart\n\n```bash\npip install wemake-python-styleguide\n```\n\nYou will also need to create a `setup.cfg` file with the [configuration](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/configuration.html).\n\n[Try it online](https://wps.orsinium.dev)!\n\nWe highly recommend to also use:\n\n- [flakeheaven](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/flakeheaven.html) for easy integration into a **legacy** codebase\n- [nitpick](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/nitpick.html) for sharing and validating configuration across multiple projects\n\n\n## Running\n\n```bash\nflake8 your_module.py\n```\n\nThis app is still just good old `flake8`!\nAnd it won't change your existing workflow.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/running.png\"\n       alt=\"invocation results\">\n</p>\n\nSee [\"Usage\" section](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/setup.html)\nin the docs for examples and integrations.\n\nWe also support [GitHub Actions](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/github-actions.html) as first class-citizens.\n[Try it out](https://github.com/marketplace/actions/wemake-python-styleguide)!\n\n\n## Strict is the new cool\n\nStrict linting offers the following benefits to developers and companies:\n1. Ensures consistency - no matter who works on it, the end product will always be the same dependable code\n2. Helps avoid potential bugs - strict rules make sure that you don't make common mistakes\n3. 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!\n4. Fewer code revisions - strict linting ensures that you don't have to re-write the codebase again and again\n5. 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\n\n\n## What we are about\n\nThe ultimate goal of this project is\nto make all people write **exactly** the same `Python` code.\n\n|                            | flake8 | pylint | black | mypy | wemake-python-styleguide |\n|----------------------------|--------|--------|-------|------|--------------------------|\n| Formats code?              |   \u274c   |   \u274c   |   \u2705  |  \u274c  |            \u274c           |\n| Finds style issues?        |   \ud83e\udd14   |   \u2705   |   \ud83e\udd14  |  \u274c  |            \u2705           |\n| Finds bugs?                |   \ud83e\udd14   |   \u2705   |   \u274c  |  \u2705  |            \u2705           |\n| Finds complex code?        |   \u274c   |   \ud83e\udd14   |   \u274c  |  \u274c  |            \u2705           |\n| Has a lot of strict rules? |   \u274c   |   \ud83e\udd14   |   \u274c  |  \u274c  |            \u2705           |\n| Has a lot of plugins?      |   \u2705   |   \u274c   |   \u274c  |  \ud83e\udd14  |            \u2705           |\n\nWe have several primary objectives:\n\n1. Significantly reduce the complexity of your code and make it more maintainable\n2. Enforce \"There should be one -- and preferably only one -- obvious way to do it\" rule to coding and naming styles\n3. Protect developers from possible errors and enforce best practices\n\nYou can find all error codes and plugins [in the docs](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/violations/index.html).\n\n\n## What we are not\n\nWe are *not* planning to do the following things:\n\n0. Assume or check types, use `mypy` together with our linter\n1. [Reformat code](https://wemake-python-styleguide.rtfd.io/en/latest/pages/usage/integrations/auto-formatters.html), since we believe that developers should do that\n2. Check for `SyntaxError` or logical bugs, write tests instead\n3. 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\n\n\n## Supporting us :tada:\n\nWe in [wemake.services](https://wemake.services) make\nall our tools open-source by default, so the community can benefit from them.\nIf you use our tools and they make your life easier and brings business value,\nyou can return us a favor by supporting the work we do.\n\n[![Gold Tier](https://opencollective.com/wemake-python-styleguide/tiers/gold-sponsor.svg?width=890)](https://opencollective.com/wemake-python-styleguide)\n\n[![Silver Tier](https://opencollective.com/wemake-python-styleguide/tiers/silver-sponsor.svg?width=890&avatarHeight=45&button=0)](https://opencollective.com/wemake-python-styleguide)\n\n[![Bronze Tier](https://opencollective.com/wemake-python-styleguide/tiers/bronze-sponsor.svg?width=890&avatarHeight=35&button=0)](https://opencollective.com/wemake-python-styleguide)\n\n\n## Show your style :sunglasses:\n\nIf you use our linter - it means that your code is awesome.\nYou can be proud of it!\nAnd you should share your accomplishment with others\nby including a badge in your `README` file. It looks like this:\n\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n\n### Markdown\n\n```md\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n```\n\n### Restructured text\n\n```rst\n.. image:: https://img.shields.io/badge/style-wemake-000000.svg\n   :target: https://github.com/wemake-services/wemake-python-styleguide\n```\n\n\n## Contributing\n\nWe **warmly welcome** all contributions!\n\n[![List of contributors](https://opencollective.com/wemake-python-styleguide/contributors.svg?width=890&button=0)](https://github.com/wemake-services/wemake-python-styleguide/graphs/contributors)\n\nSee [\"Contributing\"](https://wemake-python-styleguide.rtfd.io/en/latest/pages/api/index.html#contributing) section in the documentation if you want to contribute.\n\nYou 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)\nright now.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "The strictest and most opinionated python linter ever",
    "version": "0.19.2",
    "project_urls": {
        "Funding": "https://opencollective.com/wemake-python-styleguide",
        "Homepage": "https://wemake-python-styleguide.rtfd.io",
        "Repository": "https://github.com/wemake-services/wemake-python-styleguide"
    },
    "split_keywords": [
        "flake8",
        " flake8-plugin",
        " flake8-formatter",
        " linter",
        " wemake.services",
        " styleguide",
        " code quality",
        " pycqa"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fdc40e36d00c88e995f2a0e5de8c61bb130a4acdc1b458b6bf8c7a474b127890",
                "md5": "fe63fb2a0f4dd2d24e8bc47ed554c0fa",
                "sha256": "d53205dbb629755026d853d15fb3ca03ebb2717c97de4198b5676b9bdc0663bd"
            },
            "downloads": -1,
            "filename": "wemake_python_styleguide-0.19.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fe63fb2a0f4dd2d24e8bc47ed554c0fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 224081,
            "upload_time": "2024-03-26T15:47:35",
            "upload_time_iso_8601": "2024-03-26T15:47:35.767975Z",
            "url": "https://files.pythonhosted.org/packages/fd/c4/0e36d00c88e995f2a0e5de8c61bb130a4acdc1b458b6bf8c7a474b127890/wemake_python_styleguide-0.19.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2f42a76c59661fae8534b81e992a37d347de241b242aaf5bc651b10d24b7025",
                "md5": "e8e305fbd496bfed62bd3a5dc7d90051",
                "sha256": "850fe70e6d525fd37ac51778e552a121a489f1bd057184de96ffd74a09aef414"
            },
            "downloads": -1,
            "filename": "wemake_python_styleguide-0.19.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e8e305fbd496bfed62bd3a5dc7d90051",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 168472,
            "upload_time": "2024-03-26T15:47:38",
            "upload_time_iso_8601": "2024-03-26T15:47:38.412388Z",
            "url": "https://files.pythonhosted.org/packages/c2/f4/2a76c59661fae8534b81e992a37d347de241b242aaf5bc651b10d24b7025/wemake_python_styleguide-0.19.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-26 15:47:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wemake-services",
    "github_project": "wemake-python-styleguide",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wemake-python-styleguide"
}
        
Elapsed time: 0.25782s