skillfed

multiurl

A package to download several URL as one, as well as supporting multi-part URLs

multiurl v0.3.9 852.4K downloads/30d#4,899 on PyPI10
Permissive license Apache License Version 2.0 Active released

What it is and what it does

multiurl is a download utility that combines files from one or more URLs into a single local file. It supports downloading entire files or specific byte ranges (parts) from URLs, and can mix protocols—for example, fetching part of a file from HTTP and another part from FTP into the same output file. The package wraps requests for HTTP/HTTPS and handles FTP via its dependencies, using tqdm for progress reporting and python-dateutil and pytz for any time-related operations.

The typical use case is assembling a file from multiple sources or downloading only the portions of a remote file you need, reducing bandwidth and time. It's straightforward to use: pass a URL or list of URLs to the download function, optionally specify byte ranges, and name your target file. The package is in Alpha status and actively maintained, with support for Python 3.9 through 3.13.

Use it for:

  • Download a large file in parallel chunks from multiple mirror URLs to speed up transfer.
  • Fetch specific byte ranges from a remote file without downloading the entire file.
  • Combine partial downloads from different protocols (HTTP and FTP) into one local file.
  • Resume or reconstruct a file by downloading missing byte ranges from backup URLs.
  • Assemble a composite file from multiple remote sources in a single operation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Downloads files from one or multiple URLs into a single target file, with support for partial downloads specified by byte offsets and lengths.

Yes, if you need to download files from multiple URLs or byte ranges into a single file. Low install friction, permissive license, active maintenance, and no known vulnerabilities make it a straightforward choice. The Alpha status means the API may change, but the core functionality is stable and the package sees regular use (top 5000 on PyPI).

Install

multiurl on PyPI

pip

pip install multiurl

uv

uv add multiurl

poetry

poetry add multiurl

Installing multiurl

Before you install

Low install friction with a pure Python wheel and four common runtime dependencies (requests, tqdm, pytz, python-dateutil). Active maintenance as of 2026-06-18 with recent release history.

License in practice

Apache License 2.0 is permissive; you can use this package in commercial and proprietary projects with minimal restrictions, provided you include a copy of the license.

Quickstart

pip install multiurl

from multiurl import download

download(url="http://example.com/test.data", target="data.file")

# Or from multiple URLs:
download(url=["http://example.com/test1.data", "ftp://example.com/test2.data"], target="data.file")

Verify before relying

  • Whether byte-range requests are automatically retried on failure or partial completion.
  • Performance characteristics when downloading from many URLs or very large files.
  • Whether progress reporting (tqdm) is always shown or configurable.

Package facts

License Apache License Version 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 4 — requests, tqdm, pytz, python-dateutil
Maintenance actively maintained — 57 days since the last release
Last repo commit
First released
Downloads 852,365/month — #4,899 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: multiurl-0.3.9-py3-none-any.whl

Keywords: tool

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

download multiple urls to one filemulti-part url downloadbyte range downloadcombine urls into single fileparallel url fetchingpartial file downloadftp http mixed protocol download
download-utilitymulti-sourcebyte-range

More WWW/HTTP packages