по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
📓🦙 NotebookLlama — open-source альтернатива NotebookLM!
Практически полный функционал NotebookLM — в опенсорсе.
✔️ Собирает базу знаний из документов — с точным разбором через LlamaCloud
✔️ Автоматически пишет резюме и строит mind map-графы
✔️ Позволяет генерировать подкасты (работает на базе ElevenLabs)
✔️ Позволяет вести чат с агентом по документам
✔️ Метрики и аналитика через opentelemetry
🛠 Всё в открытом репо — можешь форкать, кастомизировать, заменять компоненты под себя.
Установка:
git clone https://github.com/run-llama/notebookllama
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pro_python_code
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot -
📕Ит-книги: /channel/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
🧩 Задача для разминки
Что выведет этот код? Попробуй догадаться без запуска.
class Sneaky:
def __eq__(self, other):
print("Comparing!")
return True
a = Sneaky()
b = [a]
print(a in b)
print(a == b[0])
print(b.count(a))
⚔️ LIEF — мощная библиотека для работы с исполняемыми файлами, которая поддерживает ELF, PE и MachO-форматы. Этот проект позволяет не только анализировать структуру бинарников, но и модифицировать их — добавлять секции, менять символы или даже работать с Objective-C метаданными.
Инструмент выделяется кроссплатформенностью и мультиязычным API (Python, Rust, C++). Библиотека умеет дизассемблировать код под разные архитектуры и интегрируется с Ghidra/BinaryNinja. Будет полезно для реверс-инжиниринга, анализа вредоносного ПО или кастомной линковки.
🤖 GitHub
@pythonl
🎯 Хочешь следить за загрузкой своей GPU прямо из Python?
Вот простой скрипт, который показывает текущую загрузку видеокарты NVIDIA (через `nvidia-smi`). Подходит для мониторинга в ML-задачах, инференсе и просто для интереса.
📦 Зависимости: установленный nvidia-smi
и Python 3.6+
🧠 Код:
import subprocess
def get_gpu_utilization():
try:
result = subprocess.check_output(
['nvidia-smi', '--query-gpu=utilization.gpu,memory.used,memory.total',
'--format=csv,nounits,noheader'],
encoding='utf-8'
)
lines = result.strip().split('\n')
for idx, line in enumerate(lines):
gpu_util, mem_used, mem_total = map(str.strip, line.split(','))
print(f"🖥 GPU {idx}: {gpu_util}% load | {mem_used} MiB / {mem_total} MiB")
except FileNotFoundError:
print("❌ nvidia-smi not found. Make sure NVIDIA drivers are installed.")
except Exception as e:
print(f"⚠️ Error: {e}")
get_gpu_utilization()
GPU 0: 23% load | 412 MiB / 8192 MiB
🖥 5 необычных Python‑проекта для продвинутых разработчиков — которые можно собрать за выходные
Хочешь не просто пописать код, а взорвать мозг? Вот 5 уникальных идей, которые объединяют ИИ, терминальные интерфейсы, сетевое взаимодействие и системное программирование. Каждый проект можно собрать за 1–2 дня, если знаешь, с какой стороны подойти.
🧠 1. Self-Healing CLI‑агент (автоматический отладчик ошибок)
🔹 Идея: Напиши CLI-инструмент, который анализирует ошибки в Python‑скриптах и предлагает (или вносит) правки к коду автоматически с помощью LLM.
🔧 Как реализовать:
• Используй subprocess
для запуска целевого скрипта и перехвата stderr
• Извлеки traceback → отправь в OpenAI / LM Studio через API
• Получи фикс → распарси результат и применяй его к AST с помощью RedBaron
или ast
• Верифицируй: перезапусти код и проверь, исчезла ли ошибка
• Добавь флаг --auto-fix
и интерактивный режим
🧩 Применение: автопомощник в CI/CD, дебагер в редакторах, обучающий инструмент
📡 2. P2P-блокнот с mesh-синхронизацией
🔹 Идея: Заметки, которые синхронизируются без облака — через локальную сеть или Bluetooth, используя ZeroConf.
🔧 Как реализовать:
• zeroconf
для автоматического обнаружения других устройств
• sqlite
как локальное хранилище + watchdog
для отслеживания изменений
• pynacl
для шифрования трафика
• Используй TCP/UDP сокеты для передачи изменений
• Можно добавить визуальный CLI с urwid
или textual
🧩 Применение: приватные P2P‑заметки, оффлайн-заметки в экспедициях, лайтовый knowledge base
🧬 3. AI‑отладчик чужого репозитория
🔹 Идея: Инструмент, который загружает чужой репозиторий, строит граф зависимостей и автоматически находит баги, недочёты, недокументированный код — и объясняет их.
🔧 Как реализовать:
• gitpython
для клонирования проекта
• networkx
или pydeps
для визуализации модульной структуры
• mypy
, flake8
, pylint
и bandit
для анализа
• Сводка отправляется в LLM (например, OpenAI API) для пояснений: "вот потенциально уязвимый участок, вот почему"
• Визуализируй через rich
, graphviz
, или в браузере через streamlit
🧩 Применение: ревью чужого кода, onboarding новых участников в open-source
🎮 4. CLI-игра с live‑физикой прямо в терминале
🔹 Идея: Реализуй рогалик или простую 2D-игру с настоящей физикой (гравитацией, столкновениями) в терминале.
🔧 Как реализовать:
• curses
или blessed
для отрисовки
• pymunk
или box2d
для физики (адаптируй под 2D-сцену)
• Все объекты — текстовые символы
• События обрабатываются через asyncio
, и всё должно работать в real‑time
• Можно добавить оружие, отскоки, ловушки и интерактивные зоны
🧩 Применение: визуальное развлечение, обучение физике, красивое демо для хакатона
🕵️ 5. AI-инспектор Linux-системы
🔹 Идея: Создай скрипт, который в реальном времени следит за файлами, сетями, процессами, и при странной активности — показывает, почему это может быть подозрительно (с пояснением от ИИ).
🔧 Как реализовать:
• Используй psutil
, inotify
, socket
, netifaces
• Собирай метрики: кто пишет в /tmp
, кто открывает нестандартные порты, кто занимает слишком много CPU
• Фильтруй необычные события → формируй контекст → передавай в LLM
• ИИ объясняет: "этот процесс пытается слушать порт 4444 в фоне — это может быть реверс‑шелл"
• CLI-интерфейс через rich
или textual
🧩 Применение: оффлайн-альтернатива Falcon / CrowdStrike, полезный тул
💡 Всё это можно собрать за 1–2 дня, если уже умеешь работать с Python-инструментами, API и системными вызовами. И каждый проект можно расширять в полноценный open-source продукт.
@pythonl
#python #weekendprojects #ai #cli #sysadmin #funprojects #hackathon #opensource
🎭 Playwright MCP: AI-доступ к браузеру через Model Context Protocol
Playwright MCP — это сервер Model Context Protocol поверх Microsoft Playwright, который позволяет LLM управлять полноценным браузером через структурированные данные, а не по скриншотам.
• Доступ к accessibility tree
– MCP-клиенты получают иерархию элементов страницы (кнопки, поля, ссылки) вместо изображений, что делает навигацию быстрой и детерминированной :contentReference[oaicite:0]{index=0}
• Множественные подключения
– Поддержка нескольких клиентов к одной сессии: одновременное тестирование, отладка и мониторинг без лишних запусках браузера :contentReference[oaicite:1]{index=1}
• AI-автогенерация тестов
– В режиме Agent Mode Playwright MCP может самостоятельно исследовать приложение и писать готовые тесты на основе его поведения :contentReference[oaicite:2]{index=2}
• Высокая производительность
– Обходится без тяжёлых компьютерного зрения и OCR, экономит ресурсы и снижает флакущие ошибки сравнения скриншотов
• Простая настройка
– Установка через npm/yarn и запуск:
npm install playwright
npx playwright launch --server
const { chromium } = require('playwright');
const browser = await chromium.connectOverCDP('ws://localhost:PORT');
🖥 Как написать ещё более ужасный Python-код: часть 2
Первая часть - Как написать худший возможный Python-код здесь.
Если тебе показалось, что хуже уже некуда — ты просто не включал всё сразу.
Вот продолжение правил, которые гарантируют страдания будущих читателей твоего кода.
14. Используй side‑effects везде
Изменяй список внутри функции, возвращай None
, пусть никто не знает, что произошло.
def corrupt(data):
for i in range(len(data)):
data[i] = None
def handle_user_request(request):
log_request(request)
try:
response = requests.post(...)
save_to_db(json.loads(response.text)["data"])
except:
retry_later(request)
def outer():
def middle():
def inner():
print("deep")
inner()
middle()
from somewhere.unknown import *
import random
def calculate_discount():
return random.choice([0, 5, 10, 50])
user = {
"name": "Alice",
"age": "27",
"is_active": "true",
"joined": "2023-12-01"
}
try:
do_critical_operation()
except:
pass
print("entering loop")
print("value of x:", x)
print("loop end")
DEBUG_MODE = True
RETRY_COUNT = 3
import time
async def fetch_data():
time.sleep(3)
return "data"
def main():
# 600 строк бизнес-логики
pass
🐍 Python-задача: что выведет этот код с вложенными генераторами?
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))
[0, 1, 2]
, [0, 2, 4]
[0, 1, 2]
, []
[]
, [0, 2, 4]
[0, 1, 2]
, Ошибкаitertools.tee
для разветвления итератора.Что отличает настоящих профессионалов в аналитике данных?
Настоящие профессионалы в аналитике данных выделяются не просто техническими навыками, а глубоким пониманием бизнес-контекста. Они видят, как сухие цифры превращаются в стратегические решения, влияющие на прибыль компании и ее развитие.
Многие зацикливаются на изучении инструментов, упуская из виду главное — для чего эти инструменты нужны. Можно идеально владеть Python и SQL, но так и не научиться решать реальные бизнес-задачи.
Где учат аналитике, которая нужна бизнесу? В магистратуре НИУ ВШЭ и Karpov Courses «Аналитика больших данных». Посмотрите бесплатный вводный курс и узнайте, как строится программа и что даст вам диплом..
Спикеры курса — эксперты с реальным опытом: Анатолий Карпов (ex-VK, самый популярный эксперт в сфере аналитике, по данным NEWHR), Нерсес Багиян (Head of DS в Raiffeisen CIB) и другие.
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFJaLkFa
✔️ OpenAI выложили в открытый доступ Customer Service Agent Demo
Теперь у всех есть пример, как сделать продакшн-агентов с маршрутизацией, безопасностью и интерфейсом — от запроса до ответа.
Что это такое:
• Многоагентная система для поддержки клиентов (например: бронирование мест, отмена рейса, статус рейса, 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
📈 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
Выбираете магистратуру? Обратите внимание на бесплатные партнёрские программы Яндекса в топовых вузах России!
🔹 «Аппаратная разработка умных устройств» — межуниверситетская магистратура в НИУ ВШЭ и МФТИ. Вы будете решать реальные задачи, с которыми работают инженеры сервиса «Алиса и Умные устройства Яндекса».
🔹 «Искусственный интеллект в робототехнике» — программа в Сколтехе, основанная на опыте Яндекс Маркета. Вас ждёт работа с кейсами, где ИИ меняет процесс логистики и автоматизации.
Программы разрабатывались при участии экспертов Яндекса — действующих практиков в ML и Data Science, а также опытных преподавателей, — поэтому обучение построено на самых актуальных знаниях и реальных задачах.
🚀 Если хотите не просто получить диплом, а вырасти в сильного специалиста, переходите на сайт и выбирайте программу!
🤖 MiniMax Agent — новый универсальный ИИ-агент для сложных задач
Команда MiniMax представила MiniMax Agent — интеллектуального агента, способного решать многошаговые, долгосрочные и комплексные задачи.
Что умеет MiniMax Agent:
- Поддерживает комплексное и многошаговое планирование на уровне
- Разбиение задач на подзадачи и их исполнение
- МОщные инструменты генерации кода
- Мультимодальность
- Интеграция с MCP
🔗 https://agent.minimax.io
@ai_machinelearning_big_data
#AI #IntelligentAgent #MiniMax #MultiStepPlanning #Automation #ToolUse #MCP #LLM
Российский рынок СУБД демонстрирует рост — 41,7 млрд ₽ в 2025 году, +16% в год. Главные драйверы: импортозамещение и ИИ.
О приоритетах и текущей стратегии развития платформы данных Yandex Cloud рассказал Леонид Савченков:
— В центре внимания надёжность и масштабируемость — особенно для Postgres;
— Активное развитие опенсорса: вклад в Cloudberry (ASF), собственный pg-sharding, а YTsaurus может быть особенно полезен Python-разработчикам благодаря поддержке ML;
— YTsaurus и YDB теперь доступны для on-premise-развёртывания - решения можно запускать у себя;
— Обноваления платформы данных: в DataLens появился редактор графиков на JS, галерея дашбордов и сертификация аналитиков; улучшены механизмы шардирования, а также инструменты масштабирования и отказоустойчивости.
🔍 Отказоустойчивость, открытость и собственные разработки — ключ к суверенной инфраструктуре хранения и обработки данных.
Полное интервью
📊 Vizro — low-code инструмент для создания дашбордов на Python. Интересный проект для аналитиков и дата-инженеров, позволяющий собирать интерактивные дашборды буквально в несколько строк кода. Основан на связке Plotly + Dash + Pydantic, но скрывает сложность за простым декларативным синтаксисом в JSON/YAML/Python-словарях.
Библиотека имеет встроенные best practices по визуализации данных и возможность кастомизировать всё через Python/JS, когда low-code возможностей недостаточно. Готовые дашборды выглядят профессионально и сразу готовы к продакшену.
🤖 GitHub
@pythonl
🔥 CAI — ИИ для поиска багов от Alias Robotics
Что это такое?
CAI — лёгкий фреймворк для создания AI-агентов, которые помогают автоматизировать поиск и проверку уязвимостей.
Как это работает?
- Загружаете YAML-конфиги
Опишите сценарии поиска багов, тестов и отчётов в простых текстовых файлах.
- LLM-агенты
AI-модель эмулирует протоколы (SSH, HTTP, TCP и другие) и взаимодействует с целевыми системами как настоящий тестировщик.
- Генерация и «разогрев» данных
Создавайте синтетические запросы для обучения и быстро запускайте агента на своих данных.
- Оффлайн-оценка
Собирайте результаты тестов и анализируйте их без постоянного подключения к интернету.
Зачем использовать CAI?
- Ускоряет подготовку и запуск тестов безопасности
- Позволяет гибко настраивать шаги проверки
- Повышает прозрачность и повторяемость отчётов о найденных уязвимостях
Установка и запуск:
git clone https://github.com/aliasrobotics/cai.git
cd cai
# отредактируйте config.yaml и запустите агента
⚡️ PyOpenCL — ускоряем Python вычисления на GPU. Этот проект даёт доступ к технологии OpenCL прямо из Python, позволяя задействовать не только видеокарты, но и любые параллельные вычислительные устройства. Он сочетает низкоуровневый контроль с автоматической обработкой ошибок и привязкой жизненного цикла объектов.
Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд.
🤖 GitHub
@pythonl
🔟 однострочных функций, полезных для продвинутых Python-разработчиков:
1. Разворачиваем вложенных списков любой глубины
flatten = lambda lst: [x for sub in lst for x in (flatten(sub) if isinstance(sub, list) else [sub])]
memoize = lambda f: (lambda *args, _cache={}, **kwargs: _cache.setdefault((args, tuple(kwargs.items())), f(*args, **kwargs)))
chunked = lambda lst, n: [lst[i:i+n] for i in range(0, len(lst), n)]
uniq = lambda seq: list(dict.fromkeys(seq))
deep_get = lambda d, *keys: __import__('functools').reduce(lambda a, k: a.get(k) if isinstance(a, dict) else None, keys, d)
pretty_json = lambda obj: __import__('json').dumps(obj, ensure_ascii=False, indent=2)
tail = lambda f, n=10: list(__import__('collections').deque(open(f), maxlen=n))
sh = lambda cmd: __import__('subprocess').run(cmd, shell=True, check=True, capture_output=True).stdout.decode().strip()
path_join = lambda *p: __import__('os').path.join(*p)
group_by = lambda seq, key: {k: [d for d in seq if d.get(key) == k] for k in set(d.get(key) for d in seq)}
🚦 premier
— удобный инструмент для ограничения частоты вызовов в Python
Что это такое: premier
— это библиотека для контроля скорости вызовов функций в Python. Она помогает ограничить нагрузку на API, базу данных или любой другой ресурс, чтобы не получить отказ или блокировку.
📌 Возможности:
• Поддержка популярных алгоритмов: token bucket, fixed window, leaky bucket
• Работает как с обычными, так и с асинхронными функциями
• Поддерживает Redis и другие хранилища для распределённого ограничения
• Гибкая настройка: лимиты, ключи, длительность окна, своя логика
• Простое применение через декораторы
🧪 Пример:
from premier import throttler, ThrottleAlgo, RedisHandler
@throttler.fixed_window(quota=3, duration=5)
def request(url: str):
# максимум 3 вызова каждые 5 секунд
...
@throttler.token_bucket(quota=5, duration=60)
async def async_request(...):
# асинхронный токен-бакет
...
🛠️ Copier — удобный инструмент для создания и обновления проектов из шаблонов. Эта Python-утилита умеет работать как с локальными путями, так и с Git-репозиториями, подставляя переменные в файлы любого формата. Главная фишка Copier — это аккуратная работа с существующими файлами: он не перезаписывает их без явного указания.
Инструмент будет полезен тем, кто часто создаёт однотипные проекты или хочет автоматизировать их обновление. Шаблоны поддерживают сложную логику через Jinja2, а настройки задаются в простом YAML-формате. Для начала работы достаточно установить Copier через pipx или pip. Проект развивается при поддержке сообщества и доступен под лицензией MIT.
🤖 GitHub
@pythonl
📦 InvenTree — умная система учета для мастерских и инженерных проектов. Этот open-source инструмент — достойная замена Excel, которая поможет вам перестать страдать от перегруженных корпоративных систем.
Инструмент предлагает продуманный баланс между простотой и функциональностью: отслеживание деталей, управление несколькими складами, работа с партиями и серийными номерами — всё в одном месте.
📌 Особенности проекта:
— Гибкая интеграция через REST API и Python-модули
— Мобильные приложения для iOS/Android со сканированием штрих-кодов
— Плагинная система для кастомизации под конкретные нужды
— Простой деплой — от Docker до однострочной установки на Linux
🤖 GitHub
@pythonl
🌟 alphaXiv —выпустили расширение для хрома
alphaXiv упрощает работу с научными статьями (arXiv, bioRxiv, PDF):
● чат с ИИ прямо в документе: выделение текста открывает диалог
● ссылки на другие статье через “@” для быстрого вызова статей
● позволяет генерировать блог одним кликом: иллюстрации к статьям, ключевые идеи, перевод
● закладки и автоматические BibTeX-цитаты для хранения и ссылок
https://chromewebstore.google.com/detail/alphaxiv-understand-resea/liihfcjialakefgidmaadhajjikbjjab
@pythonl
🎨 MonsterUI — стильный UI для FastHTML на Python (от Answer.AI)
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))))
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()
🖥 Как написать худший возможный Python-код
Иногда проще показать, как не надо, чем объяснять, как надо.
Вот список «правил», которые помогут вам гарантированно испортить любой 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
result = [x if x > 0 else (y if y < 0 else z) for x in data if x or y and not z]
eval("d['" + key + "']")
value = "42"
value = int(value)
value = [value] * value
counter = 0
def increment():
global counter
counter += 1
if user.role == "xyz" and user.level > 42:
access_granted()
def foo():print("start")
if True:
print("yes")
else:
print("no")
def complex_logic(x):
return (lambda y: (lambda z: z**2)(y + 1))(x)
class HandlerFactory:
def get_handler(self):
class Handler:
def handle(self, x): return x
return Handler()
def legacy_feature():
print("This feature is deprecated")
return
# нигде не вызывается
def a(x): return x+1
# Просто запускай и смотри глазами
process_user(data)
🛠️ CRUDAdmin — генератор админок на Python за минутыcrudadmin
— это фреймворк на Python для моментальной генерации интерфейсов на основе SQLAlchemy-моделей.
🔹 Поддержка Flask и FastAPI
🔹 Автоматическая генерация CRUD-интерфейсов
🔹 Простая настройка и кастомизация форм
🔹 Поддержка авторизации и управления доступом
🔹 Пагинация, поиск, фильтры — всё из коробки
📦 Установка:
pip install crudadmin
📊 Deptry — детектор проблем с зависимостями в Python. Этот инструмент сканирует проект на расхождения между импортами в коде и задекларированными зависимостями. Он работает с Poetry, pip и PDM, находя три типа проблем: неиспользуемые пакеты, отсутствующие зависимости и модули, ошибочно помеченные как dev-зависимости.
Инструмент анализирует не только requirements.txt,
но и динамические импорты черезависимостями что снижает количество ложных срабатываний. Для настройки можно использовать как CLI-аргументы, так и секцию [tool.deptry]
в� Deptry — детекто
🤖 GitHub
@pythonl
🎯 Практическое руководство: Signals — реактивное управление состоянием в Python
Недавно вышло отличное руководство «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()
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])
🖥 Совет по Python:
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'
🐍 PyLeak — найди утечку памяти в своём Python-коде
PyLeak — простой и мощный инструмент для отладки утечек памяти в Python-приложениях.
🔍 Возможности:
• Показывает объекты, которые не удаляет сборщик мусора
• Строит граф зависимостей между объектами
• Выявляет циклические ссылки и "висящие" объекты
• Поддерживает визуализацию через Graphviz
📦 Установка:pip install pyleak
🧰 Идеален для отладки сервисов, где память утекает незаметно.
🔗 GitHub
@pythonl