Optional progress bar for intensive incremental operations

Đang mở
#183 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
cli, data

Hướng nghiên cứu

Bắt đầu bằng cách lần theo đường dẫn tổng hợp được cfa sử dụng và các điểm vào Python tương tác tương ứng; issue không nêu tên tệp hoặc test nào. Xác định phạm vi của thanh tiến trình, spinner hoặc bộ đếm, cùng với hành vi của cấu hình toàn cục, sau đó xác minh các trường hợp được bật và bị tắt theo mặc định trên các điểm vào đó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

For select operations that may take a non-negligible time to complete (from the perspective of a user), it could be useful to display small indicators of the progression of the operation whilst it is running in either interactive Python or on the command-line (i.e. for cfa, since aggregation is one of the main operations I have in mind that can necessarily be time-consuming for specifically inputs).

Notably, this could be:

  • a progress bar for operations that can be broken into incremental steps of progression, e.g. each of the known and registered numbers of iterations through a core loop;
  • perhaps a spinner or counter in the case that there is no simple or accurate way to indicate a proportion of progress having been made;

so that the user can know roughly how long they can expect or wait for the completion, or in the latter case at least see visually and be more confident that the operation hasn't stalled.

(As we have seen, Dask has a similar feature for diagnostics etc.:

dask_progress_bar
)

There may be some users that don't want this feature so I suggest we have a global configuration option to disable it, but enable by default.

Implementation options

It wouldn't be difficult to code up a primitive progress bar and spinner, but for something available out-of-the-box and with more options and support, I think it would be better to use a dedicated progress bar library.

There are various such options for Python (there's a good summary here) but I think tqdm seems the best choice at the present time for features, low overhead, support available etc.

Ngôn ngữ chính
Python
Star
150
Fork
23
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
2

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NCAS-CMS/cf-python

Tất cả issue của NCAS-CMS/cf-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.