Alexander Hess
c7989e0040
- use flake8 as the main and pylint as the auxiliary linter - install flake8 with the following plug-ins: + flake8-annotations => enforce type annotations for functions/classes + flake8-black => ensure black would not make any changes + flake8-expression-complexity + wemake-python-styleguide, which packages the following: * darglint * flake8-bandit * flake8-broken-line * flake8-bugbear * flake8-commas * flake8-comprehensions * flake8-debugger * flake8-docstrings * flake8-eradicate * flake8-isort * flake8-rst-docstrings * flake8-string-format * flake8-quotes * pep8-naming - configure flake8 & friends in a rather explicit and strict way - isort needed to be downgraded to ^4.3.21 due to a conflict with pylint and wemake-python-styleguide: + provide TODO's to remove the parts that "fix" isort - use mypy for static type checking - add a nox session "lint" that runs flake8, mypy, and pylint - lint all source files
46 lines
1.1 KiB
TOML
46 lines
1.1 KiB
TOML
[build-system]
|
|
build-backend = "poetry.masonry.api"
|
|
requires = ["poetry>=0.12"]
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
skip-string-normalization = true # wemake-python-styleguide enforces single quotes
|
|
target-version = ["py38"]
|
|
|
|
[tool.poetry]
|
|
name = "urban-meal-delivery"
|
|
version = "0.1.0.dev0"
|
|
|
|
authors = ["Alexander Hess <alexander@webartifex.biz>"]
|
|
description = "Optimizing an urban meal delivery platform"
|
|
keywords = [
|
|
"data-science",
|
|
"meal-delivery",
|
|
"vehicle-routing-problem",
|
|
]
|
|
license = "MIT"
|
|
|
|
readme = "README.md"
|
|
homepage = "https://github.com/webartifex/urban-meal-delivery"
|
|
repository = "https://github.com/webartifex/urban-meal-delivery"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
# Task Runners
|
|
nox = "^2020.5.24"
|
|
|
|
# Code Formatters
|
|
autoflake = "^1.3.1"
|
|
black = "^19.10b0"
|
|
isort = "^4.3.21" # TODO (isort): not ^5.2.2 due to pylint and wemake-python-styleguide
|
|
|
|
# (Static) Code Analyzers
|
|
flake8 = "^3.8.3"
|
|
flake8-annotations = "^2.3.0"
|
|
flake8-black = "^0.2.1"
|
|
flake8-expression-complexity = "^0.0.8"
|
|
mypy = "^0.782"
|
|
pylint = "^2.5.3"
|
|
wemake-python-styleguide = "^0.14.1" # flake8 plug-in
|