fuzzfetch
raw JSON → 16.1.0 verified Fri May 01 auth: no python
A Python library for downloading Firefox, Thunderbird, and jsshell builds from Mozilla's Taskcluster. Currently at version 16.1.0, with frequent releases (multiple per year). Requires Python >=3.10.
pip install fuzzfetch Common errors
error AttributeError: module 'fuzzfetch' has no attribute 'FuzzFetch' ↓
cause Using 'import fuzzfetch' instead of 'from fuzzfetch import FuzzFetch'
fix
Use: from fuzzfetch import FuzzFetch
error pkg_resources.DistributionNotFound: The 'fuzzfetch' distribution was not found ↓
cause Missing install or virtual environment not activated
fix
Run: pip install fuzzfetch --upgrade
error requests.exceptions.ConnectionError ↓
cause No network access or Taskcluster endpoint unreachable
fix
Check internet connectivity and proxy settings. Try increasing timeout or retries.
Warnings
breaking Version 14.0.0 changed behavior to return the newest build matching requested parameters, instead of raising an error if multiple builds found. Code that relied on the old error handling may silently get a different build. ↓
fix Review any code that catches exceptions for ambiguous builds; now the newest build is always returned.
breaking Version 16.0.0 dropped support for Python 3.9. Users on Python 3.9 must upgrade to 3.10+. ↓
fix Upgrade Python to 3.10 or later. Pin fuzzfetch<16 if necessary.
gotcha When using the 'date' parameter, be aware that only builds indexed from that exact date are returned; if no build exists, an exception is raised. Use 'from_date' and 'to_date' for ranges. ↓
fix Use from_date and to_date for date ranges, or catch FuzzFetchException if exact date fails.
gotcha fuzzfetch depends on network access to Mozilla's Taskcluster. Running without a network or behind a strict proxy may cause timeouts or failures. Consider using retry logic (built-in since v11.1.0) or custom timeout. ↓
fix Configure network/proxy settings or use FuzzFetch(max_retries=3, timeout=60).
Install
pip install fuzzfetch[all] Imports
- FuzzFetch wrong
import FuzzFetchcorrectfrom fuzzfetch import FuzzFetch - BuildFlags
from fuzzfetch import BuildFlags - BrowserBuild
from fuzzfetch import BrowserBuild
Quickstart
from fuzzfetch import FuzzFetch, BuildFlags
ff = FuzzFetch()
# Fetch the latest Firefox nightly for Linux64
build = ff.fetch(
build=BuildFlags.FIREFOX,
platform='linux64',
branch='mozilla-central'
)
print(build.binary_path)
# Or fetch with specific date:
build = ff.fetch(
build=BuildFlags.FIREFOX,
platform='linux64',
branch='mozilla-central',
date='2025-01-15'
)
print(build.binary_path)