1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
[project]
name = "test_server"
version = "0.0.43"
description = "Server for testing HTTP clients"
readme = "README.md"
requires-python = ">=3.8"
license = {"file" = "LICENSE"}
keywords = ["test", "testing", "server", "http server"]
authors = [
{name = "Gregory Petukhov", email = "lorien@lorien.name"}
]
# https://pypi.org/pypi?%3Aaction=list_classifiers
classifiers = [
"Typing :: Typed",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: MIT License",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Internet :: WWW/HTTP",
]
dependencies = ["multipart"]
[project.optional-dependencies]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project.urls]
homepage = "http://github.com/lorien/test_server"
[tool.setuptools]
packages=["test_server"]
[tool.setuptools.package-data]
"*" = ["py.typed"]
[[tool.mypy.overrides]]
module = "multipart"
ignore_missing_imports = true
[tool.isort]
profile = "black"
line_length = 88
# skip_gitignore = true # throws errors in stderr when ".git" dir does not exist
[tool.bandit]
# B101 assert_used
# B410 Using HtmlElement to parse untrusted XML data
skips = ["B101", "B410"]
[tool.pylint.main]
jobs=4
extension-pkg-whitelist="lxml"
disable="missing-docstring,broad-except,too-few-public-methods,consider-using-f-string,fixme"
variable-rgx="[a-z_][a-z0-9_]{1,30}$"
attr-rgx="[a-z_][a-z0-9_]{1,30}$"
argument-rgx="[a-z_][a-z0-9_]{1,30}$"
max-line-length=88
max-args=9
load-plugins=[
"pylint.extensions.check_elif",
"pylint.extensions.comparetozero",
"pylint.extensions.comparison_placement",
"pylint.extensions.consider_ternary_expression",
"pylint.extensions.docstyle",
"pylint.extensions.emptystring",
"pylint.extensions.for_any_all",
"pylint.extensions.overlapping_exceptions",
"pylint.extensions.redefined_loop_name",
"pylint.extensions.redefined_variable_type",
"pylint.extensions.set_membership",
"pylint.extensions.typing",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.ruff]
select = ["ALL"]
ignore = [
"A003", # Class attribute `type` is shadowing a python builtin
"ANN101", # Missing type annotation for `self` in method
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"BLE001", # Do not catch blind exception: `Exception`
"COM812", # Trailing comma missing
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D102", # Missing docstring in public method1
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
"D105", # Missing docstring in magic method,
"D107", # Missing docstring in `__init__`
"D203", # 1 blank line required before class docstring
"D213", # Multi-line docstring summary should start at the second line
"EM101", # Check for raw usage of a string literal in Exception raising
"EM102", # Check for raw usage of an f-string literal in Exception raising
"EM103", # Check for raw usage of .format on a string literal in Exception raising
"F401", # Imported but unused
"FBT", # Boolean arg/value in function definition
"PTH", # A plugin finding use of functions that can be replaced by pathlib module
"S101", # Use of `assert` detected
"T201", # print found
"T203", # pprint found
"TCH", # Move import into a type-checking block
"TRY003", # Avoid specifying long messages outside the exception class
"UP032", # Use f-string instead of format call
"ERA001", # Found commented-out code
"RUF001", # String contains ambiguous unicode character
"ANN102", # Missing type annotation for `cls` in classmethod
"TD002", # Missing author in TODO
"TD003", # Missing issue link on the line following this TODO
"FIX002", # Line contains TODO
"RUF003", # Comment contains ambiguous
"RUF012", # Mutable class attributes should be annotated
"TRY400", # Use `logging.exception` instead of `logging.error`
"PERF401", # Use a list comprehension to create a transformed list
"RUF100", # [*] Unused `noqa` directive
]
pylint.max-args=9
target-version = "py38"
extend-exclude = ["var"]
|