New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

python-dev-tools

Package Overview
Dependencies
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-dev-tools - pypi Package Compare versions

Comparing version
2020.9.1
to
2020.9.2
+29
-31
PKG-INFO
Metadata-Version: 2.1
Name: python-dev-tools
Version: 2020.9.1
Version: 2020.9.2
Summary: Needed and up-to-date tools to develop in Python

@@ -109,3 +109,3 @@ Home-page: https://github.com/vpoulailleau/python-dev-tools

$ python3 -m pip install python-dev-tools --user
$ python3 -m pip install python-dev-tools --user --upgrade

@@ -117,9 +117,2 @@ Full documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html

Upgrade
-------
.. code-block:: console
$ python3 -m pip install python-dev-tools --user --upgrade
Installation with Visual Studio Code

@@ -154,3 +147,3 @@ ------------------------------------

* ``whatalinter a_python_file.py`` lints a_python_file.py
* output is compatible with the one of pycodestyle (formerly named pep8) for
* output is compatible with the one of flake8 for
easy integration in text editors and IDE

@@ -205,2 +198,7 @@ * based on

2020.9.2
^^^^^^^^
* Remove some warnings of ``wemake-python-styleguide``, for instance allow f-strings
2020.9.1

@@ -218,3 +216,3 @@ ^^^^^^^^

* Add flake8-2020 linter
* Add ``flake8-2020`` linter

@@ -224,3 +222,3 @@ 2019.07.21

* Add --quiet and --diff flags to whataformatter for VS Code compatibility
* Add ``--quiet`` and ``--diff`` flags to ``whataformatter`` for VS Code compatibility

@@ -230,5 +228,5 @@ 2019.07.20

* Add black formatter
* Add autoflake formatter
* Add pyupgrade formatter
* Add ``black`` formatter
* Add ``autoflake`` formatter
* Add ``pyupgrade`` formatter

@@ -238,15 +236,15 @@ 2019.04.08

* Add flake8 linter
* Add flake8-isort linter
* Add pep8-naming linter
* Add flake8-comprehensions linter
* Add flake8-logging-format linter
* Add flake8-bugbear linter
* Add flake8-builtins linter
* Add flake8-broken-line linter
* Add flake8-fixme linter
* Add flake8-mutable linter
* Add flake8-debugger linter
* Add flake8-variables-names linter
* Add flake8-bandit linter
* Add ``flake8`` linter
* Add ``flake8-isort`` linter
* Add ``pep8-naming`` linter
* Add ``flake8-comprehensions`` linter
* Add ``flake8-logging-format`` linter
* Add ``flake8-bugbear`` linter
* Add ``flake8-builtins`` linter
* Add ``flake8-broken-line`` linter
* Add ``flake8-fixme`` linter
* Add ``flake8-mutable`` linter
* Add ``flake8-debugger`` linter
* Add ``flake8-variables-names`` linter
* Add ``flake8-bandit`` linter

@@ -256,3 +254,3 @@ 2019.03.02

* Add pydocstyle linter
* Add ``pydocstyle`` linter

@@ -267,4 +265,4 @@ 2019.03.01

* Add pyflakes linter
* Add pycodestyle linter
* Add ``pyflakes`` linter
* Add ``pycodestyle`` linter

@@ -271,0 +269,0 @@ 2019.02.23

[tool.poetry]
name = "python_dev_tools"
version = "2020.9.1"
version = "2020.9.2"
description = "Needed and up-to-date tools to develop in Python"

