-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.pylintrc
More file actions
249 lines (192 loc) · 6.24 KB
/
.pylintrc
File metadata and controls
249 lines (192 loc) · 6.24 KB
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# Enhanced PyLint Configuration for GraphMemory-IDE
# Optimized for parallel execution and enterprise-scale analysis
# Integrated with Phase 1 security findings and SonarQube analysis
[MASTER]
# Enable parallel execution with auto-detection (research finding: `-j 0`)
jobs=0
# Use multiple processes for faster execution
processes=4
# Pickle collected data for persistent analysis
persistent=yes
# Cache analysis results for incremental execution
cache-size=500
# Load additional plugins for enhanced analysis
load-plugins=pylint.extensions.check_elif,
pylint.extensions.bad_builtin,
pylint.extensions.docparams,
pylint.extensions.docstyle,
pylint.extensions.empty_comment,
pylint.extensions.overlapping_exceptions,
pylint.extensions.redefined_variable_type,
pylint.extensions.set_membership,
pylint.extensions.typing,
pylint.extensions.while_used
# Performance optimization for large codebases
extension-pkg-whitelist=pydantic,fastapi,kuzu,redis,asyncio
# Integration with existing security tools
security-source-dirs=server,dashboard,scripts,monitoring
[MESSAGES CONTROL]
# Enable all messages by default for comprehensive analysis
enable=all
# Disable specific checks that conflict with GraphMemory-IDE patterns
disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
# FastAPI specific patterns
too-few-public-methods,
# Async patterns
unused-argument,
# Graph database patterns
too-many-arguments,
too-many-locals,
# Analytics engine patterns
too-many-branches,
too-many-statements,
# Real-time collaboration patterns
too-many-instance-attributes,
# Security patterns from Phase 1
duplicate-code
[REPORTS]
# Output format optimized for CI/CD integration
output-format=json
# Generate reports for SonarQube integration
reports=yes
# Score threshold for quality gates
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Performance reporting
score=yes
[REFACTORING]
# Complexity thresholds for enterprise standards
max-complexity=15
# Nested block limits for maintainability
max-nested-blocks=6
[BASIC]
# Naming conventions aligned with Python standards
good-names=i,j,k,ex,Run,_,id,db,logger,app,api,ctx,req,res
# GraphMemory-IDE specific naming patterns
class-rgx=[A-Z_][a-zA-Z0-9]+$
function-rgx=[a-z_][a-z0-9_]{2,30}$
method-rgx=[a-z_][a-z0-9_]{2,30}$
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
attr-rgx=[a-z_][a-z0-9_]{2,30}$
argument-rgx=[a-z_][a-z0-9_]{2,30}$
variable-rgx=[a-z_][a-z0-9_]{2,30}$
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Documentation requirements
no-docstring-rgx=^_
docstring-min-length=10
[FORMAT]
# Line length aligned with Black formatter
max-line-length=88
# Indentation aligned with PEP 8
indent-string=' '
# String quote consistency
string-quote=single-avoid-escape
[LOGGING]
# Logging format validation for GraphMemory-IDE patterns
logging-format-style=new
# Logging modules used in the project
logging-modules=logging
[MISCELLANEOUS]
# Notes and TODO tracking
notes=FIXME,XXX,TODO,BUG,HACK
[SIMILARITIES]
# Duplicate code detection thresholds
min-similarity-lines=4
ignore-comments=yes
ignore-docstrings=yes
ignore-imports=no
[SPELLING]
# Spelling check configuration
# spelling-dict=en_US (removed due to installation dependency)
# GraphMemory-IDE specific terms
spelling-private-dict-file=.pylint-spelling-dict
[STRING]
# String format validation
check-str-concat-over-line-jumps=yes
[TYPECHECK]
# Type checking integration with MyPy
generated-members=numpy.*,torch.*,pytest.*
# GraphMemory-IDE specific modules
ignored-modules=kuzu,redis,fastapi
# Context managers for async patterns
contextual-decorators=contextlib.contextmanager,asynccontextmanager
[VARIABLES]
# Variable naming and usage patterns
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Allow unused variables in specific patterns
allowed-redefined-builtins=id,type,input,open
# Callbacks and async patterns
callbacks=cb_,_cb
[CLASSES]
# Class design patterns for GraphMemory-IDE
defining-attr-methods=__init__,__new__,setUp,__post_init__
# Valid metaclasses for GraphMemory patterns
valid-metaclasses=abc.ABCMeta,type
# Exclude certain attributes from being checked
exclude-protected=_asdict,_fields,_replace,_source,_make
[DESIGN]
# Design complexity thresholds
max-args=8
max-locals=20
max-returns=6
max-branches=15
max-statements=60
max-parents=7
max-attributes=12
max-public-methods=25
max-bool-expr=5
# GraphMemory-IDE specific patterns
min-public-methods=1
[EXCEPTIONS]
# Exception handling patterns
overgeneral-exceptions=Exception,BaseException
[IMPORTS]
# Import organization and validation
deprecated-modules=optparse,imp
# External dependencies
known-third-party=fastapi,pydantic,kuzu,redis,asyncio,pytest,numpy,pandas
# Internal modules
known-first-party=server,dashboard,scripts,monitoring
[PERFORMANCE]
# Performance optimization hints
enable-performance-hints=yes
# Async patterns validation
check-async-patterns=yes
# Memory usage optimization
check-memory-patterns=yes
[SECURITY]
# Security pattern validation (integrated with Phase 1)
enable-security-checks=yes
# Hardcoded password detection
check-hardcoded-passwords=yes
# SQL injection pattern detection
check-sql-injection=yes
# XSS prevention patterns
check-xss-patterns=yes
[GRAPHMEMORY]
# GraphMemory-IDE specific configuration section
# Graph database patterns
graph-operation-complexity-threshold=20
allow-complex-graph-queries=yes
# Real-time collaboration patterns
allow-websocket-async-patterns=yes
crdt-operation-complexity-threshold=15
# Analytics engine patterns
allow-complex-analytics-queries=yes
analytics-query-length-threshold=100
# Tenant isolation patterns
enforce-tenant-isolation-checks=yes
tenant-validation-required=yes
# Performance patterns
allow-caching-decorators=yes
require-async-patterns=yes
# Documentation patterns specific to GraphMemory-IDE
require-api-documentation=yes
require-graph-operation-docs=yes
require-security-pattern-docs=yes