Media is too big
VIEW IN TELEGRAM
💻 Copilot Agent Mode — новый этап в развитии AI-помощников для разработчиков
Теперь доступен всем в июньском обновлении Visual Studio!
🧠 Что умеет:
• Сам строит план разработки
• Выполняет задачи пошагово
• Адаптируется по ходу процесса
• Циклично доводит работу до завершения
Это уже не просто автодополнение — это полноценный агент, способный решать проектные задачи от начала до конца.
📖 Подробнее: https://msft.it/6018SQDuo
#VisualStudio #Copilot #AIdev #AItools #GitHubCopilot
#Copilot
@pythonl
Теперь доступен всем в июньском обновлении Visual Studio!
🧠 Что умеет:
• Сам строит план разработки
• Выполняет задачи пошагово
• Адаптируется по ходу процесса
• Циклично доводит работу до завершения
Это уже не просто автодополнение — это полноценный агент, способный решать проектные задачи от начала до конца.
📖 Подробнее: https://msft.it/6018SQDuo
#VisualStudio #Copilot #AIdev #AItools #GitHubCopilot
#Copilot
@pythonl
Уверены в своих навыках кодинга?
Тогда заглядывайте в канал Selectel. Всю неделю в канале будут выходить полезные материалы для разработчиков:
● Подробная инструкция, как сделать приложение на базе веб-технологий;
● Технические задачи для настоящих Python-энтузиастов;
● Идеи для pet-проектов: от генерации сложных паролей до нейросети для создания изображений;
● И даже выгодные продуктовые предложения, которые помогут воплотить идеи на инфраструктуре Selectel.
Подписывайтесь на канал и прокачивайте знания в сфере разработки ➡️
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwdjwRx
Тогда заглядывайте в канал Selectel. Всю неделю в канале будут выходить полезные материалы для разработчиков:
● Подробная инструкция, как сделать приложение на базе веб-технологий;
● Технические задачи для настоящих Python-энтузиастов;
● Идеи для pet-проектов: от генерации сложных паролей до нейросети для создания изображений;
● И даже выгодные продуктовые предложения, которые помогут воплотить идеи на инфраструктуре Selectel.
Подписывайтесь на канал и прокачивайте знания в сфере разработки ➡️
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwdjwRx
🐍 PyLeak — найди утечку памяти в своём Python-коде
PyLeak — простой и мощный инструмент для отладки утечек памяти в Python-приложениях.
🔍 Возможности:
• Показывает объекты, которые не удаляет сборщик мусора
• Строит граф зависимостей между объектами
• Выявляет циклические ссылки и "висящие" объекты
• Поддерживает визуализацию через Graphviz
📦 Установка:
🧰 Идеален для отладки сервисов, где память утекает незаметно.
🔗 GitHub
@pythonl
PyLeak — простой и мощный инструмент для отладки утечек памяти в Python-приложениях.
🔍 Возможности:
• Показывает объекты, которые не удаляет сборщик мусора
• Строит граф зависимостей между объектами
• Выявляет циклические ссылки и "висящие" объекты
• Поддерживает визуализацию через Graphviz
📦 Установка:
pip install pyleak
🧰 Идеален для отладки сервисов, где память утекает незаметно.
🔗 GitHub
@pythonl
Российский рынок СУБД демонстрирует рост — 41,7 млрд ₽ в 2025 году, +16% в год. Главные драйверы: импортозамещение и ИИ.
О приоритетах и текущей стратегии развития платформы данных Yandex Cloud рассказал Леонид Савченков:
— В центре внимания надёжность и масштабируемость — особенно для Postgres;
— Активное развитие опенсорса: вклад в Cloudberry (ASF), собственный pg-sharding, а YTsaurus может быть особенно полезен Python-разработчикам благодаря поддержке ML;
— YTsaurus и YDB теперь доступны для on-premise-развёртывания - решения можно запускать у себя;
— Обноваления платформы данных: в DataLens появился редактор графиков на JS, галерея дашбордов и сертификация аналитиков; улучшены механизмы шардирования, а также инструменты масштабирования и отказоустойчивости.
🔍 Отказоустойчивость, открытость и собственные разработки — ключ к суверенной инфраструктуре хранения и обработки данных.
Полное интервью
О приоритетах и текущей стратегии развития платформы данных Yandex Cloud рассказал Леонид Савченков:
— В центре внимания надёжность и масштабируемость — особенно для Postgres;
— Активное развитие опенсорса: вклад в Cloudberry (ASF), собственный pg-sharding, а YTsaurus может быть особенно полезен Python-разработчикам благодаря поддержке ML;
— YTsaurus и YDB теперь доступны для on-premise-развёртывания - решения можно запускать у себя;
— Обноваления платформы данных: в DataLens появился редактор графиков на JS, галерея дашбордов и сертификация аналитиков; улучшены механизмы шардирования, а также инструменты масштабирования и отказоустойчивости.
🔍 Отказоустойчивость, открытость и собственные разработки — ключ к суверенной инфраструктуре хранения и обработки данных.
Полное интервью
This media is not supported in your browser
VIEW IN TELEGRAM
from pathlib import Path
# Создаем объект Path для заданного пути к файлу
path = Path("C:/Users/test.md")
# Получаем имя файла вместе с расширением
print(path.name) # 'test.md'
# Получаем только имя файла без расширения
print(path.stem) # 'test'
# Получаем расширение файла (с точкой)
print(path.suffix) # '.md'
# Получаем родительскую директорию (папку)
print(path.parent) # 'C:/Users'
С помощью модуля pathlib вы можете получать различные части пути — имя файла, расширение, родительскую директорию. Это упрощает работу с файловыми путями и их анализ.
Объяснение:
- path.name — возвращает полное имя файла (например, test.md).
- path.stem — возвращает имя файла без расширения (например, test).
- path.suffix — возвращает расширение файла (например, .md).
- path.parent — возвращает путь к родительской директории (например, C:/Users).
Модуль pathlib позволяет удобно разбирать путь к файлу на части и работать с ними, не используя строковые операции вручную. Это особенно полезно для кроссплатформенной работы с файлами и папками.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
Команда MiniMax представила MiniMax Agent — интеллектуального агента, способного решать многошаговые, долгосрочные и комплексные задачи.
Что умеет MiniMax Agent:
- Поддерживает комплексное и многошаговое планирование на уровне
- Разбиение задач на подзадачи и их исполнение
- МОщные инструменты генерации кода
- Мультимодальность
- Интеграция с MCP
🔗 https://agent.minimax.io
@ai_machinelearning_big_data
#AI #IntelligentAgent #MiniMax #MultiStepPlanning #Automation #ToolUse #MCP #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Практическое руководство: Signals — реактивное управление состоянием в Python
Недавно вышло отличное руководство «The Missing Manual for Signals: State Management for Python Developers», где автор показывает, как внедрять реактивную модель на Python с помощью библиотеки
Почему Signals полезны
Стандартный подход—императивный—скрывает зависимости между переменными, что ведёт к ошибкам:
Если забыть обновить одно значение — всё сломается.
Как работают Signals
Signals = реактивные переменные, которые:
1. Хранят значение (`Signal`)
2. Автоматически вычисляют производные (`Computed`)
3. Выполняют побочные действия (`Effect`) на изменениях
Пример:
Теперь всё обновляется автоматически — вручную ничего делать не нужно.
Когда стоит применять
* Сложные производные значения, зависящие от нескольких источников
* Реальные Cascading-настройки, например, конфиг, кэши, соединения
* Сценарии real-time: дашборды, метрики, воркфлоу
Когда лучше не использовать
* Простые последовательные преобразования
* Одноразовые API-вызовы
* Прямолинейные функции (например, вычисление налога)
Основные преимущества
- ✅ Чёткое, декларативное управление зависимостями
- ✅ Обновления только нужных значений благодаря ленивому пересчёту
- ✅ Упрощение тестирования и устранение ошибок обновления
Реальные примеры
- Управление конфигурацией микросервисов
- Реализация real-time дашбордов
- Мониторинг состояния кластера, триггеры скейлинга
💡 Итог: Signals — отличная альтернатива громоздкому императиву.
Декларируешь связь один раз, и система сама поддерживает согласованность.
Полезно как для backend‑разработчиков, так и для ML‑инженеров.
📚 Материал — ~16 минут чтения, и он того стоит
📌 Читать
@pythonl
Недавно вышло отличное руководство «The Missing Manual for Signals: State Management for Python Developers», где автор показывает, как внедрять реактивную модель на Python с помощью библиотеки
Почему Signals полезны
Стандартный подход—императивный—скрывает зависимости между переменными, что ведёт к ошибкам:
class OrderService:
def add_order(self, order):
self.orders.append(order)
self.total += order.amount
self.avg = self.total / len(self.orders)
self.notify_if_needed()
self.track_analytics()
Если забыть обновить одно значение — всё сломается.
Как работают Signals
Signals = реактивные переменные, которые:
1. Хранят значение (`Signal`)
2. Автоматически вычисляют производные (`Computed`)
3. Выполняют побочные действия (`Effect`) на изменениях
Пример:
from reaktiv import Signal, Computed, Effect
orders = Signal([])
total = Computed(lambda: sum(o.amount for o in orders()))
avg = Computed(lambda: total() / len(orders()) if orders() else 0)
Effect(lambda: notify(avg()) if avg() > 100 else None)
orders.update(lambda os: os + [new_order])
Теперь всё обновляется автоматически — вручную ничего делать не нужно.
Когда стоит применять
* Сложные производные значения, зависящие от нескольких источников
* Реальные Cascading-настройки, например, конфиг, кэши, соединения
* Сценарии real-time: дашборды, метрики, воркфлоу
Когда лучше не использовать
* Простые последовательные преобразования
* Одноразовые API-вызовы
* Прямолинейные функции (например, вычисление налога)
Основные преимущества
- ✅ Чёткое, декларативное управление зависимостями
- ✅ Обновления только нужных значений благодаря ленивому пересчёту
- ✅ Упрощение тестирования и устранение ошибок обновления
Реальные примеры
- Управление конфигурацией микросервисов
- Реализация real-time дашбордов
- Мониторинг состояния кластера, триггеры скейлинга
💡 Итог: Signals — отличная альтернатива громоздкому императиву.
Декларируешь связь один раз, и система сама поддерживает согласованность.
Полезно как для backend‑разработчиков, так и для ML‑инженеров.
📚 Материал — ~16 минут чтения, и он того стоит
📌 Читать
@pythonl
Выбираете магистратуру? Обратите внимание на бесплатные партнёрские программы Яндекса в топовых вузах России!
🔹 «Аппаратная разработка умных устройств» — межуниверситетская магистратура в НИУ ВШЭ и МФТИ. Вы будете решать реальные задачи, с которыми работают инженеры сервиса «Алиса и Умные устройства Яндекса».
🔹 «Искусственный интеллект в робототехнике» — программа в Сколтехе, основанная на опыте Яндекс Маркета. Вас ждёт работа с кейсами, где ИИ меняет процесс логистики и автоматизации.
Программы разрабатывались при участии экспертов Яндекса — действующих практиков в ML и Data Science, а также опытных преподавателей, — поэтому обучение построено на самых актуальных знаниях и реальных задачах.
🚀 Если хотите не просто получить диплом, а вырасти в сильного специалиста, переходите на сайт и выбирайте программу!
🔹 «Аппаратная разработка умных устройств» — межуниверситетская магистратура в НИУ ВШЭ и МФТИ. Вы будете решать реальные задачи, с которыми работают инженеры сервиса «Алиса и Умные устройства Яндекса».
🔹 «Искусственный интеллект в робототехнике» — программа в Сколтехе, основанная на опыте Яндекс Маркета. Вас ждёт работа с кейсами, где ИИ меняет процесс логистики и автоматизации.
Программы разрабатывались при участии экспертов Яндекса — действующих практиков в ML и Data Science, а также опытных преподавателей, — поэтому обучение построено на самых актуальных знаниях и реальных задачах.
🚀 Если хотите не просто получить диплом, а вырасти в сильного специалиста, переходите на сайт и выбирайте программу!
📊 Deptry — детектор проблем с зависимостями в Python. Этот инструмент сканирует проект на расхождения между импортами в коде и задекларированными зависимостями. Он работает с Poetry, pip и PDM, находя три типа проблем: неиспользуемые пакеты, отсутствующие зависимости и модули, ошибочно помеченные как dev-зависимости.
Инструмент анализирует не только
🤖 GitHub
@pythonl
Инструмент анализирует не только
requirements.txt,
но и динамические импорты черезависимостями что снижает количество ложных срабатываний. Для настройки можно использовать как CLI-аргументы, так и секцию [tool.deptry]
в� Deptry — детекто 🤖 GitHub
@pythonl
📈 TradingAgents — мультиагентная LLM-платформа для алгоритмической торговли
🎉 TradingAgents официально открыт! После большого интереса со стороны сообщества разработчики решили выложить весь фреймворк в open-source.
🔧 Что такое TradingAgents:
• Это мультиагентная система, имитирующая работу реальной трейдинговой фирмы
• Каждый агент выполняет свою роль — от анализа данных до принятия решений
• Все агенты основаны на LLM-моделях и взаимодействуют между собой
👥 Роли агентов:
• Fundamentals Analyst — анализ финансовых показателей компаний
• Sentiment Analyst — оценка настроений по соцсетям и новостям
• News Analyst — отслеживание глобальных событий и их влияния на рынок
• Technical Analyst — прогноз на основе графиков, индикаторов (MACD, RSI и др.)
⚠️ Важно: проект предназначен для исследовательских целей и не является финансовой рекомендацией. Результаты могут зависеть от модели, данных и параметров генерации.
📦 Возможности:
• CLI и GUI-интерфейс
• Быстрый запуск и кастомизация
• Структура, готовая к масштабированию
🔗 Репозиторий: https://github.com/AI4Finance-Foundation/TradingAgents
#AItrading #LLM #MultiAgent #TradingAgents #fintech #opensource
🎉 TradingAgents официально открыт! После большого интереса со стороны сообщества разработчики решили выложить весь фреймворк в open-source.
🔧 Что такое TradingAgents:
• Это мультиагентная система, имитирующая работу реальной трейдинговой фирмы
• Каждый агент выполняет свою роль — от анализа данных до принятия решений
• Все агенты основаны на LLM-моделях и взаимодействуют между собой
👥 Роли агентов:
• Fundamentals Analyst — анализ финансовых показателей компаний
• Sentiment Analyst — оценка настроений по соцсетям и новостям
• News Analyst — отслеживание глобальных событий и их влияния на рынок
• Technical Analyst — прогноз на основе графиков, индикаторов (MACD, RSI и др.)
⚠️ Важно: проект предназначен для исследовательских целей и не является финансовой рекомендацией. Результаты могут зависеть от модели, данных и параметров генерации.
📦 Возможности:
• CLI и GUI-интерфейс
• Быстрый запуск и кастомизация
• Структура, готовая к масштабированию
🔗 Репозиторий: https://github.com/AI4Finance-Foundation/TradingAgents
#AItrading #LLM #MultiAgent #TradingAgents #fintech #opensource
🛠️ CRUDAdmin — генератор админок на Python за минуты
🔹 Поддержка Flask и FastAPI
🔹 Автоматическая генерация CRUD-интерфейсов
🔹 Простая настройка и кастомизация форм
🔹 Поддержка авторизации и управления доступом
🔹 Пагинация, поиск, фильтры — всё из коробки
📦 Установка:
🔗 GitHub
@pythonl
crudadmin
— это фреймворк на Python для моментальной генерации интерфейсов на основе SQLAlchemy-моделей.🔹 Поддержка Flask и FastAPI
🔹 Автоматическая генерация CRUD-интерфейсов
🔹 Простая настройка и кастомизация форм
🔹 Поддержка авторизации и управления доступом
🔹 Пагинация, поиск, фильтры — всё из коробки
📦 Установка:
pip install crudadmin
🔗 GitHub
@pythonl
Forwarded from Machinelearning
Теперь у всех есть пример, как сделать продакшн-агентов с маршрутизацией, безопасностью и интерфейсом — от запроса до ответа.
Что это такое:
• Многоагентная система для поддержки клиентов (например: бронирование мест, отмена рейса, статус рейса, FAQ)
• Демка написана на Python + Next.js
• Использует OpenAI Agents SDK
• Встроены guardrails: защита от неуместных запросов и попыток обхода правил
• UI: внутри готовый интерфейс чат-бота
Как работает:
1. Пользователь пишет запрос
2. Система выбирает подходящего агента (например, `SeatBooking`)
3. Агент отвечает или передаёт диалог другому
4. Есть fallback на человека, если нужно
Как запустить:
# Backend
cd python-backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn api:app --reload --port 8000
# Frontend
cd ui
npm install
npm run dev
Далее открываем:
http://localhost:3000
Особенности
• MIT-лицензия — можно адаптировать под свои задачи
• Удобно расширять: добавлять новых агентов, инструменты, правила
• Простой код, всё задокументировано
• Рабочий кейс от OpenAI
🔗 GitHub: github.com/openai/openai-cs-agents-demo
Если вы хотите собрать систему из агентов — это отличная точка старта.
@ai_machinelearning_big_data
#chatgpt #openai #aiagents #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Иногда проще показать, как не надо, чем объяснять, как надо.
Вот список «правил», которые помогут вам гарантированно испортить любой Python-проект.
1. 🔒 Используйте непонятные имена переменных
Называйте переменные
x
, y
, a
, thing
. Абстракция — залог путаницы.
def f(x, y, z=None):
a = x * 2
b = y + a if z else y - a
c = [i for i in range(a) if i % 2]
return sum(c) + b
2.🧠 Пихайте максимум логики в одну строку
Сложные тернарные выражения и вложенные list comprehension — всё в одной строке.
result = [x if x > 0 else (y if y < 0 else z) for x in data if x or y and not z]
3.⚠️ Используйте eval() и exec()
Это медленно, небезопасно и глупо — но зато эффектно.
eval("d['" + key + "']")
4.🔁 Переиспользуйте переменные с разными типами
Пусть одна переменная будет и строкой, и числом, и списком — динамическая типизация же!
value = "42"
value = int(value)
value = [value] * value
5.🌍 Используйте глобальные переменные
Изменяйте состояние приложения откуда угодно. Особенно изнутри функций.
counter = 0
def increment():
global counter
counter += 1
6.🔮 Используйте магические числа и строки
Без пояснений. Пусть коллеги гадают, почему именно 42 или "xyz".
if user.role == "xyz" and user.level > 42:
access_granted()
7.📏 Игнорируйте стиль и отступы
Никаких PEP8, никаких правил. Пиши, как хочешь.
def foo():print("start")
if True:
print("yes")
else:
print("no")
8.🧱 Копируйте код из Stack Overflow, не вникая
Ctrl+C — это тоже разработка.
def complex_logic(x):
return (lambda y: (lambda z: z**2)(y + 1))(x)
9.🧩 Придумывайте абстракции без надобности
Вместо простой функции — классы, фабрики и стратегии.
class HandlerFactory:
def get_handler(self):
class Handler:
def handle(self, x): return x
return Handler()
10. 💤 Добавляйте мёртвый код
Никогда не удаляй — вдруг пригодится. И пусть он грузится в каждый запуск.
def legacy_feature():
print("This feature is deprecated")
return
# нигде не вызывается
11.🔀 Не пишите документацию
Комментарии только мешают. Кто захочет — разберётся.
def a(x): return x+1
12.🧪 Пиши без тестов
Если код работает — зачем его проверять?
# Просто запускай и смотри глазами
process_user(data)
13. 🤖 Не используй AI и автодополнение
Только ручной кодинг, без подсказок. Ошибки — путь мастера.
🧠 Заключение
Все эти советы — примеры того, как не стоит писать код.
Если вы узнали себя — пора остановиться. Ведь Python задуман как язык, где важна читаемость, простота и явность.
"Beautiful is better than ugly.
Explicit is better than implicit.
Readability counts."
— The Zen of Python
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Что отличает настоящих профессионалов в аналитике данных?
Настоящие профессионалы в аналитике данных выделяются не просто техническими навыками, а глубоким пониманием бизнес-контекста. Они видят, как сухие цифры превращаются в стратегические решения, влияющие на прибыль компании и ее развитие.
Многие зацикливаются на изучении инструментов, упуская из виду главное — для чего эти инструменты нужны. Можно идеально владеть Python и SQL, но так и не научиться решать реальные бизнес-задачи.
Где учат аналитике, которая нужна бизнесу? В магистратуре НИУ ВШЭ и Karpov Courses «Аналитика больших данных». Посмотрите бесплатный вводный курс и узнайте, как строится программа и что даст вам диплом..
Спикеры курса — эксперты с реальным опытом: Анатолий Карпов (ex-VK, самый популярный эксперт в сфере аналитике, по данным NEWHR), Нерсес Багиян (Head of DS в Raiffeisen CIB) и другие.
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFJaLkFa
Настоящие профессионалы в аналитике данных выделяются не просто техническими навыками, а глубоким пониманием бизнес-контекста. Они видят, как сухие цифры превращаются в стратегические решения, влияющие на прибыль компании и ее развитие.
Многие зацикливаются на изучении инструментов, упуская из виду главное — для чего эти инструменты нужны. Можно идеально владеть Python и SQL, но так и не научиться решать реальные бизнес-задачи.
Где учат аналитике, которая нужна бизнесу? В магистратуре НИУ ВШЭ и Karpov Courses «Аналитика больших данных». Посмотрите бесплатный вводный курс и узнайте, как строится программа и что даст вам диплом..
Спикеры курса — эксперты с реальным опытом: Анатолий Карпов (ex-VK, самый популярный эксперт в сфере аналитике, по данным NEWHR), Нерсес Багиян (Head of DS в Raiffeisen CIB) и другие.
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFJaLkFa
🎨 MonsterUI — стильный UI для FastHTML на Python (от Answer.AI)
MonsterUI — это высокоуровневый слой поверх FastHTML, который позволяет быстро создавать красивые веб-интерфейсы на чистом Python без писанины HTML/CSS.
⚙️ Проблема
FastHTML и так упрощает фронтенд, но стильность UI требует громоздких классов или CSS-фреймворков (Tailwind, Bootstrap).
MonsterUI решает это, предоставляя готовые компоненты и умные настройки по умолчанию.
✨ Главные возможности
• Полюбившиеся Tailwind/FrankenUI/DaisyUI скрылки под капотом
• Удобные базовые компоненты:
• Семантический текст и стили (H1, P, Blockquote, etc.), оформленные по умолчанию
• Умные layout-хелперы:
• «Высокоуровневые» компоненты: навбар, модалка, таблицы — готовые шаблоны
• Автоматический рендер Markdown и подсветка кода
• Темы с выбором цветовой схемы, поддержкой light/dark режимов
🚀 Пример компонента
Всё чисто, семантично, без CSS-уродства и классов.
🔧 Старт
✅ Преимущества:
• Быстрый старт с современным UI
• Чистый, читаемый Python-код
• Гибкость в кастомизации через Tailwind
• Подтверждённая пригодность в продакшене
🔗 Подробнее: https://www.answer.ai/posts/2025/01/15/monsterui.html
@pythonl
#Python #WebDev #FastHTML #MonsterUI #Tailwind #HTMX #UI #OpenSource
MonsterUI — это высокоуровневый слой поверх FastHTML, который позволяет быстро создавать красивые веб-интерфейсы на чистом Python без писанины HTML/CSS.
⚙️ Проблема
FastHTML и так упрощает фронтенд, но стильность UI требует громоздких классов или CSS-фреймворков (Tailwind, Bootstrap).
MonsterUI решает это, предоставляя готовые компоненты и умные настройки по умолчанию.
✨ Главные возможности
• Полюбившиеся Tailwind/FrankenUI/DaisyUI скрылки под капотом
• Удобные базовые компоненты:
Button
, Card
, LabelInput
и др. • Семантический текст и стили (H1, P, Blockquote, etc.), оформленные по умолчанию
• Умные layout-хелперы:
DivVStacked
, Grid
, DivFullySpaced
и другие • «Высокоуровневые» компоненты: навбар, модалка, таблицы — готовые шаблоны
• Автоматический рендер Markdown и подсветка кода
• Темы с выбором цветовой схемы, поддержкой light/dark режимов
🚀 Пример компонента
def TeamCard(name, role, location="Remote"):
icons = ("mail", "linkedin", "github")
return Card(
DivLAligned(
DiceBearAvatar(name, h=24, w=24),
Div(H3(name), P(role))),
footer=DivFullySpaced(
DivHStacked(UkIcon("map-pin", height=16), P(location)),
DivHStacked(*(UkIconLink(icon, height=16) for icon in icons))))
Всё чисто, семантично, без CSS-уродства и классов.
🔧 Старт
pip install MonsterUI
from fasthtml.common import *
from monsterui.all import *
app, rt = fast_app(hdrs=Theme.blue.headers())
@rt
def index():
return Card(H1("Hello MonsterUI"), P("Приложение готово!"))
serve()
✅ Преимущества:
• Быстрый старт с современным UI
• Чистый, читаемый Python-код
• Гибкость в кастомизации через Tailwind
• Подтверждённая пригодность в продакшене
🔗 Подробнее: https://www.answer.ai/posts/2025/01/15/monsterui.html
@pythonl
#Python #WebDev #FastHTML #MonsterUI #Tailwind #HTMX #UI #OpenSource
🐍 Python-задача: что выведет этот код с вложенными генераторами?
🔍 Варианты:
• a)
• b)
• c)
• d)
💡 Разбор:
- `gen = (x for x in range(3))` — генератор 0, 1, 2
- `wrap(gen)` — создаёт **новый генератор**, который берёт значения из `gen` и умножает на 2
Но генераторы **исчерпаемы**: после первого полного прохода `list(gen)` → `gen` становится пустым
Значит:
- `list(gen)` → `[0, 1, 2]`
- `gen2 = wrap(gen)` теперь ссылается на **пустой** `gen`
- `list(gen2)` → `[]`
✅ **Правильный ответ: b) `[0, 1, 2]`, `[]`**
🧠 **Вывод:** если оборачиваешь генератор — не "прожигай" его до передачи дальше. Генераторы нельзя перезапустить или "перемотать".
🛠️ Совет: если данные нужны повторно — сохрани их в список:
``` python
data = list(gen)
```
или используй для разветвления итератора.
@pythonl
gen = (x for x in range(3))
def wrap(g):
return (x * 2 for x in g)
gen2 = wrap(gen)
print(list(gen))
print(list(gen2))
🔍 Варианты:
• a)
[0, 1, 2]
, [0, 2, 4]
• b)
[0, 1, 2]
, []
• c)
[]
, [0, 2, 4]
• d)
[0, 1, 2]
, Ошибка💡 Разбор:
- `wrap(gen)` — создаёт **новый генератор**, который берёт значения из `gen` и умножает на 2
Но генераторы **исчерпаемы**: после первого полного прохода `list(gen)` → `gen` становится пустым
Значит:
- `list(gen)` → `[0, 1, 2]`
- `gen2 = wrap(gen)` теперь ссылается на **пустой** `gen`
- `list(gen2)` → `[]`
✅ **Правильный ответ: b) `[0, 1, 2]`, `[]`**
🧠 **Вывод:** если оборачиваешь генератор — не "прожигай" его до передачи дальше. Генераторы нельзя перезапустить или "перемотать".
🛠️ Совет: если данные нужны повторно — сохрани их в список:
```
data = list(gen)
```
itertools.tee
This media is not supported in your browser
VIEW IN TELEGRAM
alphaXiv упрощает работу с научными статьями (arXiv, bioRxiv, PDF):
● чат с ИИ прямо в документе: выделение текста открывает диалог
● ссылки на другие статье через “@” для быстрого вызова статей
● позволяет генерировать блог одним кликом: иллюстрации к статьям, ключевые идеи, перевод
● закладки и автоматические BibTeX-цитаты для хранения и ссылок
https://chromewebstore.google.com/detail/alphaxiv-understand-resea/liihfcjialakefgidmaadhajjikbjjab
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM