Skip to main content

Needed and up-to-date tools to develop in Python

Project description

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

https://img.shields.io/pypi/v/python_dev_tools.svg https://img.shields.io/pypi/l/python_dev_tools.svg https://img.shields.io/pypi/pyversions/python_dev_tools.svg?logo=python&logoColor=fff https://github.com/vpoulailleau/python-dev-tools/actions/workflows/tests.yml/badge.svg Documentation Status Downloads Test Coverage Maintainability Maintainability Maintainability

Supported Python versions: the same as the classic Python interpreter (CPython)

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_dev_tools-2023.3.24.tar.gz (13.3 kB view hashes)

Uploaded Source

Built Distribution

python_dev_tools-2023.3.24-py3-none-any.whl (9.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page