Metadata-Version: 2.4
Name: enhanced_downloader
Version: 0.2.3
Summary: 一个功能强大的增强型下载模块，支持多线程下载、断点续传和进度显示
Home-page: https://github.com/Stabvalue/enhanced_downloader
Author: Stabvalue
Author-email: stabvalue@outlook.com
License: MIT
Project-URL: Bug Reports, https://github.com/Stabvalue/enhanced_downloader/issues
Project-URL: Source, https://github.com/Stabvalue/enhanced_downloader
Keywords: download multi-threading resume progress
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.0
Requires-Dist: tqdm>=4.60.0
Requires-Dist: psutil>=5.0.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Enhanced Downloader

一个功能强大的Python下载模块，支持：

- 单线程和多线程下载
- 自动检测服务器是否支持分片
- 断点续传
- 进度显示
- 返回内容或保存到文件
- 智能下载策略

## 安装

```bash
pip install enhanced_downloader
```

## 使用示例

```python
from enhanced_downloader import download_file

# 下载并保存到指定路径
download_path = download_file("https://example.com/large_file.zip", save_path="/path/to/save")
print(f"文件保存路径: {download_path}")

# 下载并返回内容
file_content = download_file("https://example.com/file.txt", return_content=True)
print(f"获取到文件内容，大小: {len(file_content)} 字节")

# 使用更多参数
download_path = download_file(
    url="https://example.com/large_file.zip",
    save_path="output.zip",
    num_threads=20,
    timeout=60,
    temp_dir="/tmp/downloads",
    min_size_for_multithread=5*1024*1024  # 5MB以上使用多线程
)
```

## 高级用法

```python
from enhanced_downloader import EnhancedDownloader

# 创建下载器实例
downloader = EnhancedDownloader()

# 使用实例方法
downloader.download(
    url="https://example.com/file.zip",
    save_path="downloads/file.zip",
    num_threads=30,
    force_single_thread=False
)
```

## 参数说明

- `url`: 下载链接
- `save_path`: 保存文件的路径，支持目录或完整文件路径
- `return_content`: 是否返回文件内容而不是保存到本地
- `chunk_size`: 下载块大小
- `timeout`: 请求超时时间（秒）
- `num_threads`: 多线程下载时的线程数
- `temp_dir`: 临时文件目录
- `force_single_thread`: 是否强制使用单线程下载
- `min_size_for_multithread`: 启用多线程下载的最小文件大小

## 版本更新
- 0.1.0: 初始版本
- 0.1.1: 优化多线程下载性能
- 0.1.2: 添加速度限制功能
- 0.1.3: 未指定目录时自动保存到最大可用磁盘，修复路径判断逻辑
- 0.2.0: 添加允许指定代理功能，优化下载速度
- 0.2.1：优化分片时记录的僵尸键清理
- 0.2.2：新增功能，运行断电续传，支持程序重复运行下载同一个文件

## 许可证

MIT License - 详见 LICENSE 文件
