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>
49 lines
1.5 KiB
Plaintext
49 lines
1.5 KiB
Plaintext
# S-CANVAS — runtime dependencies
|
|
# Pinned to versions verified working on the build machine (2026-04).
|
|
#
|
|
# Install:
|
|
# pip install -r requirements.txt
|
|
#
|
|
# Python: 3.9+ recommended (tested on 3.9.13). 3.11+ ideal for performance.
|
|
# Platform: Windows 10/11. Linux/macOS likely works for Python deps but the GUI
|
|
# (CustomTkinter, tkintermapview) and PyInstaller build are Windows-tuned.
|
|
|
|
# --- GUI ---
|
|
customtkinter==5.2.2
|
|
tkintermapview==1.29
|
|
Pillow==11.3.0
|
|
|
|
# --- 3D / mesh ---
|
|
pyvista==0.46.5
|
|
# vtk is pulled in automatically by pyvista (~150MB)
|
|
|
|
# --- Geospatial / DXF ---
|
|
ezdxf==1.4.2
|
|
pyproj==3.6.1
|
|
rasterio==1.4.3 # optional — for cache/dem/local.tif (NGII GeoTIFF). 미설치 시 AWS Terrarium 만 사용.
|
|
|
|
# --- Numerical ---
|
|
numpy==2.0.2
|
|
scipy==1.13.1
|
|
matplotlib==3.9.4 # signed-distance polygon paths
|
|
|
|
# --- Image / video ---
|
|
opencv-python==4.13.0.92 # splash MP4 + harness QualityValidator
|
|
|
|
# --- Network ---
|
|
requests==2.32.5
|
|
|
|
# --- AI rendering (Gemini) ---
|
|
google-genai==1.47.0
|
|
# google-auth is pulled in by google-genai; pinned for reproducibility
|
|
google-auth==2.49.2
|
|
|
|
# --- Persistence / logging ---
|
|
SQLAlchemy==2.0.49
|
|
structlog==25.5.0
|
|
PyYAML==6.0.3
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# (선택) 배포용 .exe 빌드를 새 PC 에서 만들고 싶을 때만:
|
|
# pip install pyinstaller==6.18.0
|