Files
s-canvas/ruff.toml
HYUNJUNGLEE b9342f6726 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>
2026-05-08 10:29:08 +09:00

59 lines
1.8 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
]