This repository has been archived by the owner on Feb 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
132 lines (111 loc) · 3.56 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
127
128
129
130
131
132
[tool.poetry]
name = "2048"
version = "1.0"
description = ""
authors = ["Ivan Kovach <eeiprex@gmail.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11"
pygame = "^2.5.2"
[tool.poetry.group.dev.dependencies]
ruff = "^0.2.1"
mypy = "^1.8.0"
pyright = "^1.1.350"
black = "^24.1.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[project]
name = "2048"
description = "Game 2048 written in Python, pygame module. First pet-project. cringe... "
version = "1.0"
readme = "README.md"
requires-python = ">=3.11"
[project.author]
name = "Ivan Kovach"
email = "eeiprex@gmail.com"
[project.license]
file = "LICENSE"
[project.urls]
Repository = "https://github.com/Qu1nel/2048"
[tool.ruff]
line-length = 120
target-version = "py311"
exclude = [
".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache",
".svn", ".tox", ".venv", ".env", "__pypackages__", "__pycache__", "_build", "buck-out", "build", "dist", "node_modules",
"venv", "env",
]
[tool.ruff.lint]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
select = ["ALL"]
ignore = [
# D (pydocstyle)
"D100", # Docstring in public module
"D105", # Docstring for magic method
"D203", # Docstring one blank line before class
"D213", # Docstring multi-line-summary-second-line
# UP (pyupgrade)
"UP007", # Use X | Y insted Optional, Union
# AHH (flake8-annotations)
"ANN002", # Docstring missing-type-args
"ANN003", # Docstring missing-type-kwargs
"ANN101", # Docstring missing-type-self
"ANN102", # Docstring missing-type-cls
"ANN401", # Docstring Any type
# S (flake8-bandit)
"S101", # Detected assert statement
"S311", # Detected pseudo-random generators
# FBT (flake8-boolean-trap)
"FBT001", # Detected boolean positional arg in functions
"FBT002", # Detected boolean default value in functions
"FBT003",
# B (flake8-bugbear)
"B006", # Detected mutable arg default
"B009", # Detected getattr(obj, ...)
"B010", # Detected setattr(obj, ..., ...)
# INP (flake8-no-pep420)
"INP001", # Check missing __init__.py in packages
# PIE (flake8-pie)
"PIE796", # Check for enums that contain duplicate values
# T (flake8-print)
"T201", # Check for print statement
"T203", # Check for pprint statement
# PYI (flake8-pyi)
"PYI001", # Check that type TypeVar, ... def in stubs are prefixed with _
"PYI024", # Check use collections.nametuple
# RET (flake8-return)
"RET504", # Check vars which that immediately precede a return eq assign var
# PTH (flake8-use-pathlib)
"PTH123", # Check open() instead Path.open()
# TD (flake8-todos)
"TD002", # Check TODO comments includes an author
"TD002", # Check TODO comments includes a links
# PGH (pygrep-hooks)
"PGH003", # Check 'type: ignore' without annotation warn are intended to be suppressed
"PGH004", # Check 'noqa' without annotation diagnostics are intended to be suppressed
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402"]
[tool.ruff.lint.mccabe]
max-complexity = 25
[tool.ruff.lint.pylint]
max-branches = 20
max-statements = 60
max-returns = 12
[tool.mypy]
python_version = "3.11"
check_untyped_defs = true
disallow_untyped_defs = true
no_implicit_optional = true
show_error_codes = true
strict_equality = true
warn_return_any = true
warn_unused_configs = true
warn_redundant_casts = true
[tool.black]
line-length = 120
target-version = ["py311"]
include = '\.pyi?$'