Skip to content

Refactor client SDK progress bar for vfolder upload and download func APIs #344

@achimnol

Description

@achimnol

The Python client SDK's vfolder upload and download commands display a progress bar when executed in a terminal using tqdm. The issue is that the functional API layer directly uses tqdm, so it may show unwanted stdout outputs when used as a library, though this is controllable using show_progress argument. This is a leak of abstraction.

By the design principle, all terminal manipulation and console outputs should be done inside ai.backend.client.cli (and ai.backend.client.output) only, while ai.backend.client.func should only provide a programming interface without console outputs (but it may include use of logging because logging policy could be controlled by the host program).

  • Let's move invocation of tqdm to ai.backend.client.cli and/or ai.backend.client.output.
  • Let's make a simple progress reporter abstraction so that the functional implementation still could provide the progress information and the CLI output handler could receive it.

JIRA Issue: BA-279

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions