Skip to content

v3.0.0

Choose a tag to compare

@KTS-o7 KTS-o7 released this 23 Mar 17:50
· 26 commits to main since this release

What's New in v3.0.0

New Features

  • bbid CLI command — installed automatically, no more python -m ...
  • Resume support — re-running skips existing files and downloads only what's missing
  • Download manifest_manifest.json written per run mapping filenames to source URLs
  • MD5 image deduplication — same image from different URLs saved only once
  • bbid --version flag

Bug Fixes

  • Removed input() and sys.exit() from library API (were blocking programmatic use in scripts, CI, Jupyter)
  • Fixed broken relative imports in multidownloader.py (was crashing on installed package)
  • Fixed urllib.request.urlopen missing timeout parameter (could hang indefinitely)
  • Fixed thread-safe download_count increment with threading.Lock
  • Fixed mutable default argument badsites=[] (shared state across calls)
  • Removed global socket.setdefaulttimeout() side-effect from helperdownload
  • Atomic file writes in helperdownload (write to temp → move on success, no orphaned files)
  • Exponential backoff on download retries
  • Updated stale Google Images Selenium selectors
  • Fixed resolve_dependencies(driver=str) broken default
  • Lazy-load chromedriver_autoinstaller (only imported when Chrome driver is needed)

Breaking Changes

  • filter parameter renamed to image_filter in downloader() — old filter= still works with a DeprecationWarning

Packaging

  • Migrated to pyproject.toml with proper install_requires and python_requires=">=3.8"
  • Selenium dependencies moved to optional [google] extra — pip install better-bing-image-downloader is now lightweight
  • Full test suite: 41 tests (was 0 working tests before)

Installation

pip install better-bing-image-downloader
# For Google/Selenium support:
pip install "better-bing-image-downloader[google]"