1. download_entry_t pydantic model (frozen=True) replaces tuples; 2. download_t class with async run(), _download_one(), _run_parallel(), _run_aria2c_batch(); 3. asyncio.Semaphore for -j concurrency, run_in_executor for blocking I/O; 4. .part file pattern: download to dest.pkg.part, rename on success; 5. curl -C - and aria2c --continue=true for resume support; 6. curl/aria2c stdout/stderr redirected to devnull; 7. --dry-run, --verify-checksum BooleanOptionalAction flags; 8. --progress-mode plain|interactive using terminal.py renderer; 9. progress_t with byte-based ETA (when --size= available) and pkg-rate fallback; 10. parse --size=BYTES and --hash=sha256: from compiled requirements; 11. update test_cli.py downloader tests for .part rename and **kwargs; 12. update test_download_cli.py for pydantic model and new progress_t constructor; |
||
|---|---|---|
| .. | ||
| .venv-whl-cache | ||
| deps/whl | ||
| online/fxreader/pr34 | ||
| _m.py | ||
| .mypy.ini | ||
| cli.py | ||
| m.py | ||
| meson_options.txt | ||
| meson.build | ||
| pyproject.common.toml | ||
| pyproject.toml.bak | ||
| requirements.3.13.txt | ||