Skip to content

Repository files navigation

PyView - Interactive Python Dependency Visualization

LicensePythonReactFastAPI

image

🏆 2025 오픈소스 개발자대회 출품작

프로젝트 기간 : 2025.06.30 ~

🎥 시연 영상


✨ PyView 프로젝트 소개

Interactive Python Dependency Visualization

  • PyView는 Python 프로젝트의 의존성을 실시간으로 시각화·탐색할 수 있는 웹 기반 도구입니다.
  • 5단계 분석(패키지→모듈→클래스→메서드→필드) 을 통해 코드 구조를 세밀하게 파악할 수 있습니다.
  • 검색·필터·하이라이트 기능으로 의존 경로를 직관적으로 탐색합니다.
  • 복잡도·유지보수성·결합도 등 주요 품질 지표를 함께 제공합니다.
  • 스트리밍·캐시 기반 분석으로 대규모 코드베이스도 빠르고 안정적으로 처리합니다.

PyView는 기존 오픈소스 도구인 pydeps 를 기반으로 개발되었습니다.


🏗️ 시스템 아키텍처

image

🖥️ 주요 기능 소개

프로젝트 분석 설정5계층(패키지 → 모듈 → 클래스 → 메서드 → 필드)시각화
프로젝트 분석 설정5계층 그래프 시각화
노드 검색 및 하이라이트Interactive 인터페이스
노드 검색 및 하이라이트Interactive 인터페이스
순환 참조 엣지 하이라이트노드 탐색기 내 순환 참조 표시
순환참조노드탐색기_순환참조
프로젝트 코드 품질 분석 대시보드순환 참조 상세정보
qualityMetric순환참조 안내


💻 기술 스택

구분기술 스택버전
Backend LanguagePython3.8+
Web FrameworkFastAPI≥0.104.1
ASGI ServerUvicorn≥0.24.0
Data ValidationPydantic≥2.4.2
Frontend LanguageTypeScript5.9.2
UI FrameworkReact18.3.1
RoutingReact Router6.30.1
Build ToolVite5.4.20
UI ComponentsAnt Design5.27.4
Graph VisualizationCytoscape.js3.33.1
Testingpytest≥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


🪟 Windows 사용자 주의사항

필수 설치 및 설정

# 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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages