ComfyUI-Manager/tests/common/pip_util/requirements-test-base.txt
Dr.Lt.Data 2866193baf ● feat: Draft pip package policy management system (not yet integrated)
Add comprehensive pip dependency conflict resolution framework as draft implementation. This is self-contained and does not affect existing
ComfyUI Manager functionality.

Key components:
- pip_util.py with PipBatch class for policy-driven package management
- Lazy-loaded policy system supporting base + user overrides
- Multi-stage policy execution (uninstall → apply_first_match → apply_all_matches → restore)
- Conditional policies based on platform, installed packages, and ComfyUI version
- Comprehensive test suite covering edge cases, workflows, and platform scenarios
- Design and implementation documentation

Policy capabilities (draft):
- Package replacement (e.g., PIL → Pillow, opencv-python → opencv-contrib-python)
- Version pinning to prevent dependency conflicts
- Dependency protection during installations
- Platform-specific handling (Linux/Windows, GPU detection)
- Pre-removal and post-restoration workflows

Testing infrastructure:
- Pytest-based test suite with isolated environments
- Dependency analysis tools for conflict detection
- Coverage for policy priority, edge cases, and environment recovery

Status: Draft implementation complete, integration with manager workflows pending.
2025-10-04 08:55:59 +09:00

21 lines
1.0 KiB
Plaintext

# Base packages for pip_util integration tests
# These packages are installed initially to test various scenarios
# All versions verified using: pip install --dry-run --ignore-installed
# Scenario 1: Dependency Version Protection (requests + urllib3)
# Purpose: Pin prevents urllib3 1.26.15 → 2.5.0 major upgrade
urllib3==1.26.15 # OLD stable version (prevent 2.x upgrade)
certifi==2023.7.22 # OLD version (prevent 2025.x upgrade)
charset-normalizer==3.2.0 # OLD version (prevent 3.4.x upgrade)
# Note: idna is NOT pre-installed (will be added by requests)
# Scenario 2: Package Deletion and Restore (six)
# Purpose: Restore policy reinstalls deleted packages
six==1.16.0 # Will be deleted and restored to 1.16.0
attrs==23.1.0 # Bystander package
packaging==23.1 # Bystander package (NOT 23.1.0, not 25.0)
# Scenario 3: Version Change and Restore (urllib3)
# Purpose: Restore policy reverts version changes
# urllib3==1.26.15 (same as Scenario 1, will be upgraded to 2.5.0 then restored)