151 lines
6.6 KiB
Plaintext
151 lines
6.6 KiB
Plaintext
# DJI Telemetry Viewer - Python Dependencies
|
|
# This file specifies all Python packages required to run the DJI Telemetry Overlay Viewer
|
|
# Install all dependencies using: pip install -r requirements.txt
|
|
#
|
|
# It's recommended to use a virtual environment:
|
|
# python -m venv dji_viewer_env
|
|
# source dji_viewer_env/bin/activate # On Windows: dji_viewer_env\Scripts\activate
|
|
# pip install --upgrade pip
|
|
# pip install -r requirements.txt
|
|
|
|
# =============================================================================
|
|
# CORE GUI FRAMEWORK
|
|
# =============================================================================
|
|
|
|
# PyQt5 - Main GUI framework for cross-platform desktop application
|
|
# Provides widgets, layouts, event handling, and window management
|
|
# Version 5.15.0+ required for stability and modern features
|
|
PyQt5>=5.15.0,<5.16.0
|
|
|
|
# PyQtWebEngine - Web engine integration for PyQt5 applications
|
|
# Required for displaying interactive maps using HTML/JavaScript (Folium/Leaflet)
|
|
# Provides QWebEngineView widget for embedding web content
|
|
PyQtWebEngine>=5.15.0,<5.16.0
|
|
|
|
# =============================================================================
|
|
# MEDIA PLAYBACK
|
|
# =============================================================================
|
|
|
|
# python-vlc - Python bindings for VLC media player
|
|
# Handles video playback, seeking, volume control, and media information
|
|
# Requires VLC media player to be installed on the system
|
|
# Version 3.0.12118+ includes important bug fixes for subtitle handling
|
|
python-vlc>=3.0.12118
|
|
|
|
# =============================================================================
|
|
# MAPPING AND VISUALIZATION
|
|
# =============================================================================
|
|
|
|
# folium - Python library for creating interactive maps
|
|
# Generates HTML/JavaScript maps using Leaflet.js
|
|
# Used for displaying flight paths and real-time drone position
|
|
# Version 0.12.0+ includes performance improvements and new map styles
|
|
folium>=0.12.0,<0.15.0
|
|
|
|
# =============================================================================
|
|
# DATA PROCESSING
|
|
# =============================================================================
|
|
|
|
# srt - Library for parsing and manipulating SubRip subtitle files
|
|
# DJI drones embed telemetry data in SRT format within MP4 files
|
|
# This library extracts and parses GPS coordinates, altitude, speed, etc.
|
|
# Version 3.5.0+ provides better error handling and Unicode support
|
|
srt>=3.5.0,<4.0.0
|
|
|
|
# =============================================================================
|
|
# OPTIONAL DEPENDENCIES (Recommended)
|
|
# =============================================================================
|
|
|
|
# requests - HTTP library for downloading map tiles and updates
|
|
# Used by folium for fetching map data from various tile servers
|
|
# Version 2.25.0+ includes security improvements
|
|
requests>=2.25.0,<3.0.0
|
|
|
|
# Pillow - Python Imaging Library for image processing
|
|
# Used for handling video thumbnails and image exports
|
|
# Version 8.0.0+ includes security fixes and performance improvements
|
|
Pillow>=8.0.0,<11.0.0
|
|
|
|
# numpy - Numerical computing library
|
|
# Used for efficient telemetry data processing and calculations
|
|
# Required by folium for coordinate transformations
|
|
numpy>=1.19.0,<2.0.0
|
|
|
|
# =============================================================================
|
|
# DEVELOPMENT DEPENDENCIES (Optional - for contributors)
|
|
# =============================================================================
|
|
# Uncomment these lines if you're developing or contributing to the project
|
|
# Install with: pip install -r requirements.txt -r requirements-dev.txt
|
|
|
|
# pytest>=6.0.0 # Testing framework
|
|
# pytest-qt>=4.0.0 # PyQt-specific testing utilities
|
|
# black>=21.0.0 # Code formatter
|
|
# flake8>=3.8.0 # Linting tool
|
|
# mypy>=0.800 # Type checking
|
|
# pre-commit>=2.10.0 # Git hooks for code quality
|
|
|
|
# =============================================================================
|
|
# SYSTEM-SPECIFIC NOTES
|
|
# =============================================================================
|
|
|
|
# WINDOWS USERS:
|
|
# - Install Microsoft Visual C++ Redistributable if you encounter DLL errors
|
|
# - Ensure FFmpeg is in your system PATH
|
|
# - Some antivirus software may flag python-vlc - add exceptions if needed
|
|
|
|
# MACOS USERS:
|
|
# - Install Xcode command line tools: xcode-select --install
|
|
# - Use Homebrew for FFmpeg: brew install ffmpeg
|
|
# - You may need to install Rosetta 2 on Apple Silicon Macs
|
|
|
|
# LINUX USERS:
|
|
# - Install system packages: sudo apt install python3-dev python3-pip
|
|
# - Install FFmpeg: sudo apt install ffmpeg
|
|
# - For audio support: sudo apt install pulseaudio-dev
|
|
# - Qt dependencies: sudo apt install qt5-default
|
|
|
|
# =============================================================================
|
|
# TROUBLESHOOTING COMMON INSTALLATION ISSUES
|
|
# =============================================================================
|
|
|
|
# Issue: "Failed building wheel for PyQt5"
|
|
# Solution: Install pre-compiled binaries
|
|
# pip install --only-binary=all PyQt5 PyQtWebEngine
|
|
|
|
# Issue: "Microsoft Visual C++ 14.0 is required" (Windows)
|
|
# Solution: Install Microsoft C++ Build Tools
|
|
# Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/
|
|
|
|
# Issue: "vlc.dll not found" (Windows)
|
|
# Solution: Install VLC media player system-wide
|
|
# Download from: https://www.videolan.org/vlc/
|
|
|
|
# Issue: "No module named '_ctypes'" (Linux)
|
|
# Solution: Install libffi development package
|
|
# sudo apt install libffi-dev
|
|
|
|
# Issue: Segmentation fault on startup (Linux)
|
|
# Solution: Install additional Qt libraries
|
|
# sudo apt install python3-pyqt5.qtwebengine
|
|
|
|
# =============================================================================
|
|
# VERSION COMPATIBILITY MATRIX
|
|
# =============================================================================
|
|
# Python 3.7: All packages supported
|
|
# Python 3.8: All packages supported (recommended)
|
|
# Python 3.9: All packages supported (recommended)
|
|
# Python 3.10: All packages supported
|
|
# Python 3.11: Most packages supported (some may need --pre flag)
|
|
# Python 3.12: Limited support (check individual packages)
|
|
|
|
# =============================================================================
|
|
# INSTALLATION VERIFICATION
|
|
# =============================================================================
|
|
# After installation, verify all dependencies with:
|
|
# python -c "import PyQt5, vlc, folium, srt, requests, PIL, numpy; print('✓ All dependencies installed successfully!')"
|
|
|
|
# Test GUI availability:
|
|
# python -c "from PyQt5.QtWidgets import QApplication; app = QApplication([]); print('✓ GUI framework ready')"
|
|
|
|
# Test VLC integration:
|
|
# python -c "import vlc; instance = vlc.Instance(); print('✓ VLC integration working')" |