-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
176 lines (153 loc) · 4.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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
target-version = ['py313']
[tool.isort]
profile = 'black'
[tool.poetry]
name = "scinoephile"
version = "0.1.0"
description = ""
authors = ["Karl Debiec <karl.t.debiec@gmail.com>"]
license = "BSD 3-Clause"
readme = "README.md"
[tool.poetry.dependencies]
hanziconv = "^0.3.2"
llvmlite = "^0.44.0rc2"
matplotlib = "^3.10.0"
nltk = "^3.9.1"
numba = "^0.61.0rc2"
numpy = "^2.0.2"
openai = "^1.59.3"
opencv-python = "^4.10.0.84"
pandas = "^2.2.3"
pandas-stubs = "^2.2.3.241126"
pillow = "^11.0.0"
pycantonese = "^3.4.0"
pypinyin = "^0.53.0"
pysubs2 = "^1.8.0"
python = "^3.13"
rlpycairo = "^0.3.0"
snownlp = "^0.12.3"
setuptools = "^75.6.0"
svglib = "^1.5.1"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
isort = "^5.13.2"
prospector = "^1.13.3"
pyright = "^1.1.391"
pytest = "^8.3.4"
pytest-cov = "^6.0.0"
pytest-xdist = "^3.6.1"
[tool.pydocstyle]
convention = 'google'
[tool.pylint.main]
fail-under = 10.0
ignore = ['CVS']
jobs = 1
limit-inference-results = 100
persistent = ['yes']
py-version = "3.13"
suggestion-mode = ['yes']
unsafe-load-any-extension = ['no']
[tool.pylint.messages_control]
disable = ['raw-checker-failed', 'bad-inline-option', 'locally-disabled', 'file-ignored',
'suppressed-message', 'useless-suppression', 'deprecated-pragma',
'use-symbolic-message-instead']
enable = ['c-extension-no-member']
[tool.pylint.reports]
evaluation = ['10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)']
output-format = ['text']
reports = ['no']
score = ['yes']
[tool.pylint.refactoring]
max-nested-blocks = 5
never-returning-functions = ['sys.exit', 'argparse.parse_error']
[tool.pylint.basic]
argument-naming-style = ['snake_case']
attr-naming-style = ['snake_case']
bad-names = ['foo', 'bar', 'baz', 'toto', 'tutu', 'tata']
class-attribute-naming-style = ['any']
class-const-naming-style = ['UPPER_CASE']
class-naming-style = ['PascalCase']
const-naming-style = ['UPPER_CASE']
docstring-min-length = -1
function-naming-style = ['snake_case']
good-names = ['i', 'j', 'k', 'ex', 'Run', '_']
include-naming-hint = ['no']
inlinevar-naming-style = ['any']
method-naming-style = ['snake_case']
module-naming-style = ['snake_case']
no-docstring-rgx = ['^_']
property-classes = ['abc.abstractproperty']
variable-naming-style = ['snake_case']
[tool.pylint.format]
ignore-long-lines = ['^.*http.*$']
indent-after-paren = 4
indent-string = ' '
max-line-length = 88
max-module-lines = 1000
single-line-class-stmt = ['no']
single-line-if-stmt = ['no']
[tool.pylint.logging]
logging-format-style = ['old']
logging-modules = ['logging']
[tool.pylint.miscellaneous]
notes = ['FIXME', 'XXX', 'TODO']
[tool.pylint.similarities]
ignore-comments = ['yes']
ignore-docstrings = ['yes']
ignore-imports = ['no']
ignore-signatures = ['no']
min-similarity-lines = 4
[tool.pylint.spelling]
max-spelling-suggestions = 4
spelling-ignore-comment-directives = ['fmt: on', 'fmt: off', 'noqa:', 'noqa', 'nosec',
'isort:skip', 'mypy:']
spelling-store-unknown-words = ['no']
[tool.pylint.string]
check-quote-consistency = ['no']
check-str-concat-over-line-jumps = ['no']
[tool.pylint.typecheck]
contextmanager-decorators = ['contextlib.contextmanager']
ignore-mixin-members = ['yes']
ignore-none = ['yes']
ignore-on-opaque-inference = ['yes']
ignored-classes = ['optparse.Values', 'thread._local', '_thread._local']
missing-member-hint = ['yes']
missing-member-hint-distance = 1
missing-member-max-choices = 1
mixin-class-rgx = ['.*[Mm]ixin']
[tool.pylint.variables]
allow-global-unused-variables = ['yes']
callbacks = ['cb_', '_cb']
dummy-variables-rgx = ['_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_']
ignored-argument-names = ['_.*|^ignored_|^unused_|kwargs']
init-import = ['no']
redefining-builtins-modules = ['six.moves', 'past.builtins', 'future.builtins', 'builtins',
'io']
[tool.pylint.classes]
check-protected-access-in-special-methods = ['no']
defining-attr-methods = ['__init__', '__new__', 'setUp', '__post_init__']
exclude-protected = ['_asdict', '_fields', '_replace', '_source', '_make']
valid-classmethod-first-arg = ['cls']
valid-metaclass-classmethod-first-arg = ['cls']
[tool.pylint.design]
max-args = 5
max-attributes = 7
max-bool-expr = 5
max-branches = 12
max-locals = 15
max-parents = 7
max-public-methods = 20
max-returns = 6
max-statements = 50
min-public-methods = 2
[tool.pylint.imports]
allow-wildcard-with-all = ['no']
analyse-fallback-blocks = ['no']
known-third-party = ['enchant']
[tool.pylint.exceptions]
overgeneral-exceptions = ['BaseException', 'Exception']