Python_BE1
9 subscribers
748 photos
251 videos
7 files
672 links
Канал по Python, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
📄 Превращайте тысячи PDF в данные, готовые для LLM - с Vision-First Agentic Document AI!

LandingAI представила Agentic Document Extraction (ADE) DPT-2 Mini - облегчённую версию Document Pretrained Transformer 2, специально для потоковой обработки документов.

Идеально для “чистых” цифровых PDF, где визуальный контекст всё ещё важен для точного извлечения.

Подходит для:
• счетов
• договоров
• писем
• служебных записок
• любых аккуратно сформированных PDF

Основные возможности:

• Структурированное извлечение из цифровых документов
• Точное понимание макета простых PDF
• Поддержка разных типов блоков: параграфы, изображения, логотипы, карточки и т.д.
• Надёжная транскрипция английского текста
• Оптимизация под масштаб — быстро, стабильно, экономично

DPT-2 Mini ориентирован на скорость, надёжность и низкую стоимость — когда документы простые, а нужно массовое и чистое структурированное извлечение.

https://github.com/landing-ai/ade-python

@python_be1
🖥 Python: Почему твой asyncio-код тормозит и блокируется?

Чаще всего проблема не в самом asyncio, а в том, что внутри async-функций ты вызываешь блокирующий код. Например, time.sleep, requests.get, тяжёлые циклы с вычислениями или работа с диском без специальных обёрток. Такой вызов останавливает весь event loop, и остальные корутины тупо ждут.

Главное правило: внутри async-функций каждая долгая операция должна либо быть асинхронной (через await), либо вынесена в поток или процесс. Если в корутине нет нормальных await, она вообще не отдаёт управление циклу, и твой «асинхронный» код ведёт себя как обычный синхронный.

Используй:
- асинхронные библиотеки (aiohttp вместо requests и т.п.);
- asyncio.sleep вместо time.sleep;
- asyncio.to_thread или отдельный процесс для тяжёлых синхронных задач.

Как только уберёшь блокирующие вызовы из корутин, код перестанет «залипать» и начнёт реально работать параллельно по I/O.

```

import asyncio
import time

async def bad_task():
print("start bad")
time.sleep(2)
print("end bad")

async def good_task():
print("start good")
await asyncio.to_thread(time.sleep, 2)
print("end good")

async def main():
await asyncio.gather(bad_task(), good_task())

asyncio.run(main())

```

https://www.youtube.com/shorts/LZgy5YvQR4o

@python_be1
🖥 Как организовать архитектуру большого Python-проекта?

Разработка крупного Python-проекта требует продуманной архитектуры. Правильная структура кода упрощает развитие, тестирование и поддержку приложения.

В этой статье мы рассмотрим ключевые принципы архитектурной организации для разных типов проектов - веб-приложений, библиотек, микросервисов и систем обработки данных.

Обсудим разделение системы на слои (domain, service, infrastructure), использование популярных шаблонов проектирования (Dependency Injection, Repository, Facade), организацию кода по модулям и пакетам, примеры структуры каталогов, работу с зависимостями и конфигурацией (Pydantic, dotenv), логгирование и мониторинг, обеспечение тестируемости, поддержку расширяемости и модульности.

Также приведем примеры кода и структуры каталогов, а в конце – общие советы и распространенные ошибки, которых следует избегать.

https://uproger.com/kak-organizovat-arhitekturu-bolshogo-python-proekta/

@python_be1
🐍⚙️ Продвинутый Python + Docker совет для production:

Используй multi-stage builds + wheels cache - это радикально уменьшает размер образа и ускоряет сборки.

В первом этапе собираешь wheels (компилируемые пакеты), а во втором — устанавливаешь их уже в чистый runtime-слой:

```

FROM python:3.12 AS builder
RUN pip install —upgrade pip
COPY requirements.txt .
RUN pip wheel —wheel-dir /wheels -r requirements.txt

FROM python:3.12-slim
COPY —from=builder /wheels /wheels
RUN pip install —no-index —find-links=/wheels -r /wheels/requirements.txt
COPY app/ /app

```
🔥 Плюс:
— быстрый rebuild
— детерминированные зависимости
— значительно меньше образ

Этот трюк мало кто использует, но он делает Docker-окружение Python уровня enterprise.

@python_be1
🚀 Большое обновление Qwen Code v0.2.2–v0.3.0

Два ключевых обновления:

🎯 Stream JSON
• `--output-format stream-json` — потоковый вывод
• `--input-format stream-json` — структурированный ввод
• 3-уровневая архитектура адаптеров + управление сессиями
• Идеально для SDK, автоматизации и CI/CD

🌍 Полная интернационализация
• Встроенные интерфейсы EN/CN + расширяемые языковые пакеты
• `/language ui zh-EN` - мгновенная смена языка
• `/language output English` - задаём язык ответов модели
• Сообщество может добавлять свои локализации 🌏

🛡️ Безопасность и стабильность выросли
• Защита от переполнения памяти
• Починили кодировки Windows
• Улучшена кроссплатформенность и определение ripgrep
• Переработана авторизация и управление authType
• Стабильный CI/CD и исправленные интеграционные тесты
• Поддержка провайдера ModelScope и stream_options
• Улучшены подсказки, уведомления в терминале и логика завершения промптов
• Множество внутренних фиксов - заметно более стабильная работа 💪

https://github.com/QwenLM/qwen-code

@python_be1
🧰 Подборка полезных скриптов для опытных Linux-админов

1) 🔍 Быстрый поиск крупных файлов (удобно перед очисткой диска)
du -ah / | sort -rh | head -n 30

2) 🛑 Массовое убийство зависших процессов по шаблону
pkill -f "pattern"

3) 🧼 Очистка старых логов/кэша старше X дней
find /var/log -type f -mtime +7 -delete

4) 🧬 Проверка файловой системы без остановки
fsck -n /dev/sdX

5) 📦 Список пакетов, обновлённых за последние 5 дней
grep "upgrade" /var/log/dpkg.log | tail

6) 🕵 Слежение за открытыми портами в реальном времени
watch -n1 "ss -tulpn"

7) 📊 Сбор top-нагружающих процессов по CPU за минуту
ps -eo pid,ppid,cmd,%mem,%cpu —sort=-%cpu | head

8) 🔁 Авто-рестарт службы при падении
while true; do systemctl restart myservice; sleep 5; done

9) 🔗 Быстрый тест сетевой задержки и MTU
tracepath google.com

10) 🔐 Сканирование слабых SSH-ключей
ssh-audit -p 22 localhost

Такие короткие утилитарные команды экономят кучу времени в рутине админа.

@python_be1
Рокировка не увенчалась успехом

🖥

@python_be1
🖊️ Google Research представила InkSight — систему, которая превращает сфотографанный рукописный текст в настоящие *цифровые рукописные данные*.

Что делает InkSight?

Берёт фото тетрадей, заметок или документов и переводит их в «цифровое перо» - данные, которыми можно редактировать, искать, хранить.

🧠 Под капотом:
• Vision Transformer (ViT) + mT5
• Обучение на чтение и письмо одновременно
• Без специальных планшетов - работает с обычными фото

💡 Возможности:
Обработка слов и целых страниц
Работает с разными языками и стилями письма
Корректно извлекает текст даже на шумном фоне
Результат - редактируемый векторный «ink», а не просто картинка

То есть InkSight — мост между бумажной реальностью и цифровым миром: сделал фото заметок → получил полный цифровой текст, пригодный для поиска и редактирования.

🔗 В репозитории доступны веса модели, датасет и пример кода:

github.com/google-research/inksight

@python_be1
Буст для Perplexity

Бесплатное расширение добавляет в ИИ-поисковик 25+ фич, которые раньше были только у конкурентов

— Быстрое переключение моделей
— Тестирование кода прямо в браузере
— Экспорт всех чатов с Perplexity
— Кастомизация чата под свой стиль и удобство

Забираем — тут (https://github.com/pnd280/complexity)

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Python: полезный совет

Автогенерация по теме Python

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
📝 Как быстро объяснить проект коллеге, если не знаешь, с чего начать

Иногда проще ответить на вопросы новичка, чем структурировать рассказ самому. Но когда сервис большой, а процессов много, легко запутаться: что упомянуть первым, какие детали важны, а что можно оставить на потом.

Голосовой ИИ-помощник ГигаЧат подсказывает, как выстроить объяснение так, чтобы оно было понятным с первого раза.

📌 В итоге один короткий диалог превращается в ясное объяснение, которое не требует пересказывать всё снова. Слушаем!

@python_be1
Git Cheatsheet - коротко и по делу
Настройка
`git config —global user.name "Name"` — задать имя
`git config —global user.email "email"` — задать почту
`git config —list` — показать настройки

Старт
`git init` — создать репозиторий
`git clone url` — клонировать репо

Стейджинг и коммиты
`git status` — статус
`git add .` — добавить все изменения
`git reset file` — убрать из стейджа
`git commit -m "msg"` — коммит
`git commit —amend` — исправить последний коммит

Ветки
`git branch` — список
`git branch name` — создать
`git checkout -b name` — создать и перейти
`git branch -d name` — удалить

Merge и Rebase
`git merge branch` — слить ветку
`git merge —abort` — отменить
`git rebase branch` — перебазирование

История
`git log —oneline` — компактная история
`git log —graph —all` — граф
`git diff` — показать изменения

Откат
`git restore file` — вернуть файл
`git reset —soft HEAD~1` — откатить коммит, сохранить изменения
`git reset —hard HEAD~1` — откатить и удалить изменения
`git clean -f` — удалить лишние файлы

Удалённые репозитории
`git remote -v` — список
`git push origin branch` — запушить
`git pull` — получить изменения
`git fetch` — только забрать

Теги
`git tag` — список
`git tag name` — создать
`git push origin —tags` — отправить теги

Stash
`git stash` — сохранить изменения
`git stash list` — список
`git stash apply` — применить

Поиск и анализ
`git blame file` — кто менял строки
`git grep "text"` — поиск
`git bisect` — бинарный поиск бага

Продвинутое
`git cherry-pick commit` — взять коммит
`git revert commit` — отменить коммит через новый
`git submodule add url` — добавить сабмодуль

Полезно сохранить под рукой.

@python_be1
Rust для микроконтроллерных систем #rustlung #rust #растhttps://t.me/rust_code - наш канал, для всех, кто любит и изучает Rust
https://t.me/addlist/2Ls-snqEeytkMDgy а здесь целая папка крутых
🔥 Наш Telegram канал о машинном обучении: https://t.me/
ресурсов для программистов, наслаждайтесь.

Подробное видел для начинающих, желающих изучить встроенный Rust, предлагая различные пути обучения в зависимости от их предварительного опыта. В видео изложены необходимые предварительные условия, такие как знание основ Rust и электроники, прежде чем перейти к встроенной разработке. Особое внимание уделяется рекомендациям по выбору оборудования, в частности, платам разработки ESP32 DevKit V1, из-за их доступности и простоты использования. Кроме того, текст предоставляет структурированные учебные планы и бесплатные ресурсы (книги, каналы YouTube) для тех, кто использует платы ESP32, Raspberry Pi Pico 2 или micro:bit v2. Руководство также упоминает важные дополнительные книги и ресурсы, такие как "The Embedded Rust Book" и Awesome Embedded Rust, для дальнейшего обучения.

Полное Rust собеседование! Обязательно посмотри перед интервью

- https://www.youtube.com/watch?v=K34fWMUInTo&t=10s

rust, embedded rust, systems programming, low level, microcontrollers, iot, firmware, bare metal, no_std, hardware, electronics, robotics, embedded systems, memory safety, performance, concurrency, real time, hal, drivers, stm32, esp32, rp2040, arm, risc v, open source, programming language

@python_be1
🖥 Гайд по продвинутому профессиональному использованию SQL

В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.).

Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы.

👉 Читать гайд (https://uproger.com/gajd-po-prodvinutomu-professionalnomu-ispolzovaniyu-sql/)

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Видимо, вкат в айти того стоил

🖥

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Ну почему у нас такого не было: принесли опенсорсный проект TeXPen, который превращает рукописные формулы и скриншоты сразу в LaTeX.

Работает в браузере на WebGPU/WebAssembly. Под капотом — TexTeller на 298 млн параметров, заточенная именно под рукописные и печатные формулы.

Студенты точно оценят (https://texpen.github.io/) 👍

@python_be1
🔥 Pyradio — бесплатная Python тулза, которая включает интернет-радио прямо из терминала.

Без браузера, без GUI и без мышки.

🗳 Установка:
```

sudo snap install pyradio

```
▶️ Использование:
Включаем случайную станцию:
```

pyradio —play

```

⬆️⬇️ выбираешь станцию стрелками
⏎ жмёшь Enter

♎️ GitHub/Инструкция (https://github.com/coderholic/pyradio)

#python #soft #github

@python_be1
Нарыл ультимативный инструмент, чтобы скармливать код нейросетям без боли и ручного копипаста 😊

Тулза сама собирает выбранные файлы проекта в один правильный промпт для ChatGPT или Claude. Больше не нужно прыгать по вкладкам и копировать код кусками 😘

Что умеет:
— Автоматически вырезает мусор;
— Форматирует выдачу в Markdown, JSON или XML с сохранением структуры папок;
— Позволяет гибко выбирать файлы через дерево проекта;
— Работает полностью локально, код никуда не утекает.

Промптим оптом (https://github.com/Muredsa/AiContextManager) 👍

@python_be1