StrictVersion read each of the first three components of a version with int(), so it raised on a suffix after the third number. On v4 it reads node pack versions and the pip versions of pip_auto_fix.list. - Read a node pack version with a pre-release after the third number, following '.' or '-', and write it with '-' as before: a registry version such as 1.8.0-beta.1 is recognized, and 0.1.3.post1 no longer stops the scan of installed node packs, in the glob and the legacy core - Ask a packaging Specifier for the entries of pip_auto_fix.list, as pip does: an installed 2.5.1+cu124 or 4.41.0rc1 no longer skips the entry with "Failed to restore", and "~=" becomes a compatible-release clause - Add tests that run the real scan of both cores and the real PIPFixer - Add a CHANGELOG entry The same change for main is #3431, which also moves the pip checks at install time to packaging; v4 did that in #3489.
ComfyUI-Manager: Core Backend (glob)
This directory contains the Python backend modules that power ComfyUI-Manager, handling the core functionality of node management, downloading, security, and server operations.
Directory Structure
- glob/ - code for new cacheless ComfyUI-Manager
- legacy/ - code for legacy ComfyUI-Manager
Core Modules
- manager_core.py: The central implementation of management functions, handling configuration, installation, updates, and node management.
- manager_server.py: Implements server functionality and API endpoints for the web interface to interact with the backend.
Specialized Modules
- share_3rdparty.py: Manages integration with third-party sharing platforms.
Architecture
The backend follows a modular design pattern with clear separation of concerns:
- Core Layer: Manager modules provide the primary API and business logic
- Utility Layer: Helper modules provide specialized functionality
- Integration Layer: Modules that connect to external systems
Security Model
The system implements a comprehensive security framework with multiple levels:
- Block: Highest security - blocks most remote operations
- High: Allows only specific trusted operations
- Middle: Standard security for most users
- Normal-: More permissive for advanced users
- Weak: Lowest security for development environments
Implementation Details
- The backend is designed to work seamlessly with ComfyUI
- Asynchronous task queuing is implemented for background operations
- The system supports multiple installation modes
- Error handling and risk assessment are integrated throughout the codebase
API Integration
The backend exposes a REST API via manager_server.py that enables:
- Custom node management (install, update, disable, remove)
- Model downloading and organization
- System configuration
- Snapshot management
- Workflow component handling