TGViewer
[PYTHON:TODAY] [PYTHON:TODAY] @python2day · 63.7K subscribers
Post #7611 14.3K
⚡️ halo — простейший инструмент, который позволяет создавать красивые спиннеры для терминала.

Позволяет добавлять в скрипты анимированный индикатор загрузки + статусы вроде ✔️ / ✖️ / ⚠️

Что умеет:
💬 Много встроенных спиннеров (например dots, line и т.д.) и выбор своего набора кадров.
💬 Настройка текста, цвета спиннера и даже цвета текста (text_color), положение слева/справа (placement).
💬 Удобные режимы использования: обычный .start()/.stop(), контекст-менеджер with, и даже декоратор.
💬 Статусы: .succeed(), .fail(), .warn(), .info(), плюс stop_and_persist() для своего символа/текста.

⚙️ Простая установка:
pip install halo


Примеры использования:

🟢Базовый сценарий: старт → работа → успех/ошибка

import time
from halo import Halo

spinner = Halo(text="Собираю данные", spinner="dots", color="cyan")
spinner.start()

try:
time.sleep(2) # имитация работы
spinner.succeed("Готово: данные собраны ✔️")
except Exception:
spinner.fail("Упс: что-то пошло не так ✖️")


🟢Динамика: меняем текст/цвет/спиннер по ходу дела

import time
from halo import Halo

spinner = Halo(text="Шаг 1/3", spinner="dots", color="cyan")
spinner.start()

time.sleep(1)
spinner.text = "Шаг 2/3: обработка"
spinner.color = "magenta"

time.sleep(1)
spinner.spinner = "line"
spinner.text = "Шаг 3/3: финализация"

time.sleep(1)
spinner.succeed("Всё готово!")


🟢Свой кастомный спиннер (своими кадрами)

import time
from halo import Halo

my_spinner = {
"interval": 120,
"frames": ["▖", "▘", "▝", "▗"]
}

spinner = Halo(text="Кручу свой спиннер", spinner=my_spinner, color="blue")
spinner.start()
time.sleep(2)
spinner.stop_and_persist(symbol="✅", text="Сделано")


♎️ GitHub/Инструкция

halo особенно хорошо заходит в CLI-утилитах (argparse/typer/click) — спиннер превращает “молчаливую паузу” в понятный прогресс и повышает доверие к инструменту.

🙂 Секреты админа | 📲 Max

#python #soft #github
  • 👍 43
  • ❤ 16
  • 🔥 2
More from @python2day
  1. Oct 3, 2026💀 В Шанхае работает огромный порт, где почти нет кожаных мешков Контейнеры на терминале п…
  2. Oct 3, 2026Claude снова банит пользователей из РФ На этой неделе многим пришли письма от Anthropic: а…
  3. Oct 3, 2026🔥 Нейронка, которая превращает обычные фотографии в 3D-сцену за считанные секунды VGGT (V…
  4. Oct 3, 2026💀 Раньше в ботофермах использовали настоящие смартфоны, теперь только ИИ С добрым утром �…
  5. Oct 2, 2026🤪 Глава NVIDIA Дженсен Хуанг заявил о наступлении «Эры низкого IQ» По словам Дженсена, в…
  6. Oct 2, 2026🐍Чел в костюме цифры 100 ходит по ВШЭ, и это не посвят первокурсников. Это блогер Леша Иг…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →