Отслеживаем прогресс выполнения в Python
Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.
Используем Progress
Первым у нас идёт модуль Progress.
Всё, что от вас потребуется, это указать количество ожидаемых итераций, тип индикатора и вызывать функцию при каждой итерации:
Есть индикаторы на любой вкус:
Используем tqdm
Следующей на очереди идёт библиотека tqdm.
Быстрый и расширяемый индикатор прогресса для Python и CLI
Всего один вызов функции понадобится для получения результата аналогичного предыдущему:
Само собой, в комплекте идёт куча настроек и опций.
Используем alive-progress
Ещё один вариант синтаксиса, побольше дефолтных анимаций, чем в предыдущих примерах:
GUI индикатор прогресса для скрипта
Иногда возникает необходимость предоставить конечному пользователю графический индикатор.
Сколько кода нужно, чтобы достигнуть такого результата? Немного:
Индикатор в приложении PySimpleGUI
Рассмотрим реализацию индикатора в PySimpleGUI.
Вот как это сделать:
Заключение
Как видите, нет ничего сложного в добавлении информации о прогрессе выполнения: кода немного, а отзывчивость повышается очень сильно. Используйте индикаторы, чтобы больше никогда не гадать, завис ли процесс или нет!
Что такое Progress bar? Значение термина Progress bar
Progress bar (Индикатор процесса) – это элемент графического интерфейса пользователя, представляющий собой прямоугольную (в большинстве случаев) панель для отображения индексации ходи или выполнения какой либо задачи, например загрузки файла по сети. Обычно бегунок индикатора процесса заполняется слева направо. Часто встречается текстовое сопровождение выполненных процентов. Такие элементы используются в том случае, если масштаб задачи известен, либо ход выполнения задачи требует отображения информации.
22 бесплатных jQuery CSS3 плагина прогресс-баров
JQuery – это библиотека JavaScript , которая позволяет очень просто создавать такие элементы интерфейсов, как прогресс-бары, выпадающие списки и т.д.
В этой статье вы найдете ссылки на скачивание JavaScript и JQuery скриптов, которые могут быть использованы на вашем сайте для отображения прогресса загрузки, скачивания файлов или любых других задач. Все описанные ниже скрипты являются абсолютно бесплатными для скачивания.
JQuery и JavaScript могут не поддерживаться старыми браузерами, но все современные браузеры полностью поддерживают их.
Checkout Progress Bar
Адаптивный CSS прогресс-бар с красивым интерфейсом пяти шагов оплаты и подписки.

Pixel Progress Bar
Небольшой декоративный индикатор в виде квадратных пикселей на конце полосы прогресса делает этот прогресс-бар визуально гораздо более привлекательным.
![]()
Pace — автоматический прогресс-бар загрузки страницы
Автоматический прогресс бар веб-страницы. Включите pace.js и тему по своему выбору в свою страницу, и все готово! Pace будет автоматически отслеживать Ajax запросы, задержку цикла событий, состояние готовности документа и элементы на странице, чтобы уведомлять о прогрессе выполнения задачи.

Кнопки со встроенными счетчиками прогресса
Они идеально подходят для отображения прогресса выполнения задачи при выводе формы или загрузке контента через AJAX . Они также могут использовать стили и переходы CSS3 , что делает их простыми в настройке.

Animated Goal Progress Bar jQuery plugin
Этот плагин позволяет создавать анимированные прогресс-бары на основе JQuery . Просто заполните необходимые данные, и плагин сам вычислит прогресс выполнения задачи и задаст соответствующую анимацию панели. Вы можете указать текст, который будет выводиться перед и после достижения определенного процента выполнения задачи.

Бесплатные стили кнопок прогресса
Набор плоских и 3D стилей кнопок прогресса, где сама кнопка служит индикатором прогресса. 3D -стили используются для отображения прогресса задачи на одной стороне при вращении кнопки.
ProgressJs — библиотека прогресс-баров с задаваемыми темами
ProgressJs — это библиотека на основе JavaScript и CSS3 , которая помогает разработчикам создавать и управлять прогресс-барами для каждого объекта на странице.

ngProgress — прогресс-бар в стиле Youtube
ngProgress — используется для вывода статуса загрузки чего-либо. Данный элемент может использоваться для индикации извлечения данных с внешних ресурсов, если выполнение занимает больше времени, чем обычно или при простой загрузке страниц. Преимущественно применятся для вывода статуса загрузки больших по объему файлов.

Прогресс-бар на чистом CSS
Данный прогресс-бар полностью реализован с помощью градиентов, теней и границ-радиусов CSS3 с примесью анимации. Целью данного проекта является демонстрация возможностей CSS3 в современных веб-браузерах. Поэтому стили этого прогресс-бара задаются исключительно с помощью CSS .

NProgress — тонкий прогресс-бар
« Наноскопический » прогресс-бар. С помощью реалистичных эффектов анимации, вы показываете пользователям, что выполняется какая-то задача! Вдохновение автора черпали в среде Google , YouTube .

Circular Progress
Круговой JavaScript -виджет прогресса, очень прост в реализации и настройке.

Nanobar.js
Очень, очень компактный прогресс-бар ( архив размером всего 730 байт ). Не требует установки JQuery .

Angular-loading-bar
Идея проста: добавлять прогресс-бар загрузки всякий раз, когда выполняется XHR -запрос. Несколько запросов, выполняемых одновременно, могут собираться в одной панели таким образом, что каждый ответ соответственно увеличивает прогресс-бар.

Free jQuery Percentage Loader
jQuery.PercentageLoader — это JQuery -плагин для визуализации более привлекательного прогресс-бара, чем обычный горизонтальный индикатор и текстовый счетчик. Плагин прост в установке и довольно гибок в использовании. Он использует холсты HTML5 , что позволяет создавать впечатляющее графическое представление, используя для этого всего лишь 10-килобитный ( минимизированный ) Javascript -файл ( с приложением веб-шрифтов опционально ).
Плагин использует векторы, а не изображения, что позволяет легко разворачивать различные элементы простым редактированием начальных параметров.

Free Circular Progress Bar — JQuery-плагин
Circular Progress Bar предоставляет неограниченные возможности для индикации потоков выгрузки или загрузки данных.

Простой бесплатный JQuery CSS3 прогресс-бар
Этот прогресс-бар использует атрибут HTML5 custom data-* , что позволяет просто дополнять анимацией прогресс-бар с помощью Zepto ( или JQuery ). Анимация упаковывается в функцию window.resize , чтобы запускать ее снова, если размер окна браузера изменяется.

CSS 5 steps progress bar
5-этапный CSS прогресс-бар. JS используется только для анимации демо-версии.

JQuery прогресс-бар для заполнения профиля
Использует элементы прогресса выполнения при заполнении профиля. Добавляет соответствующие кнопки для отображения заполнения всех необходимых данных; пользователь может нажимать кнопки » Сохранить «, » Далее » при выполнении соответствующих действий.

jQuery Image Preloader Progress Bar
Прогресс-бар со сменными скинами, отображающий прогресс завершения загрузки в процентах.

jQuery Form Progress Bar
Простой прогресс-бар для заполнения форм. Использует элементы Dribbble .

Free YouTube Progress Bar
Прогресс-бар, выводимый в процессе одной единственной сессии браузера, я полагаю, что это пока только A/B тестирование.

Flat Pie Charts and Progress Bars Templates (стоимость: $6)
Анимированный плоский прогресс-бар с круговыми диаграммами. Может быть использован для добавления на ваш сайт инфографики, проектов Adobe Muse или интерактивных книг. Вы можете легко редактировать шрифты, цвета и значения. Файлы можно редактировать в Adobe Edge CC .
Видео демо | Скачать

Сергей Бензенко автор-переводчик статьи « 22 Free jQuery CSS3 Progress Bar Plugins »