Progress examples (#1272)
* Progress examples * Update advanced.md Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
This commit is contained in:
parent
930f3773e2
commit
59074c7bc0
@ -246,9 +246,36 @@ with tempfile.NamedTemporaryFile() as download_file:
|
||||
download_file.write(chunk)
|
||||
progress.update(response.num_bytes_downloaded - num_bytes_downloaded)
|
||||
num_bytes_downloaded = response.num_bytes_downloaded
|
||||
print(f"The total download size is {response.num_bytes_downloaded} bytes")
|
||||
```
|
||||
|
||||

|
||||
|
||||
Or an alternate example, this time using the [`rich`](https://github.com/willmcgugan/rich) library…
|
||||
|
||||
```python
|
||||
import tempfile
|
||||
import httpx
|
||||
import rich.progress
|
||||
|
||||
with tempfile.NamedTemporaryFile() as download_file:
|
||||
url = "https://speed.hetzner.de/100MB.bin"
|
||||
with httpx.stream("GET", url) as response:
|
||||
total = int(response.headers["Content-Length"])
|
||||
|
||||
with rich.progress.Progress(
|
||||
"[progress.percentage]{task.percentage:>3.0f}%",
|
||||
rich.progress.BarColumn(bar_width=None),
|
||||
rich.progress.DownloadColumn(),
|
||||
rich.progress.TransferSpeedColumn(),
|
||||
) as progress:
|
||||
download_task = progress.add_task("Download", total=total)
|
||||
for chunk in response.iter_bytes():
|
||||
download_file.write(chunk)
|
||||
progress.update(download_task, completed=response.num_bytes_downloaded)
|
||||
```
|
||||
|
||||

|
||||
|
||||
## .netrc Support
|
||||
|
||||
HTTPX supports .netrc file. In `trust_env=True` cases, if auth parameter is
|
||||
|
||||
BIN
docs/img/rich-progress.gif
Normal file
BIN
docs/img/rich-progress.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
BIN
docs/img/tqdm-progress.gif
Normal file
BIN
docs/img/tqdm-progress.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
Loading…
Reference in New Issue
Block a user