- PyView는 Python 프로젝트의 의존성을 실시간으로 시각화·탐색할 수 있는 웹 기반 도구입니다.
- 5단계 분석(패키지→모듈→클래스→메서드→필드) 을 통해 코드 구조를 세밀하게 파악할 수 있습니다.
- 검색·필터·하이라이트 기능으로 의존 경로를 직관적으로 탐색합니다.
- 복잡도·유지보수성·결합도 등 주요 품질 지표를 함께 제공합니다.
- 스트리밍·캐시 기반 분석으로 대규모 코드베이스도 빠르고 안정적으로 처리합니다.
PyView는 기존 오픈소스 도구인 pydeps 를 기반으로 개발되었습니다.
| 프로젝트 분석 설정 | 5계층(패키지 → 모듈 → 클래스 → 메서드 → 필드)시각화 |
|---|---|
![]() | ![]() |
| 노드 검색 및 하이라이트 | Interactive 인터페이스 |
![]() | ![]() |
| 순환 참조 엣지 하이라이트 | 노드 탐색기 내 순환 참조 표시 |
![]() | ![]() |
| 프로젝트 코드 품질 분석 대시보드 | 순환 참조 상세정보 |
![]() | ![]() |
| 구분 | 기술 스택 | 버전 |
|---|---|---|
| Backend Language | Python | 3.8+ |
| Web Framework | FastAPI | ≥0.104.1 |
| ASGI Server | Uvicorn | ≥0.24.0 |
| Data Validation | Pydantic | ≥2.4.2 |
| Frontend Language | TypeScript | 5.9.2 |
| UI Framework | React | 18.3.1 |
| Routing | React Router | 6.30.1 |
| Build Tool | Vite | 5.4.20 |
| UI Components | Ant Design | 5.27.4 |
| Graph Visualization | Cytoscape.js | 3.33.1 |
| Testing | pytest | ≥4.6 |
- Python: 3.8 이상
- Node.js: 18.0 이상
- 운영체제: Windows, macOS, Linux
- 메모리: 최소 4GB RAM (대형 프로젝트 분석 시 8GB 권장)
# 저장소 클론
git clone https://github.com/TidyDeps/pyview.git
cd pyview
# 실행 (의존성 자동 설치)
python3 start.py실행 시 필요한 패키지가 없다면 콘솔에 에러 메시지가 표시됩니다. 표시되는 패키지를 설치한 뒤 다시 실행해보세요.
# 필요시 백엔드 의존성 설치
pip install -r server/requirements.txt서버가 시작되면 브라우저에서 아래 주소로 접속:
http://localhost:3000
수동 실행 (선택사항) 🔄
# 백엔드만 실행cd server && python3 app.py # 프론트엔드만 실행 (npm install은 첫 실행시에만)cd frontend && npm install && npm run dev
# Node.js 설치 확인
node --version
npm --version
# 인코딩 설정 (한글/이모지 오류 방지)$env:PYTHONIOENCODING="utf-8"# FastAPI 의존성 설치
pip install fastapi uvicorn📦 PyView Project
├── 📂 pydeps/ # 기존 pydeps (Legacy 분석 도구)
│
├── 📂 pyview/ # 새로운 분석 엔진 (Core)
│ ├── 📜 analyzer_engine.py # 분석 오케스트레이터
│ ├── 📜 ast_analyzer.py # AST 기반 코드 분석
│ ├── 📜 models.py # 5-Layer 데이터 모델
│ ├── 📜 legacy_bridge.py # pydeps 연동 브리지
│ └── 📜 performance_optimizer.py # 대규모 성능 최적화
│
├── 📂 frontend/ # 프론트엔드 (React + TS)
│ ├── 📜 App.tsx # 메인 앱
│ ├── 📂 components/ # UI 컴포넌트
│ └── ...
│
├── 📂 server/ # 백엔드 (FastAPI)
│ ├── 📜 app.py # 메인 서버
│ └── ...
│
├── 📜 setup.py # Python 패키지 설정
├── 📜 start.py # 통합 실행 스크립트
└── 📜 README.md # 프로젝트 설명서
이 프로젝트는 BSD 2-Clause License 하에 배포됩니다.
자세한 라이선스 정보, 의존성 라이브러리 라이선스, 원본 프로젝트 Attribution은 LICENSES.md 파일을 참조하세요.
🏆 2025 오픈소스 개발자대회 출품작
PyView - Interactive Python Dependency Visualization









