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>
59 lines
1.8 KiB
TOML
59 lines
1.8 KiB
TOML
# 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
|
||
]
|