modal-labs / modal-client

Python client library for Modal
https://modal.com/docs
Apache License 2.0
271 stars 35 forks source link

[MOD-3267] progress bar for volume/nfs put/get #1969

Closed kramstrom closed 2 months ago

kramstrom commented 3 months ago

Adds progress bars when uploading and downloading files / directories to volumes and network file systems

Example screenshot of what it looks like when in progress

upload

We still have some magic spinner for "post processing" once files are uploaded to the server but the server is doing some work. Added a TODO for that but it would require more work on the server to send progress reports which we don't currently have

erikbern commented 2 months ago

Nice!

ekzhang commented 2 months ago

Fantastic work

mwaskom commented 2 months ago

Looks really nice!

Apologies if this is a dumb question as I just skimmed the diff so far, but will this avoid creating thousands of progress bars if people upload a directory with many files?

kramstrom commented 2 months ago

Looks really nice!

Apologies if this is a dumb question as I just skimmed the diff so far, but will this avoid creating thousands of progress bars if people upload a directory with many files?

Not at all! Since the progress bars are wrapped in a Live display they will by default only display up to the size of the terminal you're running in.

mwaskom commented 2 months ago

Since the progress bars are wrapped in a Live display they will by default only display up to the size of the terminal you're running in.

👌 perfect!