# tonyofrancis/Fetch

The best file downloader library for Android

Repository: https://github.com/tonyofrancis/Fetch
Canonical: https://ross.abutalabs.com/products/tonyofrancis-fetch
Homepage: https://www.meta.stackoverflow.com/tags/fetch2
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: android-development, android, downloader, okhttp, retrofit, downloadmanager, http, gradle, networking, internet, internet-of-things, android-tv, android-library, application, app, mobile, fast-networking, httpurlconnection, filedownloader, filemanager
Last push: 2024-12-03T12:51:00+00:00

## Health v2 (maintenance only)
Score: 30/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 28, longevity 100
- inputs: {"age_days": 3501, "days_push": 638, "days_rel": 638, "gap_med": 44.0, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1821, forks 356 (observed 2026-08-28T04:05:40.971494+00:00)

## What it is
Fetch is a Kotlin file download manager library for Android that handles background, concurrent, pause/resume, and prioritized downloads with progress tracking and notification support. It wraps HTTP downloading (via OkHttp/HttpURLConnection) behind a simple request-based API.

## Use cases
- download files in the background on android
- pause and resume large file downloads in my app
- download multiple files concurrently with priorities
- show download progress and speed in notifications
- retry failed downloads automatically on android
- download files only on wifi or specific network types
- track download eta and progress in my android app

## When to choose
- you need a robust, dedicated download manager for an Android app with background and concurrent downloading
- you want pause/resume, retry, priority, and progress tracking out of the box
- you need Storage Access Framework, Content Provider, and URI support for saving files

## When to avoid
- you only need simple one-off HTTP requests rather than managed downloads
- your project is not Android-based
- you need upload support or torrent/multi-protocol downloading

## Facets
- artifact type: library
- maturity: active
- function: http-client, file-upload, networking
- domain: mobile-development, android-tools, files
- platform: jvm
- tags: file-downloader, download-manager, background-downloads, okhttp, resume-downloads, download-queue, android, mobile

## Member repositories
- tonyofrancis/Fetch (main) score 30

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:40.971494+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:19:57.867020+00:00, confidence not recorded.
  - readme: https://github.com/tonyofrancis/Fetch (fetched 2026-08-28T04:05:40.971494+00:00, sha a1538bbdef4f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
