Changes
Packaging
- Package is now on PyPI and is installable via
pip install gallery-dl-server
orpip install gallery-dl-server[full]
for installation with optional dependencies - Support command-line arguments as well as environment variables when run as a package from the command line
- When the package is installed and not in the current working directory, create the log file in the user's home directory
- When not installed, create the logs directory in the current working directory instead of the parent directory of the package
Dependencies
- New optional dependencies:
brotli
for Brotli content encoding support,mkvmerge
for accurate Ugoira frame timecodes,mutagen
for embedding metadata and thumbnails in certain formats, andpycryptodomex
to decrypt AES-128 HLS streams and other forms of data - Update requirements.txt and add relevant environment markers: add
AMD64
platform marker to ensure that Uvicorn's Cython-based dependencies are installed on 64-bit Windows systems, addbrotlicffi
as an optional dependency and addcpython
implementation markers to improve compatibility with PyPy and other non-CPython implementations - Add
toml
as a dependency for Python <= 3.10 to ensure compatibility with Python 3.10 PyYAML
andtoml
are now optional dependencies that will only be imported when a YAML or TOML configuration file is found
Configuration and Logging
- Attempt to load configuration file only if the file exists at the given path and capture OSError log messages during loading
- Add log messages in case of missing imports when loading configuration files
- Strip whitespace from log messages in more places to avoid logging empty lines
Web UI
- Style improvements, fixes and enhancements
- Colour correction: make colours appear lighter and slightly more vibrant while preserving colour harmony
- Update icons with corrected colour and slightly larger font
- Change main page title from
gallery-dl
togallery-dl-server
- Add navigation bar and a new page for viewing logs with links to view the plain text or save as a file
- Scroll page automatically when increasing the vertical height of the embedded logs box
Connectivity and Backend
- Use a WebSocket connection to stream logs after an initial HTTP fetch to avoid constant fetch requests
- Override Uvicorn's
SIGINT
andSIGTERM
signal handlers on startup to enable WebSocket connections to be closed before Uvicorn initiates its own exit procedure for a graceful shutdown - Exception handling for functions that read the log file to prevent the application from crashing when the log file is deleted
Docker Image: GitHub Container Registry / Docker Hub
Full Changelog: v0.6.1...v0.7.0