--- id: parfive version: "2.3.1" license: Copyright (c) 2017-2020 Stuart Mumford Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) license_treatment: unclear maintenance: aging --- # parfive — A HTTP and FTP parallel file downloader. License: unclear · Maintenance: aging · Downloads: 120.0K/mo ## What it is and what it does Parfive is a file downloader that wraps asyncio to download multiple files concurrently while presenting a simple synchronous API. You create a Downloader object, enqueue one or more file URLs with target paths, and call download() to fetch them all in parallel. Each file can also be downloaded in chunks. The package depends on aiohttp for HTTP requests and tqdm for progress bars, and returns a Results object that tracks both successful downloads and any failures with their server responses. The package is useful when you need to fetch many files efficiently without writing asyncio code yourself. It offers both a Python API and a command-line interface for quick downloads. Error handling is built in—failed downloads are captured in the Results object rather than raising exceptions, so you can retry or report them to users. Use it for: - Download multiple data files from a remote server in a single batch operation with progress tracking. - Fetch a collection of assets or resources concurrently without blocking on each individual request. - Build a data pipeline that retrieves files from HTTP or FTP sources as part of a larger workflow. - Provide end users with a CLI tool to download multiple files at once with configurable concurrency limits. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parfive downloads multiple files in parallel using asyncio, with a synchronous API that handles concurrent downloads and per-file chunking. Yes, if you need straightforward parallel file downloads. The low install friction, stable API, and lack of known vulnerabilities make it a safe choice. The aging maintenance status (199 days since release) is a minor concern but not a blocker for stable use; consider it if you need active upstream support or if your use case requires recent dependency updates. ## Install pip install parfive uv add parfive poetry add parfive ## Installing parfive Before you install: Low friction install with only two runtime dependencies (tqdm and aiohttp). Maintenance status is aging—last release was 199 days ago—but the package is marked Production/Stable and supports current Python versions through 3.13. License in practice: MIT licensed under a permissive copyright (2017-2020 Stuart Mumford). No restrictions on commercial or private use; you may modify and distribute freely provided you include the license notice. Quickstart: from parfive import Downloader dl = Downloader() dl.enqueue_file("http://example.com/file.zip", path="./") files = dl.download() Requires Python 3.10 or above. Verify before relying: - Whether the aging maintenance status (199 days since last release) affects reliability for new use cases or dependency updates. - Performance characteristics when downloading very large files or managing hundreds of concurrent connections. ## Package facts - License: Copyright (c) 2017-2020 Stuart Mumford Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) (unclear) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 120.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags parallel file downloader, asyncio download manager, concurrent http downloads, batch file downloader, async file fetching, parallel http ftp downloader, async-io, download-manager [View on SkillFed](https://skillfed.io/packages/parfive) · [View on PyPI](https://pypi.org/project/parfive/)