@@ -5,0 +5,0 @@ classifiers=[

"""Top-level package for Python Dev Tools."""
__author__ = """Vincent Poulailleau"""
__email__ = "vpoulailleau@gmail.com"
__version__ = "2020.02.05"
"""Autoflake formatter management."""
from .common import Formatter
from python_dev_tools.formatters.common import Formatter

@@ -4,0 +4,0 @@

"""Black formatter management."""
from .common import Formatter
from python_dev_tools.formatters.common import Formatter

@@ -10,2 +10,2 @@

path = "black"
cli_args = ["--line-length", "79", "--target-version=py36"]
cli_args = ["--target-version=py36"]
"""Common constants and class to all linters."""
import subprocess
import subprocess # noqa: S404
from typing import List

@@ -21,6 +22,10 @@

@classmethod
def format_file(cls, filepath):
"""Execute the formatter."""
def format_file(cls, filepath: str) -> None:
"""Execute the formatter.
Args:
filepath (str): path of the file to format
"""
try:
return cls._format_file(filepath)
cls._format_file(filepath)
except FormatterNotFound:

@@ -30,11 +35,21 @@ print(f"Formatter {cls.name} not found: {cls.path}")

@classmethod
def _format_file(cls, filepath):
args = [cls.path, *cls.cli_args, str(filepath)]
def _format_file(cls, filepath: str):
args = [cls.path, *cls.cli_args, filepath]
cls._execute_command(args)
@classmethod
def _execute_command(cls, args):
"""Execute the formatter or raise FormatterNotFound."""
def _execute_command(cls, args: List[str]) -> subprocess.CompletedProcess:
"""Execute the formatter.
Args:
args (list[str]): arguments of the command including command name
Raises:
FormatterNotFound: formatter ``cls.path`` not found in path
Returns:
CompletedProcess: result of the execution
"""
try:
return subprocess.run(
return subprocess.run( # noqa: S603
args,

@@ -46,6 +61,5 @@ stdout=subprocess.PIPE,

)
except FileNotFoundError as e:
if e.filename == cls.path:
except FileNotFoundError as exc:
if exc.filename == cls.path:
raise FormatterNotFound
else:
raise
raise
"""Definition of format function, calling all formatters."""
from typing import List
from .autoflake import AutoflakeFormatter
from .black import BlackFormatter
from .pyupgrade import PyupgradeFormatter
from python_dev_tools.formatters.autoflake import AutoflakeFormatter
from python_dev_tools.formatters.black import BlackFormatter
from python_dev_tools.formatters.common import Formatter
from python_dev_tools.formatters.pyupgrade import PyupgradeFormatter
formatters = [
formatters: List[Formatter] = [
AutoflakeFormatter,

@@ -14,5 +16,9 @@ PyupgradeFormatter,

def format_file(filepath):
"""Format the file with known formatters."""
def format_file(filepath: str) -> None:
"""Format the file with known formatters.
Args:
filepath (str): path of the file to format
"""
for formatter in formatters:
formatter.format_file(filepath)
"""Pyupgrade formatter management."""
from .common import Formatter
from python_dev_tools.formatters.common import Formatter

@@ -4,0 +4,0 @@

@@ -68,4 +68,3 @@ """Common constants and class to all linters."""

"col": self.charno,
# horrible hack for visual studio code
"code": f"W{self.message_id[1:]}",
"code": f"{self.message_id}",
"text": f"[{self.tool}] {self.message}",

@@ -122,3 +121,3 @@ }

try:
return subprocess.run(
return subprocess.run( # noqa: S603
args,

@@ -160,3 +159,3 @@ stdout=subprocess.PIPE,

message = cls._parse_line(
line, cls.regex[regex_index], message, tool=cls.name
line, cls.regex[regex_index], message, tool=cls.name,
)

@@ -167,3 +166,4 @@

regex_index = 0
messages.append(message)
if not cls.filter_out(message):
messages.append(message)
message = None

@@ -174,1 +174,6 @@ else:

return messages
@staticmethod
def filter_out(message: LinterMessage) -> bool:
"""Return True when message should be ignored."""
return False

@@ -7,3 +7,3 @@ """Flake8 linter management."""

from .common import Linter
from python_dev_tools.linters.common import Linter, LinterMessage

@@ -17,4 +17,6 @@

regex = [
r"(?P<filename>.*?):(?P<lineno>\d+):(?P<charno>\d+):"
r"\s+(?P<message_id>.*?)\s+(?P<message>.*)"
(
r"(?P<filename>.*?):(?P<lineno>\d+):(?P<charno>\d+):"
+ r"\s+(?P<message_id>.*?)\s+(?P<message>.*)"
),
]

@@ -35,3 +37,8 @@

"10",
]
# Q000: avoid "" strings
# WPS305: avoid f-strings
# WPS306: required explicit subclassing of object
# WPS602: avoid @staticmethod (can be subclassed…)
"--ignore=Q000,WPS305,WPS306,WPS602",
],
)

@@ -42,3 +49,10 @@ except SystemExit:

messages = cls._parse_output(stdout.getvalue())
return messages
return cls._parse_output(stdout.getvalue())
@staticmethod
def filter_out(message: LinterMessage) -> bool:
"""Return True when message should be ignored."""
for authorized_function in ("input", "print", "pprint"):
if f"Found wrong function call: {authorized_function}" in message.message:
return True
return False
"""Definition of lint function, calling all linters."""
from .flake8 import Flake8Linter
from python_dev_tools.linters.flake8 import Flake8Linter

@@ -5,0 +5,0 @@ linters = [

@@ -15,3 +15,3 @@ """Formatter module, aggregation of formatters."""

os.environ["PATH"] = "".join(
(str(script_path.parent), os.pathsep, os.environ["PATH"])
(str(script_path.parent), os.pathsep, os.environ["PATH"]),
)

@@ -23,3 +23,3 @@

os.environ["PATH"] = "".join(
(str(parent.parent / "bin"), os.pathsep, os.environ["PATH"])
(str(parent.parent / "bin"), os.pathsep, os.environ["PATH"]),
)

@@ -31,6 +31,6 @@

parser = argparse.ArgumentParser(
description="Python formatter combining existing formatters"
description="Python formatter combining existing formatters",
)
parser.add_argument(
"file", metavar="FILE", type=str, help="path of the file to format"
"file", metavar="FILE", type=str, help="path of the file to format",
)

@@ -62,4 +62,4 @@ parser.add_argument(

orig_content, copy_content, fromfile="origin", tofile="formatted",
)
)
),
),
)

@@ -66,0 +66,0 @@ Path(copy_file).unlink()

@@ -14,3 +14,3 @@ """Linter module, aggregation of linters."""

os.environ["PATH"] = "".join(
(str(script_path.parent), os.pathsep, os.environ["PATH"])
(str(script_path.parent), os.pathsep, os.environ["PATH"]),
)

@@ -22,3 +22,3 @@

os.environ["PATH"] = "".join(
(str(parent.parent / "bin"), os.pathsep, os.environ["PATH"])
(str(parent.parent / "bin"), os.pathsep, os.environ["PATH"]),
)

@@ -30,6 +30,6 @@

parser = argparse.ArgumentParser(
description="Python linter combining existing linters"
description="Python linter combining existing linters",
)
parser.add_argument(
"file", metavar="FILE", type=str, help="path of the file to lint"
"file", metavar="FILE", type=str, help="path of the file to lint",
)

@@ -36,0 +36,0 @@ parser.add_argument(

@@ -52,3 +52,3 @@ Python Dev Tools

$ python3 -m pip install python-dev-tools --user
$ python3 -m pip install python-dev-tools --user --upgrade

@@ -60,9 +60,2 @@ Full documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html

Upgrade
-------
.. code-block:: console
$ python3 -m pip install python-dev-tools --user --upgrade
Installation with Visual Studio Code

@@ -97,3 +90,3 @@ ------------------------------------

* ``whatalinter a_python_file.py`` lints a_python_file.py
* output is compatible with the one of pycodestyle (formerly named pep8) for
* output is compatible with the one of flake8 for
easy integration in text editors and IDE

@@ -148,2 +141,7 @@ * based on

2020.9.2
^^^^^^^^
* Remove some warnings of ``wemake-python-styleguide``, for instance allow f-strings
2020.9.1

@@ -161,3 +159,3 @@ ^^^^^^^^

* Add flake8-2020 linter
* Add ``flake8-2020`` linter

@@ -167,3 +165,3 @@ 2019.07.21

* Add --quiet and --diff flags to whataformatter for VS Code compatibility
* Add ``--quiet`` and ``--diff`` flags to ``whataformatter`` for VS Code compatibility

@@ -173,5 +171,5 @@ 2019.07.20

* Add black formatter
* Add autoflake formatter
* Add pyupgrade formatter
* Add ``black`` formatter
* Add ``autoflake`` formatter
* Add ``pyupgrade`` formatter

@@ -181,15 +179,15 @@ 2019.04.08

* Add flake8 linter
* Add flake8-isort linter
* Add pep8-naming linter
* Add flake8-comprehensions linter
* Add flake8-logging-format linter
* Add flake8-bugbear linter
* Add flake8-builtins linter
* Add flake8-broken-line linter
* Add flake8-fixme linter
* Add flake8-mutable linter
* Add flake8-debugger linter
* Add flake8-variables-names linter
* Add flake8-bandit linter
* Add ``flake8`` linter
* Add ``flake8-isort`` linter
* Add ``pep8-naming`` linter
* Add ``flake8-comprehensions`` linter
* Add ``flake8-logging-format`` linter
* Add ``flake8-bugbear`` linter
* Add ``flake8-builtins`` linter
* Add ``flake8-broken-line`` linter
* Add ``flake8-fixme`` linter
* Add ``flake8-mutable`` linter
* Add ``flake8-debugger`` linter
* Add ``flake8-variables-names`` linter
* Add ``flake8-bandit`` linter

@@ -199,3 +197,3 @@ 2019.03.02

* Add pydocstyle linter
* Add ``pydocstyle`` linter

@@ -210,4 +208,4 @@ 2019.03.01

* Add pyflakes linter
* Add pycodestyle linter
* Add ``pyflakes`` linter
* Add ``pycodestyle`` linter

@@ -214,0 +212,0 @@ 2019.02.23

@@ -51,5 +51,5 @@ # -*- coding: utf-8 -*-

'name': 'python-dev-tools',
'version': '2020.9.1',
'version': '2020.9.2',
'description': 'Needed and up-to-date tools to develop in Python',
'long_description': 'Python Dev Tools\n================\n\nNeeded and up-to-date tools to develop in Python (*WORK IN PROGRESS*)\n\n\n.. image:: https://img.shields.io/pypi/v/python_dev_tools.svg\n :target: https://pypi.python.org/pypi/python_dev_tools\n\n.. image:: https://img.shields.io/pypi/l/python_dev_tools.svg\n :target: https://github.com/vpoulailleau/python_dev_tools/blob/master/LICENSE\n\n.. image:: https://travis-ci.com/vpoulailleau/python-dev-tools.svg?branch=master\n :target: https://travis-ci.com/vpoulailleau/python-dev-tools\n\n.. image:: https://readthedocs.org/projects/python-dev-tools/badge/?version=latest\n :target: https://python-dev-tools.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pepy.tech/badge/python-dev-tools\n :target: https://pepy.tech/project/python-dev-tools\n :alt: Downloads\n\n.. image:: https://api.codeclimate.com/v1/badges/282fcd71714dabd6a847/test_coverage\n :target: https://codeclimate.com/github/vpoulailleau/python-dev-tools/test_coverage\n :alt: Test Coverage\n\n.. image:: https://api.codeclimate.com/v1/badges/282fcd71714dabd6a847/maintainability\n :target: https://codeclimate.com/github/vpoulailleau/python-dev-tools/maintainability\n :alt: Maintainability\n\n.. image:: https://bettercodehub.com/edge/badge/vpoulailleau/python-dev-tools?branch=master\n :target: https://bettercodehub.com/results/vpoulailleau/python-dev-tools\n :alt: Maintainability\n\n.. image:: https://img.shields.io/lgtm/grade/python/g/vpoulailleau/python-dev-tools.svg?logo=lgtm&logoWidth=1\n :target: https://lgtm.com/projects/g/vpoulailleau/python-dev-tools/context:python\n :alt: Maintainability\n\nDocumentation\n-------------\n\nThe full documentation can be read at https://python-dev-tools.readthedocs.io.\n\nInstallation\n------------\n\nIn a terminal, run:\n\n.. code-block:: console\n\n $ python3 -m pip install python-dev-tools --user\n\nFull documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html\n\nThat\'s it! Use the provided linter, formatter and precommit hook where\napplicable.\n\nUpgrade\n-------\n\n.. code-block:: console\n\n $ python3 -m pip install python-dev-tools --user --upgrade\n\nInstallation with Visual Studio Code\n------------------------------------\n\n* Follow the installation procedure for python-dev-tools\n* Be sure to have the official Python extension installed in VS Code\n* In VS Code, open settings (F1 key, then type "Open Settings (JSON)",\n then enter)\n* Add in the opened JSON file:\n\n.. code:: javascript\n\n "python.linting.enabled": true,\n "python.linting.flake8Enabled": true,\n "python.linting.flake8Path": "flake8",\n "python.formatting.provider": "black",\n "python.formatting.blackPath": "whataformatter",\n "python.formatting.blackArgs": [],\n\n* Adapt the previous path according to your installation.\n\nFeatures\n--------\n\nIntegrate features of commonly used tools. This package provides usual\ndependencies to develop Python software.\n\n* Simple linter\n\n * ``whatalinter a_python_file.py`` lints a_python_file.py\n * output is compatible with the one of pycodestyle (formerly named pep8) for\n easy integration in text editors and IDE\n * based on\n\n * pydocstyle: https://github.com/PyCQA/pydocstyle\n * flake8 and plugins: https://gitlab.com/pycqa/flake8\n\n * flake8-2020: https://github.com/asottile/flake8-2020\n * flake8-bandit: https://github.com/tylerwince/flake8-bandit\n * flake8-broken-line: https://github.com/sobolevn/flake8-broken-line\n * flake8-bugbear: https://github.com/PyCQA/flake8-bugbear\n * flake8-builtins: https://github.com/gforcada/flake8-builtins\n * flake8-comprehensions: https://github.com/adamchainz/flake8-comprehensions\n * flake8-debugger: https://github.com/JBKahn/flake8-debugger\n * flake8-docstrings: https://gitlab.com/pycqa/flake8-docstrings\n * flake8-fixme: https://github.com/tommilligan/flake8-fixme\n * flake8-isort: https://github.com/gforcada/flake8-isort\n * flake8-logging-format: https://github.com/globality-corp/flake8-logging-format\n * flake8-mutable: https://github.com/ebeweber/flake8-mutable\n * flake8-variables-names: https://github.com/best-doctor/flake8-variables-names\n * pep8-naming: https://github.com/PyCQA/pep8-naming\n * wemake-python-styleguide: https://github.com/wemake-services/wemake-python-styleguide\n\n* Simple formatter\n\n * ``whataformatter a_python_file.py`` formats a_python_file.py\n * based on\n\n * autoflake: https://github.com/myint/autoflake\n * black: https://github.com/python/black\n * pyupgrade: https://github.com/asottile/pyupgrade\n\n* Simple precommit hook\n\n * TODO\n\nLicense\n-------\n\nBSD 3-Clause license, feel free to contribute: https://python-dev-tools.readthedocs.io/en/latest/contributing.html.\n\nTODO\n----\n\n* documentation\n* precommit\n\nChangelog\n---------\n\n2020.9.1\n^^^^^^^^\n\n* Use ``poetry``\n* Remove redundant linters\n* Change max line length to 88 (default value of ``black``)\n* Replace ``pydocstyle`` with ``flake8-docstrings``\n* Add ``wemake-python-styleguide``\n\n2019.10.22\n^^^^^^^^^^\n\n* Add flake8-2020 linter\n\n2019.07.21\n^^^^^^^^^^\n\n* Add --quiet and --diff flags to whataformatter for VS Code compatibility\n\n2019.07.20\n^^^^^^^^^^\n\n* Add black formatter\n* Add autoflake formatter\n* Add pyupgrade formatter\n\n2019.04.08\n^^^^^^^^^^\n\n* Add flake8 linter\n* Add flake8-isort linter\n* Add pep8-naming linter\n* Add flake8-comprehensions linter\n* Add flake8-logging-format linter\n* Add flake8-bugbear linter\n* Add flake8-builtins linter\n* Add flake8-broken-line linter\n* Add flake8-fixme linter\n* Add flake8-mutable linter\n* Add flake8-debugger linter\n* Add flake8-variables-names linter\n* Add flake8-bandit linter\n\n2019.03.02\n^^^^^^^^^^\n\n* Add pydocstyle linter\n\n2019.03.01\n^^^^^^^^^^\n\n* Add McCabe complexity checker\n\n2019.02.26\n^^^^^^^^^^\n\n* Add pyflakes linter\n* Add pycodestyle linter\n\n2019.02.23\n^^^^^^^^^^\n\n* First release on PyPI.\n',
'long_description': 'Python Dev Tools\n================\n\nNeeded and up-to-date tools to develop in Python (*WORK IN PROGRESS*)\n\n\n.. image:: https://img.shields.io/pypi/v/python_dev_tools.svg\n :target: https://pypi.python.org/pypi/python_dev_tools\n\n.. image:: https://img.shields.io/pypi/l/python_dev_tools.svg\n :target: https://github.com/vpoulailleau/python_dev_tools/blob/master/LICENSE\n\n.. image:: https://travis-ci.com/vpoulailleau/python-dev-tools.svg?branch=master\n :target: https://travis-ci.com/vpoulailleau/python-dev-tools\n\n.. image:: https://readthedocs.org/projects/python-dev-tools/badge/?version=latest\n :target: https://python-dev-tools.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pepy.tech/badge/python-dev-tools\n :target: https://pepy.tech/project/python-dev-tools\n :alt: Downloads\n\n.. image:: https://api.codeclimate.com/v1/badges/282fcd71714dabd6a847/test_coverage\n :target: https://codeclimate.com/github/vpoulailleau/python-dev-tools/test_coverage\n :alt: Test Coverage\n\n.. image:: https://api.codeclimate.com/v1/badges/282fcd71714dabd6a847/maintainability\n :target: https://codeclimate.com/github/vpoulailleau/python-dev-tools/maintainability\n :alt: Maintainability\n\n.. image:: https://bettercodehub.com/edge/badge/vpoulailleau/python-dev-tools?branch=master\n :target: https://bettercodehub.com/results/vpoulailleau/python-dev-tools\n :alt: Maintainability\n\n.. image:: https://img.shields.io/lgtm/grade/python/g/vpoulailleau/python-dev-tools.svg?logo=lgtm&logoWidth=1\n :target: https://lgtm.com/projects/g/vpoulailleau/python-dev-tools/context:python\n :alt: Maintainability\n\nDocumentation\n-------------\n\nThe full documentation can be read at https://python-dev-tools.readthedocs.io.\n\nInstallation\n------------\n\nIn a terminal, run:\n\n.. code-block:: console\n\n $ python3 -m pip install python-dev-tools --user --upgrade\n\nFull documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html\n\nThat\'s it! Use the provided linter, formatter and precommit hook where\napplicable.\n\nInstallation with Visual Studio Code\n------------------------------------\n\n* Follow the installation procedure for python-dev-tools\n* Be sure to have the official Python extension installed in VS Code\n* In VS Code, open settings (F1 key, then type "Open Settings (JSON)",\n then enter)\n* Add in the opened JSON file:\n\n.. code:: javascript\n\n "python.linting.enabled": true,\n "python.linting.flake8Enabled": true,\n "python.linting.flake8Path": "flake8",\n "python.formatting.provider": "black",\n "python.formatting.blackPath": "whataformatter",\n "python.formatting.blackArgs": [],\n\n* Adapt the previous path according to your installation.\n\nFeatures\n--------\n\nIntegrate features of commonly used tools. This package provides usual\ndependencies to develop Python software.\n\n* Simple linter\n\n * ``whatalinter a_python_file.py`` lints a_python_file.py\n * output is compatible with the one of flake8 for\n easy integration in text editors and IDE\n * based on\n\n * pydocstyle: https://github.com/PyCQA/pydocstyle\n * flake8 and plugins: https://gitlab.com/pycqa/flake8\n\n * flake8-2020: https://github.com/asottile/flake8-2020\n * flake8-bandit: https://github.com/tylerwince/flake8-bandit\n * flake8-broken-line: https://github.com/sobolevn/flake8-broken-line\n * flake8-bugbear: https://github.com/PyCQA/flake8-bugbear\n * flake8-builtins: https://github.com/gforcada/flake8-builtins\n * flake8-comprehensions: https://github.com/adamchainz/flake8-comprehensions\n * flake8-debugger: https://github.com/JBKahn/flake8-debugger\n * flake8-docstrings: https://gitlab.com/pycqa/flake8-docstrings\n * flake8-fixme: https://github.com/tommilligan/flake8-fixme\n * flake8-isort: https://github.com/gforcada/flake8-isort\n * flake8-logging-format: https://github.com/globality-corp/flake8-logging-format\n * flake8-mutable: https://github.com/ebeweber/flake8-mutable\n * flake8-variables-names: https://github.com/best-doctor/flake8-variables-names\n * pep8-naming: https://github.com/PyCQA/pep8-naming\n * wemake-python-styleguide: https://github.com/wemake-services/wemake-python-styleguide\n\n* Simple formatter\n\n * ``whataformatter a_python_file.py`` formats a_python_file.py\n * based on\n\n * autoflake: https://github.com/myint/autoflake\n * black: https://github.com/python/black\n * pyupgrade: https://github.com/asottile/pyupgrade\n\n* Simple precommit hook\n\n * TODO\n\nLicense\n-------\n\nBSD 3-Clause license, feel free to contribute: https://python-dev-tools.readthedocs.io/en/latest/contributing.html.\n\nTODO\n----\n\n* documentation\n* precommit\n\nChangelog\n---------\n\n2020.9.2\n^^^^^^^^\n\n* Remove some warnings of ``wemake-python-styleguide``, for instance allow f-strings\n\n2020.9.1\n^^^^^^^^\n\n* Use ``poetry``\n* Remove redundant linters\n* Change max line length to 88 (default value of ``black``)\n* Replace ``pydocstyle`` with ``flake8-docstrings``\n* Add ``wemake-python-styleguide``\n\n2019.10.22\n^^^^^^^^^^\n\n* Add ``flake8-2020`` linter\n\n2019.07.21\n^^^^^^^^^^\n\n* Add ``--quiet`` and ``--diff`` flags to ``whataformatter`` for VS Code compatibility\n\n2019.07.20\n^^^^^^^^^^\n\n* Add ``black`` formatter\n* Add ``autoflake`` formatter\n* Add ``pyupgrade`` formatter\n\n2019.04.08\n^^^^^^^^^^\n\n* Add ``flake8`` linter\n* Add ``flake8-isort`` linter\n* Add ``pep8-naming`` linter\n* Add ``flake8-comprehensions`` linter\n* Add ``flake8-logging-format`` linter\n* Add ``flake8-bugbear`` linter\n* Add ``flake8-builtins`` linter\n* Add ``flake8-broken-line`` linter\n* Add ``flake8-fixme`` linter\n* Add ``flake8-mutable`` linter\n* Add ``flake8-debugger`` linter\n* Add ``flake8-variables-names`` linter\n* Add ``flake8-bandit`` linter\n\n2019.03.02\n^^^^^^^^^^\n\n* Add ``pydocstyle`` linter\n\n2019.03.01\n^^^^^^^^^^\n\n* Add McCabe complexity checker\n\n2019.02.26\n^^^^^^^^^^\n\n* Add ``pyflakes`` linter\n* Add ``pycodestyle`` linter\n\n2019.02.23\n^^^^^^^^^^\n\n* First release on PyPI.\n',
'author': 'Vincent Poulailleau',

@@ -56,0 +56,0 @@ 'author_email': 'vpoulailleau@gmail.com',