- Changed RegisteredExtractor to use Arc<Box<dyn Extractor>> for shared access - Added SharedExtractor type alias - Updated find() to return Result<SharedExtractor, ExtractorError> - Added get_extractor() as convenience function - Updated lib.rs exports to include SharedExtractor and get_extractor
1.6 KiB
1.6 KiB
Technology Stack
Analysis Date: 2026-02-15
Languages
Primary:
- Python 3.x - All application logic, CLI, and download handling
Runtime
Environment:
- CPython 3.x
Package Manager:
- pip
- setuptools (for package installation)
Frameworks
Core:
gallery_dl- Custom CLI frameworkgallery_dl/__init__.py- Main entry pointgallery_dl/option.py- Command-line argument parsing
HTTP:
requests(>=2.11.0) - Primary HTTP client for API requests and downloadsgallery_dl/extractor/http.py- HTTP-based extractor base
Data/Config:
- JSON (built-in) - Primary configuration format
- YAML (optional) - Alternative configuration format
- TOML (optional) - Alternative configuration format
Key Dependencies
Critical:
requests>=2.11.0- HTTP requests for all network operations
Optional:
yt-dlp- YouTube/Video downloading support (gallery_dl/ytdl.py)keyring- Secure credential storageyaml- YAML configuration supporttomli/toml- TOML configuration support
Internal:
urllib3(viarequests) - HTTP connection pooling
Configuration
Environment:
- Configuration files: JSON, YAML, or TOML
- Default locations:
~/.config/gallery-dl/,~/.gallery-dl/ - Command-line arguments override config files
Build:
setup.py- Package setuppyproject.toml- Build system configuration
Platform Requirements
Development:
- Python 3.x
- pip
Production:
- Python 3.x
- Unix-like systems, Windows, macOS
CLI Entry Point:
gallery_dl/__main__.py- Invokesgallery_dl/__init__.py:main()
Stack analysis: 2026-02-15