{"id":4747,"library":"robust-downloader","title":"Robust Downloader","description":"A minimal Python downloader designed for robustness, offering features like resumable downloads and automatic retries. It is currently in beta status (Development Status :: 4 - Beta) and provides both a Python interface and a command-line utility for simple file transfers.","status":"active","version":"0.0.2","language":"python","source_language":"en","source_url":"https://github.com/fedebotu/robust-downloader","tags":["downloader","robust","file-transfer","http"],"install":[{"cmd":"pip install robust-downloader","lang":"bash","label":"Install latest version"}],"dependencies":[],"imports":[{"symbol":"download","correct":"from robust_downloader import download"}],"quickstart":{"code":"from robust_downloader import download\n\n# Download a file from a URL\n# Replace with an actual URL to test\nfile_url = \"https://raw.githubusercontent.com/fedebotu/robust-downloader/main/README.md\"\ntry:\n    download(file_url, filename=\"downloaded_readme.md\")\n    print(f\"Successfully downloaded {file_url} to downloaded_readme.md\")\nexcept Exception as e:\n    print(f\"An error occurred during download: {e}\")","lang":"python","description":"Demonstrates how to download a file using the `download` function. The example includes basic error handling, which is crucial for robust applications, although not explicitly shown in the most minimal usage examples from the library's documentation."},"warnings":[{"fix":"Be prepared for potential API adjustments and thoroughly test upgrades between minor or patch versions. Refer to the project's GitHub releases for specific changes.","message":"The library is currently in 'Beta' development status (Development Status :: 4 - Beta). This implies that APIs and core behaviors might still evolve and change in future versions without strict adherence to semantic versioning until a stable 1.0 release.","severity":"gotcha","affected_versions":"All 0.x.x versions"},{"fix":"Wrap `download()` calls in `try...except` blocks to handle potential exceptions such as `requests.exceptions.RequestException`, `IOError`, or other custom exceptions the library might raise.","message":"While designed for robustness, the basic `download` function, as shown in minimal usage examples, does not explicitly include `try-except` blocks for error handling. For production-ready applications, it is essential to implement comprehensive exception handling for network issues, file system errors, or unexpected server responses.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Pass the `sha256` argument to the `download` function, e.g., `download(url, filename='my_file.zip', sha256='expected_sha256_hash')`.","message":"Version 0.0.2 introduced an optional SHA256 integrity check. If downloading critical files where data integrity is paramount, it is highly recommended to provide the expected SHA256 hash to the `download` function to verify the file's authenticity and ensure it hasn't been corrupted during transfer. This check is not enabled by default.","severity":"gotcha","affected_versions":"0.0.2 and later"},{"fix":"Review the project's documentation and source code to confirm specific feature support if your use case requires complex download management scenarios.","message":"The library describes itself as a 'minimal' downloader. While it supports resumable downloads and retries, users accustomed to more feature-rich download managers (e.g., those offering multi-part downloads, advanced proxy configurations, or sophisticated handling of dynamic/expiring URLs) might find certain advanced capabilities or extensive customization options to be limited.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'4':26 'automat':16 'beta':22,27 'command':37 'command-lin':36 'current':20 'design':7 'develop':24 'download':2,6,14,44 'featur':11 'file':42,47 'file-transf':46 'http':49 'interfac':33 'like':12 'line':38 'minim':4 'offer':10 'provid':29 'python':5,32 'resum':13 'retri':17 'robust':1,9,45 'simpl':41 'status':23,25 'transfer':43,48 'util':39","created_at":"2026-04-12T14:05:52.990199+00:00","updated_at":"2026-04-16T21:06:53.037129+00:00","problems":[{"fix":"pip install robust-downloader","cause":"The 'robust-downloader' package has not been installed in your current Python environment.","error":"ModuleNotFoundError: No module named 'robust_downloader'"},{"fix":"pip install robust-downloader (and ensure your virtual environment is activated if applicable, or that Python's script directory is in your PATH)","cause":"The command-line utility provided by 'robust-downloader' is either not installed or its executable script is not in your system's PATH.","error":"robust-downloader: command not found"},{"fix":"downloader.download(\"http://example.com/file.zip\", \"local_file.zip\")","cause":"The 'download' method of the 'RobustDownloader' instance was called with only the URL, omitting the necessary destination file path.","error":"TypeError: RobustDownloader.download() missing 1 required positional argument: 'output_path'"},{"fix":"from robust_downloader import RobustDownloader","cause":"The 'RobustDownloader' class is being accessed incorrectly, often by attempting to call it directly from the module without an explicit import, or due to a typo in the class name.","error":"AttributeError: module 'robust_downloader' has no attribute 'RobustDownloader'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.0.2","cli_name":"robust-downloader","cli_version":"robust-downloader 0.0.2 at /usr/local/lib/python3.11/site-packages","type":"library","homepage":null,"github":"https://github.com/fedebotu/robust-downloader","docs":null,"changelog":null,"pypi":"https://pypi.org/project/robust-downloader/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-08-30","next_check":"2026-07-28","install_tag":null}}