Skip to content

Add progress bars for long-running item- or album-level operations #5711

@peterjdolan

Description

@peterjdolan

Proposed solution

There are a few Python progress bar libraries for terminal applications, including the popular TQDM as well as Enlighten. TQDM is great, of course, but it has the nasty habit of interacting poorly with log lines or other messages sent to STDOUT. Enlighten handles the terminal output the way one would like it to be done - the progress bar at the bottom, and all the log messages above it with no interaction between the two.

Objective

See related discussion

Goals

  • Add a progress bar to the bottom of the terminal for most long-running operations, particularly imports and built-in plugins.
  • Provide beets.ui.* helper functions to make it easy for plugin developers to adopt the same progress bar, and to provide a central place for modifying behavior in the future.
  • Reach out to plugin authors to invite them to adopt the progress bar in their plugins.

Non-goals

  • Reinventing any wheels - we just want to use an off-the-shelf progress bar library, not to develop a new one ourselves.
  • World peace
  • Free trade
  • Enlightenment

Anti-goals

  • Global thermonuclear war

Example screenshot

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurefeatures we would like to implement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions