This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Малоизвестный совет по Python: используй pyparsing вместо громоздких и тяжёлых regex.
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
@Python_Community_ru
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
@Python_Community_ru
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Python трюк: сортировка namedtuple
Вместо словарей можно использовать namedtuple для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
@Python_Community_ru
Вместо словарей можно использовать namedtuple для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
@Python_Community_ru
🚀 Django 6.0 — уже в пути!
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@Python_Community_ru
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@Python_Community_ru
🔥3
🖥 Leviathan (https://github.com/kython28/leviathan) — это сверхбыстрая библиотека для Python, реализующая цикл событий (event loop) для asyncio на базе языка Zig!
🌟 Она обеспечивает высокую производительность, полную совместимость с asyncio и простоту интеграции в проекты. Leviathan нацелен на минимизацию задержек и оптимизацию производительности по сравнению со стандартными циклами событий Python.
🔐 Лицензия: MIT
🖥 Github (https://github.com/kython28/leviathan)
@Python_Community_ru
🌟 Она обеспечивает высокую производительность, полную совместимость с asyncio и простоту интеграции в проекты. Leviathan нацелен на минимизацию задержек и оптимизацию производительности по сравнению со стандартными циклами событий Python.
🔐 Лицензия: MIT
🖥 Github (https://github.com/kython28/leviathan)
@Python_Community_ru
🎨 Улучшение изображений с помощью SRPO
SRPO — это метод, который оптимизирует процесс восстановления изображений с высокой степенью шума, используя новую стратегию выборки и прямую обратную связь. Он обеспечивает более быструю и стабильную тренировку моделей, минимизируя вычислительные затраты и избегая проблем с переобучением.
🚀Основные моменты:
- Эффективное восстановление изображений с высокой степенью шума.
- Ускоренная тренировка за счет оптимизации с аналитическими градиентами.
- Отсутствие проблем с "взломом" вознаграждений.
- Динамическое управление текстовыми условиями для настройки предпочтений.
📌 GitHub: https://github.com/Tencent-Hunyuan/SRPO
@Python_Community_ru
SRPO — это метод, который оптимизирует процесс восстановления изображений с высокой степенью шума, используя новую стратегию выборки и прямую обратную связь. Он обеспечивает более быструю и стабильную тренировку моделей, минимизируя вычислительные затраты и избегая проблем с переобучением.
🚀Основные моменты:
- Эффективное восстановление изображений с высокой степенью шума.
- Ускоренная тренировка за счет оптимизации с аналитическими градиентами.
- Отсутствие проблем с "взломом" вознаграждений.
- Динамическое управление текстовыми условиями для настройки предпочтений.
📌 GitHub: https://github.com/Tencent-Hunyuan/SRPO
@Python_Community_ru
👍1
📚✨ Lue - Умный терминальный ридер с TTS
Lue — это терминальный ридер электронных книг, поддерживающий множество форматов, включая EPUB и PDF. Он предлагает текст в речь с возможностью настройки скорости воспроизведения и синхронизации с выделением слов, что улучшает восприятие текста.
🚀Основные моменты:
- Поддержка форматов: EPUB, PDF, TXT и др.
- Модульная система TTS с Edge и Kokoro.
- Кроссплатформенность: macOS, Linux, Windows.
- Настройка скорости воспроизведения от 1x до 3x.
- Удобный интерфейс с поддержкой мыши и клавиатуры.
📌 GitHub: https://github.com/superstarryeyes/lue
@Python_Community_ru
Lue — это терминальный ридер электронных книг, поддерживающий множество форматов, включая EPUB и PDF. Он предлагает текст в речь с возможностью настройки скорости воспроизведения и синхронизации с выделением слов, что улучшает восприятие текста.
🚀Основные моменты:
- Поддержка форматов: EPUB, PDF, TXT и др.
- Модульная система TTS с Edge и Kokoro.
- Кроссплатформенность: macOS, Linux, Windows.
- Настройка скорости воспроизведения от 1x до 3x.
- Удобный интерфейс с поддержкой мыши и клавиатуры.
📌 GitHub: https://github.com/superstarryeyes/lue
@Python_Community_ru
🎁 Авто-бот для покупки подарков в Telegram
Этот бот автоматически ищет и покупает подарки по заданным критериям, интегрируясь с Telegram. Он предлагает настраиваемые параметры и способен быстро обрабатывать заказы.
🚀 Основные моменты:
- Полностью автоматический поиск новых подарков
- Высокая скорость покупки (более 5 подарков в секунду)
- Интеграция с Telegram-ботом
- Настраиваемые параметры для фильтрации подарков
- Постоянный мониторинг доступных подарков
📌 GitHub: https://github.com/ThunderTo/Gift-Buyer-Tg
#python
@Python_Community_ru
Этот бот автоматически ищет и покупает подарки по заданным критериям, интегрируясь с Telegram. Он предлагает настраиваемые параметры и способен быстро обрабатывать заказы.
🚀 Основные моменты:
- Полностью автоматический поиск новых подарков
- Высокая скорость покупки (более 5 подарков в секунду)
- Интеграция с Telegram-ботом
- Настраиваемые параметры для фильтрации подарков
- Постоянный мониторинг доступных подарков
📌 GitHub: https://github.com/ThunderTo/Gift-Buyer-Tg
#python
@Python_Community_ru
👍1
🚀 Обучение LLM-агентов для многоповоротного принятия решений
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@Python_Community_ru
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@Python_Community_ru