Python RU
13.3K subscribers
950 photos
63 videos
40 files
1.21K links
Все для python разработчиков

админ - @notxxx1

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
🖥 Python: как убрать «тысячу мелких пакетов» в TCP и ускорить отправку без Nagle-лагов

Неочевидный, но очень полезный приём для высоконагруженных Python-сервисов, которые пишут в сокет маленькими кусками (заголовки, чанки и т.п.).

Проблема: множество send() приводит к лишним системным вызовам и маленьким TCP-сегментам. Если включён Nagle, мелкие посылки «склеятся», но вы получите задержки (особенно рядом с read()`/`write() пинг-понгом).

Решение: управляем склейкой вручную:
- На Linux используйте флаг MSG_MORE — ядро понимает, что «продолжение следует» и подержит пакет, пока вы не отправите финальный кусок без MSG_MORE.
- Альтернатива — временно включать TCP_CORK: ядро копит данные и шлёт крупным сегментом при снятии «пробки».
- Для передачи файлов после заголовков используйте os.sendfile() — это почти нулевые копирования (zero-copy).

Итого: меньше syscalls, крупнее сегменты, ниже latency-хвост без «магии» Nagle.


import os
import socket
import time
from contextlib import contextmanager

HAS_MSG_MORE = hasattr(socket, "MSG_MORE")
HAS_TCP_CORK = hasattr(socket, "TCP_CORK") # Linux only

@contextmanager
def tcp_cork(sock: socket.socket):
"""Временно включаем TCP_CORK (Linux), чтобы склеить мелкие записи."""
if HAS_TCP_CORK:
try:
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_CORK, 1)
yield
finally:
# Снятие «пробки» — ядро отправит накопленное
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_CORK, 0)
else:
# На не-Linux просто не делаем ничего
yield

def send_with_coalescing(sock: socket.socket, parts: list[bytes]):
"""
Отправляем несколько маленьких кусков как один крупный сегмент.
- Linux: предпочитаем MSG_MORE (проще, не требует cork).
- Иначе: объединяем буфером в памяти как fallback.
"""
if HAS_MSG_MORE:
# Все, кроме последнего, шлём с MSG_MORE
for chunk in parts[:-1]:
# может вернуть меньше; используем sendall для простоты
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1])
elif HAS_TCP_CORK:
# Включаем «пробку», шлём всё, затем снимаем
with tcp_cork(sock):
for chunk in parts:
sock.sendall(chunk)
else:
# Портативный fallback — склеиваем в памяти
sock.sendall(b"".join(parts))

def demo_http_like_response(conn: socket.socket, path_to_file: str | None = None):
# Пример: заголовки и небольшой body
headers = [
b"HTTP/1.1 200 OK\r\n",
b"Content-Type: text/plain\r\n",
b"Connection: close\r\n",
b"\r\n",
]
body = [b"Hello, ", b"world", b"!", b"\n"]

# 1) Заголовки + маленький body — аккуратно склеим
send_with_coalescing(conn, headers + body)

# 2) Большой файл после заголовков — лучше через sendfile (zero-copy)
if path_to_file and os.path.exists(path_to_file):
# В реальном сервере заголовки Content-Length/Type должны соответствовать файлу
with open(path_to_file, "rb") as f:
offset = 0
while True:
sent = os.sendfile(conn.fileno(), f.fileno(), offset, 1 << 20) # 1 MiB
if sent == 0:
break
offset += sent

def simple_server(port=9090, file_to_send=None):
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Хорошая практика для рестартов
srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
srv.bind(("0.0.0.0", port))
srv.listen(128)
print(f"listening on :{port} ...")
while True:
conn, addr = srv.accept()
try:
demo_http_like_response(conn, file_to_send)
finally:
conn.close()

if __name__ == "__main__":
# Запустите и сходите curl'ом: curl -v http://127.0.0.1:9090/
# На Linux увидите меньшую фрагментацию пакетов (ss, tcpdump).
simple_server(port=9090, file_to_send=None)
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2👍1
🕷️ Spyder: универсальный инструмент для OSINT

Spyder — это открытый инструмент для разведки в области открытых данных, который позволяет выполнять поиск по большим глобальным базам данных. Он предоставляет информацию о номерах телефонов, IP-адресах, социальных сетях и многом другом.

🚀Основные моменты:
- Поиск информации по номерам телефонов и IP-адресам
- Доступ к данным из социальных сетей (Facebook, Instagram и др.)
- Поиск по электронной почте и адресам
- Узнайте информацию о доменах и номерных знаках
- Удобный интерфейс для быстрого доступа к данным

📌 GitHub: https://github.com/gumot0/spyder-osint
4😁2👍1🔥1
🧠 Agent S: Интеллектуальные агенты для взаимодействия с компьютером

Agent S — это открытая платформа для создания автономных GUI-агентов, которые учатся на опыте и выполняют сложные задачи на компьютере. Проект нацелен на автоматизацию и взаимодействие с интерфейсами, предлагая новые возможности в области ИИ и автоматизации.

🚀Основные моменты:
- Поддержка Windows, macOS и Linux.
- Достижения нового состояния наилучшего результата (SOTA) в задачах компьютерного использования.
- Уникальная возможность обучения на основе предыдущего опыта.
- Открытый исходный код для сообщества разработчиков.

📌 GitHub: https://github.com/simular-ai/Agent-S

#python
👍3🔥21
Шпаргалка_по_командам_Linux_для_среднего_и_продвинутого_уровня_1.pdf
149.2 KB
🖥 Шпаргалка по командам Linux для среднего и продвинутого уровня

Сохраняйте себе, чтобы не потерять

📌 Полная версия онлайн
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
🖥 Практический гайд по автоматизации процессов на Python

Перед вами подробный практический гайд по автоматизации процессов на Python для продвинутых разработчиков. Он фокусируется на промышленном уровне качества: архитектура, надёжность, наблюдаемость, упаковка и деплой. В каждом разделе - конкретные паттерны и готовые фрагменты кода.

✔️ Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🖥 Свежий курс на Stepik: PostgreSQL для разработчиков: от основ к созданию API

Курс научит создавать надёжные REST API-сервисы на базе PostgreSQL, используя FastAPI на Python.

Пошаговое объяснение материала - от установки среды и основ SQL до полноценного API-приложения с безопасностью, связями и масштабируемостью.

На практике разбирается:

работу с таблицами, типами данных, фильтрацией и агрегатами

группировки, подзапросы и оптимизацию SQL-запросов

взаимодействие Python с базой данных

создание REST API с FastAPI и подключением PostgreSQL

проектирование структуры БД и нормализацию

реализацию CRUD-операций и валидацию данных

postgres для профессионалов

разбор вопросов с реальных собеседований технические вопросы, SQL-задачи, разбор хитрых приемов.

⚡️ После прохождения вы создадите готовый API-проект и уверенные навыки работы с PostgreSQL в продакшене.

Сегодня дарим промокод на скидку - 30%, действует

🚀 Начать учиться
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
🧩 Примеры приложений для Apps SDK от OpenAI

Этот репозиторий демонстрирует примеры UI-компонентов и MCP-серверов для создания приложений на базе ChatGPT. Он служит отправной точкой для разработки собственных приложений, используя Model Context Protocol для интеграции инструментов и интерфейсов.

🚀 Основные моменты:
- Примеры компонентов для Apps SDK.
- Демонстрация работы MCP-серверов.
- Поддержка различных языков программирования (Node.js, Python).
- Возможность создания и кастомизации собственных виджетов.
- Легкая интеграция с ChatGPT.

📌 GitHub: https://github.com/openai/openai-apps-sdk-examples
2👍1🔥1
🖥 Гайд по PostgreSQL для продвинутых разработчиков

PostgreSQL – одна из самых мощных СУБД с открытым исходным кодом. Этот гайд подробно охватывает ключевые аспекты PostgreSQL: от внутренней архитектуры до приёмов оптимизации. Мы рассмотрим администрирование, производительность, расширения, инструменты, а также сравним популярные ORM для Python и Go. В конце приведён список продвинутых вопросов, часто встречающихся на собеседованиях.

🟠Гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
🔍 Исследования Python: эксперименты и оптимизация

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

🚀 Основные моменты:
- Эксперименты с производительностью Python 3.14 без GIL
- Сравнение потоков и процессов
- Оптимизация использования памяти
- Практические примеры и выводы

📌 GitHub: https://github.com/koenvo/python-experiments

#python
2🔥1
🖥 Python-декоратор - AI-сервис готов

Beam — открытая альтернатива Modal, которая позволяет деплоить любые AI-задачи в serverless-режиме без инфраструктурной боли. Всё, что нужно — декоратор в Python.

Работает очень просто:
1. uv add beam
2. Пишете свой AI-воркфлоу
3. Оборачиваете вызов в метод
4. Добавляете декоратор @endpoint с конфигом сервера

👉 Результат — готовый serverless endpoint.

Ключевые фичи:
→ Запуск контейнеров < 1 секунды
→ Поддержка распределённого хранилища
→ Авто-масштабирование от 0 до сотен контейнеров
→ GPU: 4090, H100 или свои
→ Деплой inference endpoint'ов через декораторы
→ Изолированные песочницы для кода от LLM
→ И главное — 100% open-source + приватность.

https://github.com/beam-cloud/beta9
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Карьерный буст, робот в подарок и призовой фонд 7 500 000 рублей 🤖
Успей зарегистрироваться до 20 октября.


Все это ждет участников трека «Программирование роботов» на всероссийском ИТ-чемпионате МТС True Tech Champ 2025. Присоединяйся, если пишешь на С++, Go, Python, JS, Java, C# или другом языке.

Соревнования пройдут в командах от 2 до 4 человек в несколько этапов:

Квалификация. Тебе предстоит запрограммировать робота на прохождение виртуального лабиринта.
Полуфинал. Ты будешь дистанционно управлять роботом на офлайн-полигоне и наблюдать за его перемещениями в трансляции.
Финал. За две недели до финала организаторы отправят тебе настоящего робота для кастомизации. Ты сможешь модифицировать его, чтобы он оказался быстрее других в многоуровневом офлайн-лабиринте и смог выбить соперников с платформы в шоу-битве.

Команды финалистов получат по одному роботу Waveshare Cobra Flex в подарок и сразятся за крупные денежные призы: 4 000 000 ₽ за первое место, 2 500 000 ₽ за второе и 1 000 000 ₽ за третье.

Еще ты сможешь:

— Получить практический опыт работы с инструментами, с помощью которых создают домашних и промышленных роботов.
— Прокачать компетенции, которые помогут развиваться в ИТ.
— Заявить о себе на всю Россию и ускорить свой профессиональный рост.

📍 Финал состоится 21 ноября в МТС Live Холл в Москве.
👉🏻 Регистрируйся на сайте до 20 октября.
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Учим Python на ферме - вышла новая игра, где вместо фарминга ты пишешь код

Забудь про грядки и полив — теперь ферма работает на Python. Ты управляешь роботами, автоматизируешь процессы и наблюдаешь, как код превращается в урожай.

Вместо мотыги - код, вместо удобрений - алгоритмы.
Это не симулятор фермера, а тренажёр программиста с юмором и логикой.

- Всё управление через код - роботы выполняют твои Python-команды;

- Обучение встроено в геймплей — осваиваешь основы без нудных туториалов;

- Без уровней и доната - ферма растёт вместе с твоими навыками;

- Есть русский язык и IntelliSense, можно писать даже из VS Code;

У игры уже 95% положительных отзывов в Steam.

Игра превращает обучение Python в чистое удовольствие - просто запускаешь и начинаешь “программировать урожай”.

👉 Играть
Please open Telegram to view this post
VIEW IN TELEGRAM
8
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хочешь, чтобы твой Telegram-бот отвечал с помощью ChatGPT?

Сделай это за пару минут: просто установи библиотеку python-telegram-bot, добавь свой OpenAI API-ключ и токен бота, и бот начнёт отвечать на все сообщения с помощью ChatGPT.


from telegram import Update
from telegram.ext import ApplicationBuilder, MessageHandler, filters, ContextTypes
from openai import OpenAI


Укажи свои ключи
OPENAI_API_KEY = "sk-..."
TELEGRAM_TOKEN = "123456789:ABC..."

client = OpenAI(api_key=OPENAI_API_KEY)

async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_text = update.message.text

response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": user_text}]
)

await update.message.reply_text(response.choices[0].message.content)

