Needed and up-to-date tools to develop in Python
Project description
Python Dev Tools
Needed and up-to-date tools to develop in Python (WORK IN PROGRESS)
Documentation
The full documentation can be read at https://python-dev-tools.readthedocs.io.
Installation
Install pipx if not yet installed: https://pipxproject.github.io/pipx/installation/
Then in a terminal, run:
$ pipx install python-dev-tools
Then add the new bin
directory to the path. On Linux for instance, run:
$ TOOLS_PATH=$(ls -l ~/.local/bin/whataformatter | sed -e "s/.*-> //" | sed -e "s#/bin.*#/bin#")
$ userpath prepend $TOOLS_PATH
Full documentation on installation: https://python-dev-tools.readthedocs.io/en/latest/installation.html
That’s it! Use the provided linter, formatter and precommit hook where applicable.
Upgrade
If not using pipx, follow again the installation procedure.
If using pipx (preferred installation method), run in a terminal:
$ pipx upgrade python-dev-tools
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
In VS Code, open settings (F1 key, then type “Open Settings (JSON)”, then enter)
Add in the opened JSON file:
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.flake8Path": "~/.local/bin/whatalinter",
"python.formatting.provider": "black",
"python.formatting.blackPath": "~/.local/bin/whataformatter",
"python.formatting.blackArgs": [],
Adapt the previous path according to your installation.
Features
Integrate features of commonly used tools. This package provides usual dependencies to develop Python software.
Simple linter
whatalinter a_python_file.py lints a_python_file.py
output is compatible with the one of pycodestyle (formerly named pep8) for easy integration in text editors and IDE
based on
pycodestyle: https://github.com/PyCQA/pycodestyle
pyflakes: https://github.com/PyCQA/pyflakes
mccabe: https://github.com/pycqa/mccabe
pydocstyle: https://github.com/PyCQA/pydocstyle
flake8 and plugins: https://gitlab.com/pycqa/flake8
flake8-2020: https://github.com/asottile/flake8-2020
flake8-bandit: https://github.com/tylerwince/flake8-bandit
flake8-broken-line: https://github.com/sobolevn/flake8-broken-line
flake8-bugbear: https://github.com/PyCQA/flake8-bugbear
flake8-builtins: https://github.com/gforcada/flake8-builtins
flake8-comprehensions: https://github.com/adamchainz/flake8-comprehensions
flake8-debugger: https://github.com/JBKahn/flake8-debugger
flake8-fixme: https://github.com/tommilligan/flake8-fixme
flake8-isort: https://github.com/gforcada/flake8-isort
flake8-logging-format: https://github.com/globality-corp/flake8-logging-format
flake8-mutable: https://github.com/ebeweber/flake8-mutable
flake8-variables-names: https://github.com/best-doctor/flake8-variables-names
pep8-naming: https://github.com/PyCQA/pep8-naming
Simple formatter
whataformatter a_python_file.py formats a_python_file.py
based on
autoflake: https://github.com/myint/autoflake
pyupgrade: https://github.com/asottile/pyupgrade
Simple precommit hook
TODO
License
BSD 3-Clause license, feel free to contribute: https://python-dev-tools.readthedocs.io/en/latest/contributing.html.
TODO
documentation
precommit
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
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
Built Distribution
Hashes for python_dev_tools-2019.10.28.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | da954c08344f4f56b134002fc2eca177445e5ab0cc155744adb8df924bc04005 |
|
MD5 | 05a76c135790a32cd6002a77a50ff563 |
|
BLAKE2b-256 | 324afba0cc36f43e4943b8710b02c33a2a9b14d7cbfa851daea45c250e6329bb |
Hashes for python_dev_tools-2019.10.28-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9867c63ab86e521a9159477c95c01bd17596e8af298f1aec0e3290570f55c38f |
|
MD5 | 4ff6e58b3392197d554080cb3e9f9b1e |
|
BLAKE2b-256 | 0d46b60631fbba968ab4cf19c318a9e3e551605f5459559fc2467e089e78d6e3 |