gallery-dl-bytes


Programmatically run gallery-dl
extractors to download content from the web directly to a bytes
object in memory. With an easy, fully typed API.
Source | PyPI
Installation
With uv
(recommended)
uv add gallery-dl-bytes
With pip
pip install gallery-dl-bytes
Usage
Single item
from gallery_dl_bytes import DownloadJob
url = "https://www.reddit.com/r/me_irl/comments/1f4qc59/me_irl/"
job = DownloadJob(url)
job.run()
post = job.files[0]
print(f"{post.name}")
print(post.headers.get("Content-Type"))
print(post.metadata.get("author"))
Gallery
job = DownloadJob("https://imgur.com/gallery/dog-3s8hj1j")
job.run()
for file in job.files:
print(f"{file.name}")
print(file.headers.get("Last-Modified"))
print(file.metadata.get("created_at"))
print()
Access media
from pathlib import Path
job = DownloadJob("https://www.pexels.com/photo/man-riding-white-surfboard-1005456/")
job.run()
file = job.files[0]
Path(file.name).write_bytes(file.data)
Access posts without media
job = DownloadJob("https://bsky.app/profile/dril.bsky.social/post/3lia54f7fg22x")
job.run()
print(job.metadata.get("text"))
Set gallery-dl
configuration
[!WARNING]
Note that not all configuration is supported. Options may be silently ignored. This feature is not yet complete.
from gallery_dl_bytes import set_config
set_config(("extractor",), "browser", "firefox")