# ============================================================================ # Pixel to Voxel Projector - Python Dependencies # Version: 1.0.0 # ============================================================================ # ============================================================================ # Core Scientific Computing # ============================================================================ numpy>=1.21.0,<2.0.0 scipy>=1.7.0,<2.0.0 # ============================================================================ # Computer Vision & Image Processing # ============================================================================ opencv-python>=4.5.5,<5.0.0 opencv-contrib-python>=4.5.5,<5.0.0 Pillow>=9.0.0,<11.0.0 # ============================================================================ # Video Processing & Codecs # ============================================================================ ffmpeg-python>=0.2.0 imageio>=2.15.0 imageio-ffmpeg>=0.4.5 # ============================================================================ # C++ Bindings # ============================================================================ pybind11>=2.9.0,<3.0.0 # ============================================================================ # GPU Acceleration (CUDA) # ============================================================================ # Uncomment based on your CUDA version: # For CUDA 11.x: # cupy-cuda11x>=10.0.0,<13.0.0 # For CUDA 12.x: # cupy-cuda12x>=12.0.0,<13.0.0 # PyCUDA for GPU detection and management pycuda>=2021.1 # ============================================================================ # Protocol Buffers & gRPC # ============================================================================ protobuf>=3.19.0,<5.0.0 grpcio>=1.43.0,<2.0.0 grpcio-tools>=1.43.0,<2.0.0 # ============================================================================ # Networking & Communication # ============================================================================ pyzmq>=22.3.0,<26.0.0 msgpack>=1.0.3,<2.0.0 websockets>=10.1,<12.0 # ============================================================================ # Compression Libraries # ============================================================================ lz4>=4.0.0,<5.0.0 zstandard>=0.17.0,<1.0.0 python-snappy>=0.6.1,<1.0.0 # ============================================================================ # Camera Integration # ============================================================================ # Basler GigE cameras (optional) # pypylon>=1.9.0,<3.0.0 # FLIR cameras (optional) # simple-pyspin>=0.2.0 # Generic camera support # picamera>=1.13 # For Raspberry Pi cameras # ============================================================================ # 3D Visualization & Graphics # ============================================================================ open3d>=0.15.0,<1.0.0 PyOpenGL>=3.1.5,<4.0.0 PyOpenGL-accelerate>=3.1.5,<4.0.0 # VTK for advanced visualization vtk>=9.1.0,<10.0.0 # Plotly for interactive plots plotly>=5.5.0,<6.0.0 # ============================================================================ # Machine Learning & Detection (Optional) # ============================================================================ # PyTorch (for object detection models) # torch>=1.12.0,<3.0.0 # torchvision>=0.13.0,<1.0.0 # ONNX Runtime for inference # onnxruntime>=1.10.0,<2.0.0 # onnxruntime-gpu>=1.10.0,<2.0.0 # GPU version # ============================================================================ # Data Structures & Algorithms # ============================================================================ sortedcontainers>=2.4.0 rtree>=1.0.0 # Spatial indexing scikit-learn>=1.0.0,<2.0.0 # For clustering and spatial algorithms # ============================================================================ # System Monitoring & Performance # ============================================================================ psutil>=5.9.0,<6.0.0 py-cpuinfo>=8.0.0,<10.0.0 pynvml>=11.4.1 # NVIDIA GPU monitoring # ============================================================================ # Configuration & CLI # ============================================================================ PyYAML>=6.0,<7.0 toml>=0.10.2 click>=8.0.0,<9.0.0 # Command-line interface colorama>=0.4.4,<1.0.0 # Colored terminal output tqdm>=4.62.0,<5.0.0 # Progress bars # ============================================================================ # Logging & Debugging # ============================================================================ loguru>=0.6.0,<1.0.0 colorlog>=6.6.0,<7.0.0 # ============================================================================ # Testing & Quality Assurance # ============================================================================ pytest>=7.0.0,<8.0.0 pytest-cov>=3.0.0,<5.0.0 pytest-benchmark>=3.4.1,<5.0.0 pytest-xdist>=2.5.0,<4.0.0 # Parallel test execution pytest-timeout>=2.1.0,<3.0.0 hypothesis>=6.36.0,<7.0.0 # Property-based testing # ============================================================================ # Code Quality & Formatting # ============================================================================ black>=22.3.0,<24.0.0 isort>=5.10.0,<6.0.0 flake8>=4.0.0,<7.0.0 pylint>=2.12.0,<4.0.0 mypy>=0.942,<2.0.0 # ============================================================================ # Documentation # ============================================================================ sphinx>=4.4.0,<7.0.0 sphinx-rtd-theme>=1.0.0,<2.0.0 sphinxcontrib-napoleon>=0.7 # Google/NumPy style docstrings # ============================================================================ # Utilities # ============================================================================ python-dotenv>=0.19.0,<2.0.0 # Environment variable management jsonschema>=4.4.0,<5.0.0 # JSON validation requests>=2.27.0,<3.0.0 # HTTP requests aiohttp>=3.8.0,<4.0.0 # Async HTTP # ============================================================================ # Date & Time # ============================================================================ python-dateutil>=2.8.2,<3.0.0 pytz>=2021.3 # ============================================================================ # Data Serialization # ============================================================================ pickle5>=0.0.11; python_version < '3.8' cloudpickle>=2.0.0,<3.0.0 h5py>=3.6.0,<4.0.0 # HDF5 file format # ============================================================================ # Distributed Computing (Optional) # ============================================================================ # dask>=2022.1.0,<2024.0.0 # distributed>=2022.1.0,<2024.0.0 # ray>=1.10.0,<3.0.0 # ============================================================================ # Jupyter & Interactive Development (Optional) # ============================================================================ # jupyter>=1.0.0 # ipykernel>=6.9.0 # ipywidgets>=7.6.0 # matplotlib>=3.5.0,<4.0.0 # For plotting in notebooks # ============================================================================ # Platform-Specific Dependencies # ============================================================================ # Linux-specific pyinotify>=0.9.6; sys_platform == 'linux' # ============================================================================ # Build & Compilation # ============================================================================ setuptools>=60.0.0 wheel>=0.37.0 cmake>=3.18.0 ninja>=1.10.0 # Fast build system # ============================================================================ # Notes # ============================================================================ # 1. Install CUDA-specific packages based on your CUDA version # 2. Camera libraries (pypylon, simple-pyspin) require hardware-specific drivers # 3. For full GPU support, ensure NVIDIA drivers and CUDA toolkit are installed # 4. Some packages may require system libraries (OpenGL, FFmpeg, etc.) # # Installation commands: # Basic: pip install -r requirements.txt # Development: pip install -e ".[dev]" # Full: pip install -e ".[full,dev,cuda]"