-
Notifications
You must be signed in to change notification settings - Fork 62
/
pyproject.toml
126 lines (114 loc) · 4.46 KB
/
pyproject.toml
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
[project]
name = "user_agent"
version = "0.1.10"
description = "Library to build content for User-Agent HTTP header"
readme = "README.md"
requires-python = ">=3.8"
license = {"file" = "LICENSE"}
keywords = ["user agent", "browser", "web crawling", "web scraping", "web crawler", "web scraper"]
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",
"Programming Language :: Python :: 3.12",
"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 = []
[project.optional-dependencies]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project.urls]
homepage = "http://github.com/lorien/user_agent"
[project.scripts]
ua = "user_agent.cli:script_ua"
[tool.setuptools]
packages=["user_agent", "user_agent.data"]
[tool.setuptools.package-data]
"*" = ["py.typed"]
"user_agent.data" = ["*.json"]
[tool.isort]
profile = "black"
line_length = 88
# skip_gitignore = true # throws errors in stderr when ".git" dir does not exist
[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.comparison_placement",
"pylint.extensions.consider_ternary_expression",
"pylint.extensions.docstyle",
"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]
lint.select = ["ALL"]
lint.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
]
lint.pylint.max-args=9
target-version = "py38"
extend-exclude = ["var"]