Import S-CANVAS source + iter=1~7 lint cleanup
S-CANVAS (Saman Corp.) — DXF + DEM + AI 기반 3D 조감도 생성 엔진. ~24k LOC Python (scanvas_maker.py 7072 LOC GUI + 구조물 파서/빌더 다수). 이 커밋은 7-iter cleanup이 적용된 상태로 import: - F821 8 + B023 6: 비동기 lambda + except/loop 변수 캡처 NameError (Py3.13에서 reproduce 확인된 진짜 버그) - RUF012 4 + RUF013 1: ClassVar / implicit Optional 명시화 - F811/B905/B904/F401/F841/W293/F541/UP/SIM/RUF/PLR 700+ cleanup/modernization 신규 파일: - ruff.toml: target=py313, Korean unicode/저자 스타일/도메인 복잡도 무력화 - requirements-py313.txt: pyproj>=3.7, scipy>=1.14, numpy>=2.0.2 (Py3.13 wheel) - .gitignore: gcp-key.json, 캐시, 백업, 생성 이미지 제외 검증: ruff 0 errors, py_compile 0 errors, import 33/33 OK on Py3.13.13. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
58
ruff.toml
Normal file
58
ruff.toml
Normal file
@@ -0,0 +1,58 @@
|
||||
# S-CANVAS ruff config — Python 3.13
|
||||
# 의도적 코드베이스 컨벤션 보호 + Korean text 오탐 무력화.
|
||||
|
||||
target-version = "py313"
|
||||
line-length = 120
|
||||
|
||||
exclude = [
|
||||
"workspace", # agents-workspace clone (개발 메타툴)
|
||||
"jarvis", # jarvis 메모/세션 저장소
|
||||
"_unused", # 보존된 레거시 코드 (분석 대상 아님)
|
||||
"venv313",
|
||||
"venv",
|
||||
".git",
|
||||
"__pycache__",
|
||||
"*.bak",
|
||||
"*.bak_*",
|
||||
]
|
||||
|
||||
[lint]
|
||||
# 기본 select(E, F, W) 외에 modernization/bug 카테고리 추가.
|
||||
extend-select = [
|
||||
"UP", # pyupgrade
|
||||
"B", # bugbear
|
||||
"SIM", # simplify
|
||||
"RUF", # ruff-specific
|
||||
"PERF", # performance
|
||||
"PLE", # pylint errors
|
||||
"PLW", # pylint warnings
|
||||
]
|
||||
|
||||
ignore = [
|
||||
# 라인 길이는 저자 재량 (mixed Korean/English 코드 + 긴 f-string 다수).
|
||||
"E501",
|
||||
|
||||
# 저자의 one-line 스타일 — 짧은 if/for/setattr 모음에서 의도적으로 사용.
|
||||
"E701", # multi-statement-on-one-line-colon
|
||||
"E702", # multi-statement-on-one-line-semicolon
|
||||
|
||||
# 변수명 l, I, O 등 — 수학/배열 컨벤션에서 자연스러움.
|
||||
"E741",
|
||||
|
||||
# regex 문자열의 \\d 등 — 일반적인 raw-ish 패턴.
|
||||
"W605",
|
||||
|
||||
# Korean 코드 주석/문자열은 × − ° 등 unicode 기호를 자연스럽게 사용 — 오탐.
|
||||
"RUF001",
|
||||
"RUF002",
|
||||
"RUF003",
|
||||
|
||||
# `for _ in range(N):` placeholder 패턴은 intentional.
|
||||
"B007",
|
||||
|
||||
# 함수 길이/branches 경고는 informational (S-CANVAS는 도메인 로직이 본래 큼).
|
||||
"PLR0911", "PLR0912", "PLR0913", "PLR0915", "PLR0916", "PLR0917",
|
||||
"PLR0904", # too-many-public-methods
|
||||
"PLR2004", # magic-value-comparison (수치 도메인 코드에서 빈번)
|
||||
"PLR1702", # too-many-nested-blocks
|
||||
]
|
||||
Reference in New Issue
Block a user