--- id: multiurl version: "0.3.9" license: Apache License Version 2.0 license_treatment: permissive maintenance: active --- # multiurl — A package to download several URL as one, as well as supporting multi-part URLs License: permissive · Maintenance: active · Downloads: 852.4K/mo ## 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 above — 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 pip install multiurl uv add multiurl 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: unspecified - Install friction: low - Maintenance: active - Downloads: 852.4K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags download multiple urls to one file, multi-part url download, byte range download, combine urls into single file, parallel url fetching, partial file download, ftp http mixed protocol download, download-utility, multi-source, byte-range [View on SkillFed](https://skillfed.io/packages/multiurl) · [View on PyPI](https://pypi.org/project/multiurl/)