PySnooper — это простая отладочная библиотека, которая автоматически логирует выполнение функций построчно.
Полезна для отслеживания значений переменных без необходимости вручную расставлять print() или запускать полноценный отладчик.
import pysnooper
@pysnooper.snoop()
def calculate_total(prices):
total = 0
for price in prices:
total += price
return total
result = calculate_total([10, 20, 30])
print("Итог:", result)
•
Текущее значение переменных,•
Каждую выполняемую строку,•
Финальный результат функции.➕ Преимущества:
@snoop("log.txt")
)pip install pysnooper
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14
icecream — это минималистичная библиотека для отладки, которая выводит переменные и выражения вместе с их именами.
Полезна при быстрой проверке значений без написания дополнительных print() и форматирования.
from icecream import ic
def divide(a, b):
ic(a, b)
return a / b
result = divide(10, 2)
ic(result)
ic| a: 10, b: 2
ic| result: 5.0
➕ Преимущества:
pip install icecream
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥4
sorcery — это удобная отладочная библиотека, которая позволяет печатать переменные с их именами с помощью магического
print(expr)
— без необходимости вручную писать имена.Полезна, когда нужно быстро выводить значения переменных для отладки, но лень писать
f"{var=}"
или использовать ic()
.from sorcery import spell
@spell
def test():
name = "Alice"
age = 30
print(name, age) # Автоматически напечатает: name='Alice', age=30
test()
name='Alice', age=30
➕ Преимущества:
pip install sorcery
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
cloup — это расширение для Click, добавляющее поддержку группировки опций, взаимных зависимостей и контекстных ограничений.
Полезно, если ты создаёшь сложные CLI-инструменты с множеством параметров и хочешь сделать интерфейс логичным и защищённым от ошибок пользователя.
import cloup
from cloup import option_group
@cloup.command()
@option_group(
"Авторизация",
cloup.option("--user", help="Имя пользователя"),
cloup.option("--token", help="API токен")
)
@option_group(
"Настройки вывода",
cloup.option("--verbose", is_flag=True),
cloup.option("--json", is_flag=True)
)
def cli(user, token, verbose, json):
print(f"👤 User: {user}, Token: {token}")
print(f"🔧 Verbose: {verbose}, JSON: {json}")
if __name__ == "__main__":
cli()
➕ Преимущества:
--help
pip install cloup
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥2
PyFunctional — это мощная библиотека для декларативной обработки коллекций в стиле функционального программирования. Позволяет применять map, filter, reduce и другие операции к потокам данных с лаконичным синтаксисом.
Идеально подходит, если ты хочешь работать с данными в цепочках и писать код, близкий к Scala или LINQ.
from functional import seq
# Работа с коллекцией: фильтрация, преобразование, агрегация
data = seq([1, 2, 3, 4, 5]) \
.filter(lambda x: x % 2 == 0) \
.map(lambda x: x * 10) \
.reduce(lambda x, y: x + y)
print(data) # 60
# Обработка строк и списков словарей
names = seq(["Alice", "Bob", "Charlie"]).map(str.upper).to_list()
print(names) # ['ALICE', 'BOB', 'CHARLIE']
users = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 20},
{"name": "Charlie", "age": 25}
]
youngest = seq(users).min_by(lambda u: u["age"])
print(youngest) # {'name': 'Bob', 'age': 20}
➕ Преимущества:
filter
, map
, group_by
, sum
, reduce
, flatten
pip install PyFunctional
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4