Skip to content

drawiks/dcolor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 dcolor

Python 3.7+ License MIT Status

dcolor — цветной вывод в терминал с поддержкой hex/rgb

(─‿‿─)

     ____
    / __ \ ______ ____   / /____  _____
   / / / // ____// __ \ / // __ \/ ___/
  / /_/ // /____/ /_/ // // /_/ / /
 /_____/ \____/ \____//_/ \____/_/

📦 установка

pip install dcolor-drawiks

📑 быстрый старт

from dcolor import color

print(color("привет!", "#ff0000"))
print(color("привет!", (255, 0, 0)))
print(color("привет!", "red"))
print(color("привет!", "#ff0000", "bold", "underline"))

🧩 возможности

  • 🎨 hex цвета"#ff0000" или "#f00"
  • 🌈 rgb цвета(255, 0, 0)
  • 🔢 256-цветовая палитра196 (0-255)
  • 🏷️ именованные цвета"red", "cyan", "orange"...
  • 🎭 background цветаbg="#ff0000"
  • стилиbold, italic, underline, strike, dim, blink
  • 📱 автоопределение терминала — не красит в piped вывод
  • 🚫 без зависимостей — только stdlib

📖 использование

hex цвет

from dcolor import color

print(color("ошибка", "#ff0000"))
print(color("успех", "#00ff00"))
print(color("инфо", "#3b82f6"))

короткий hex тоже работает:

print(color("текст", "#f00"))  # то же что и #ff0000

rgb цвет

print(color("текст", (255, 165, 0)))

256-цветовая палитра

print(color("текст", 196))              # оранжевый
print(color("текст", fg=196, bg=21))    # оранжевый текст на синем фоне

поддерживаются цвета 0-255 (см. 256 цветов терминала)

именованные цвета

print(color("текст", "red"))
print(color("текст", "cyan"))
print(color("текст", "orange"))

доступные имена: black, red, green, yellow, blue, magenta, cyan, white, grey, orange, pink, purple, brown, lime, teal

стили

print(color("текст", "red", "bold"))
print(color("текст", "#ff0000", "bold", "underline"))
print(color("текст", "cyan", "italic", "strike"))

доступные стили: bold, dim, italic, underline, blink, strike

background цвет

print(color("текст", fg="#ffffff", bg="#ff0000"))  # белый на красном
print(color("текст", bg="#00ff00"))                 # только фон

только стиль (без цвета)

print(color("текст", None, "bold"))
print(color("текст", None, "underline", "italic"))

убрать ansi коды

from dcolor import strip

raw = color("привет", "#ff0000", "bold")
clean = strip(raw)  # "привет"

автоопределение терминала

по умолчанию dcolor не красит текст, если вывод идёт в файл или пайп:

python script.py > log.txt          # без цветов
python script.py | cat              # без цветов
python script.py                    # с цветами (в терминале)

принудительно включить цвета:

print(color("текст", "#ff0000", force=True))  # всегда с цветами

💡 примеры

from dcolor import color

print(color("[ERROR]",   "#ff4444", "bold"), "что-то пошло не так")
print(color("[SUCCESS]", "#44ff44", "bold"), "всё хорошо")
print(color("[WARN]",    "#ffaa00", "bold"), "осторожно")
print(color("[INFO]",    "#888888"),         "просто инфо")

использование в dlogger

from dlogger import logger
from dcolor import color

logger.info(color("платёж получен", "#44ff44", "bold"))
logger.error(color("соединение потеряно", "#ff4444"))

📜 лицензия

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Contributors

Languages