Skip to content

vpoulailleau/python-dev-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

70af584 · Mar 30, 2023
Mar 24, 2023
Sep 7, 2020
May 21, 2022
Mar 30, 2023
Mar 24, 2023
May 21, 2022
Feb 24, 2019
Feb 24, 2019
May 21, 2022
Feb 24, 2019
Feb 24, 2019
Feb 26, 2019
Feb 24, 2019
Mar 26, 2023
May 26, 2022
Mar 24, 2023
Mar 24, 2023

Repository files navigation

Python Dev Tools

Needed and up-to-date tools to develop in Python (WORK IN PROGRESS)

https://img.shields.io/pypi/pyversions/python_dev_tools.svg?logo=python&logoColor=fff Documentation Status Downloads Test Coverage Maintainability

Documentation

The full documentation can be read at https://python-dev-tools.readthedocs.io.

Installation

In a terminal, run:

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

Full documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html

That's it! Use the provided linter (flake8), formatter (whataformatter) and precommit hook (TODO) where applicable.

Installation with Visual Studio Code

  • Follow the installation procedure for python-dev-tools
  • Be sure to have the official Python extension installed in VS Code
  • Open VS Code from within your activated virtual environment (in fact, make sure that flake8 from python-dev-tools is in your PYTHON_PATH)
  • In VS Code, open settings (F1 key, then type "Open Settings (JSON)", then enter)
  • Add in the opened JSON file (before the closing }):
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.flake8Path": "flake8",
"python.formatting.provider": "black",
"python.formatting.blackPath": "whataformatter",
"python.formatting.blackArgs": [],

Features

Integrate features of commonly used tools. This package provides usual dependencies to develop Python software.

License

BSD 3-Clause license, feel free to contribute: https://python-dev-tools.readthedocs.io/en/latest/contributing.html.

TODO

  • flake8 formatter to add URL to information on a warning
  • documentation
  • precommit (flake8, mypy)

Changelog

2023.3.24

  • Require Python3.8.1+
  • Upgrade to flake8 5 (most plugins not available for flake8 6 yet)
  • Add flake8-fastapi linter

2022.5.27

  • Add flake8-aaa linter
  • Add flake8-blind-except linter
  • Add flake8-breakpoint linter
  • Add flake8-class-attributes-order linter
  • Add flake8-cognitive-complexity linter
  • Add flake8-coding linter
  • Add flake8-comments linter
  • Add flake8-django linter
  • Add flake8-encoding linter
  • Add flake8-executable linter
  • Add flake8-functions-names linter
  • Add flake8-future-annotations linter
  • Add flake8-literal linter
  • Add flake8-markdown linter
  • Add flake8-noqa linter
  • Add flake8-no-pep420 linter
  • Add flake8-pie linter
  • Add flake8-pyi linter
  • Add flake8-pylint linter
  • Add flake8-secure-coding-standard linter
  • Add flake8-slots linter
  • Add flake8-use-pathlib linter
  • Add flake8-useless-assert linter
  • Add flake8-warnings linter
  • Add pandas-vet linter

2022.5.26

  • Add docformatter formatter
  • Add isort formatter
  • Add pybetter formatter
  • Add pycln formatter
  • Add removestar formatter
  • Add ssort formatter
  • Remove cohesion linter (false warnings on pure data classes such as NamedTuple)

2022.5.20

  • Add cohesion linter
  • Add dlint linter
  • Add flake8-annotations linter
  • Add flake8-annotations-complexity linter
  • Add flake8-annotations-coverage linter
  • Add flake8-black linter
  • Add flake8-expression-complexity linter
  • Add flake8-functions linter
  • Add flake8-pytest-style linter
  • Add flake8-simplify linter
  • Add flake8-tidy-imports linter
  • Add flake8-typing-imports linter
  • Add flake8-use-fstring linter
  • Remove flake8-commas linter that is deprecated
  • Fix whataformatter and add --target-version option for VS Code compatibility

2020.9.10

  • The path provided to whatalinter can be the one of a directory (recursive search of Python files)

2020.9.7

  • Remove E203 in flake8 for black compatibility

2020.9.4

  • Add whatalinter_vscode for Visual Studio Code integration

2020.9.2

  • Remove some warnings of wemake-python-styleguide, for instance allow f-strings

2020.9.1

  • Use poetry
  • Remove redundant linters
  • Change max line length to 88 (default value of black)
  • Replace pydocstyle with flake8-docstrings
  • Add wemake-python-styleguide

2019.10.22

  • Add flake8-2020 linter

2019.07.21

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

2019.07.20

  • Add black formatter
  • Add autoflake formatter
  • Add pyupgrade formatter

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

2019.03.02

  • Add pydocstyle linter

2019.03.01

  • Add McCabe complexity checker

2019.02.26

  • Add pyflakes linter
  • Add pycodestyle linter

2019.02.23

  • First release on PyPI.