app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
app.run_polling()
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
📄 PaddleOCR: Мощный инструмент для распознавания текста

PaddleOCR — это передовой движок OCR и AI для документов, обеспечивающий высокую точность извлечения текста и понимания документов. Поддерживает множество языков и интегрируется в различные приложения, от стартапов до крупных предприятий.

🚀 Основные моменты:
- Поддержка более 80 языков и сложных элементов документа.
- Высокая точность распознавания текста в различных условиях.
- Легкая интеграция с другими AI-приложениями.
- Поддержка работы на разных аппаратных платформах (CPU, GPU, NPU).
- Широкое сообщество и активное использование в более чем 5,9 тыс. репозиториев.

📌 GitHub: https://github.com/PaddlePaddle/PaddleOCR

#python
4
Forwarded from Machinelearning
📄 DeepSeek-OCR - модель для распознавания текста 🔍

DeepSeek выпустили мощную OCR-модель, способную преобразовывать изображения документов прямо в Markdown или текст.

Что умеет:
- Распознаёт текст на изображениях и в PDF
- Работает с документами, таблицами и сложными макетами
- Поддерживает разные режимы: Tiny, Small, Base, Large
- Оптимизирована под GPU (PyTorch + CUDA 11.8)
- MIT-лицензия — можно свободно использовать и модифицировать

DeepSeek-OCR достигает высокой точности и эффективности за счёт компрессии визуальных токенов. На Omnidocbench - лучшая точность при минимуме визуальных токенов, превосходит другие OCR-модели по эффективности и скорости.

🟠HF: https://huggingface.co/deepseek-ai/DeepSeek-OCR
🟠Github: https://github.com/deepseek-ai/DeepSeek-OCR
🟠Paper: https://github.com/deepseek-ai/DeepSeek-OCR/blob/main/DeepSeek_OCR_paper.pdf

@ai_machinelearning_big_data

#ocr #DeepSeek
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Python митап от Авито 27 октября в Москве!

Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:

кейс оптимизации GC в Python от Саши Федосеева, backend-инженера из команды Main Page Tech Авито;
как mypy укрощает Python в большой компании вместе с Сергеем Яхницким из Яндекса.

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

Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.

Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Copier — это утилита командной строки и библиотека Python для создания и управления проектами на основе шаблонов!

🌟 С её помощью разработчики могут быстро генерировать новые проекты, используя предопределённые шаблоны, или обновлять существующие проекты в соответствии с изменениями шаблона. Copier поддерживает как локальные директории, так и удалённые Git-репозитории в качестве источников шаблонов, что делает инструмент гибким и удобным для совместной работы. Основное преимущество Copier — его способность безопасно обновлять файлы без перезаписи данных, что снижает риск потерь.

🌟 Copier предлагает мощные функции, такие как динамическая подстановка значений в файлы шаблонов, адаптация шаблонов под требования пользователя, а также возможность использования как через командную строку, так и внутри Python-приложений. Для установки требуется Python версии 3.9 или новее, а сам инструмент можно установить через pip.

🔐 Лицензия: MIT

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов

Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?

Без глубокого знания базы ты не инженер - ты просто пользователь.

🔹 В курсе ты:

- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.

💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.

🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.

🚀 24 часа действует скидка 30%

👉 Учиться со скидкой
1🤯1
🧠 Новая работа показывает, что даже небольшая open-source модель может решать сложные математические задачи — если заставить её "думать дольше" с помощью циклов саморазвития рассуждений.

Исследователи взяли 8B-модель на базе DeepSeek и заставили её проходить долгие итеративные reasoning-loops, где каждая итерация — это маленький шаг к более точному решению.
Если модель находит улучшение хоть чуть-чуть лучше предыдущего ответа, цикл продолжается.

Результат: модель решила 5 задач AIME, которые раньше не могла, и даже превзошла точность своего «учителя» — 600B-модели, если брать голосование по итоговым ответам из множества параллельных циклов.

Метод прост:
1️⃣ Проверить текущий ответ
2️⃣ Исправить ошибки
3️⃣ Повторять несколько десятков итераций

Такой подход увеличивает время вычислений на тесте, но даёт гораздо более надёжные решения, фактически расширяя пределы возможностей малых моделей.

📄 Paper: arxiv.org/abs/2510.17498
👍3