Python Community
12.3K subscribers
1.35K photos
84 videos
15 files
863 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
🌍🤖 GigaWorld-0: Модели мира

GigaWorld-0 - это унифицированная платформа для обучения Vision-Language-Action, использующая генерацию видео и 3D моделирование. Она обеспечивает создание разнообразных и реалистичных последовательностей, что делает её мощным инструментом для разработки эмбодированных ИИ.

🚀Основные моменты:
- Интеграция видео и 3D генерации для физической реалистичности.
- Поддержка текстовых подсказок для генерации видео.
- Модели доступны на Hugging Face для быстрого старта.
- Открытый исходный код с лицензией Apache 2.0.

📌 GitHub: https://github.com/open-gigaai/giga-world-0

#python

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
💀➡️ Большинство кодеров не знают про это ускорение в Python

Одна из самых недооценённых оптимизаций в Python — вынесение повторяющихся вычислений в локальные переменные.
Причина проста: доступ к локальной переменной в CPython *в 2–3 раза быстрее*, чем к глобальной или атрибуту модуля.

Особенно важно в циклах и горячих участках кода.


import math

# Медленнее: math.sqrt вызывается через глобальное пространство имён
def slow(nums):
return [math.sqrt(x) for x in nums]

# Быстрее: ссылка на функцию закэширована в локальной переменной
def fast(nums):
sqrt = math.sqrt
return [sqrt(x) for x in nums]

# Ещё пример: длину списка лучше сохранить локально
def sum_fast(nums):
total = 0
ln = len(nums) # локальная ссылка быстрее
for i in range(ln):
total += nums[i]
return total

@Python_Community_ru
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🤯💣 PYTHON ТРЮК ПО УСКОРЕНИЮ #python

Совет по Python: если в цикле много обращений к атрибутам объекта или модуля — вынеси их в локальную переменную.

Доступ к локалам работает быстрее, чем к атрибутам, поэтому такой приём иногда ускоряет код на 20–50 процентов.


#медленно — каждый проход лезет в атрибут
for i in range(10_000_000):
x = obj.value

#быстрее — сохрани ссылку заранее
val = obj.value
for i in range(10_000_000):
x = val

#ещё пример — кешируем функцию
import math
sqrt = math.sqrt
for i in range(1_000_000):
r = sqrt(i)

@Python_Community_ru
🎧 Модель аудиоразмышлений Step-Audio-R1

Step-Audio-R1 — первая аудиомодель, которая преодолевает проблему "обратного масштабирования", улучшая производительность при увеличении вычислительных ресурсов. Используя метод MGRD, модель фокусируется на акустическом анализе, что позволяет ей эффективно обрабатывать аудиоданные.

🚀 Основные моменты:
- Успешно решает проблему "обратного масштабирования"
- Сравнима с Gemini 3 по аудиобенчмаркам
- Инновационный подход к обучению через акустические особенности
- Доступна для использования на Hugging Face и ModelScope

📌 GitHub: https://github.com/stepfun-ai/Step-Audio-R1

@Python_Community_ru
🖥 Как уменьшить Docker-образ в 10+ раз - понятный и практичный разбор.

Размер Docker-образа - это не косметика.
Он напрямую влияет на:
- скорость CI/CD
- время деплоя
- cold start контейнеров
- расходы на storage и трафик

В примере ниже образ удалось сократить с 588 MB до 47.7 MB - почти на 92%.
Вот какие приёмы реально дают эффект.

1) Выбор базового образа - самое важное решение

Полный python:3.9 тянет за собой:
- лишние системные утилиты
- документацию
- dev-пакеты

Переход на python:3.9-alpine:
- в разы меньше размер
- быстрее скачивание
- меньше attack surface

Это первый и самый крупный выигрыш.

2) Оптимизация слоёв Docker

Каждый RUN, COPY, ADD - это новый слой.
Много мелких инструкций = раздув образа.

Правило:
- объединяй связанные команды
- удаляй временные файлы в том же RUN

Меньше слоёв - меньше вес - быстрее сборка.

3) .dockerignore - бесплатная оптимизация, которую часто забывают

Без .dockerignore в build context улетает всё:
- .venv
- .cache
- .git
- временные файлы

Это:
- увеличивает размер контекста
- замедляет сборку
- иногда ломает кеширование

.dockerignore должен быть всегда. Без исключений.

4) Multi-stage build - must-have для продакшена

Одна из самых мощных техник.

Идея простая:
- stage 1 - сборка, компиляция, зависимости
- stage 2 - только то, что нужно для запуска

В финальном образе:
- нет build-инструментов
- нет лишних библиотек
- только runtime

Результат:
- меньше размер
- меньше уязвимостей
- быстрее старт

Итоговый эффект:
- 588 MB -> 47.7 MB
- −91.89% размера
- быстрее CI
- быстрее деплой
- дешевле инфраструктура

Главный вывод:
маленькие оптимизации накапливаются.

Каждый сэкономленный мегабайт:
- ускоряет каждый pull
- ускоряет каждый deploy
- масштабируется вместе с вашей системой

@Python_Community_ru
🔥2
📌 Подробная шпаргалка по командам Docker

Удобный и практичный референс для повседневной работы с Docker: образы, контейнеры, сети, тома и Docker Compose.

🐋 Общие команды Docker

- docker --version — версия Docker
- docker info — информация о системе Docker
- docker help — список доступных команд
- docker --help — помощь по конкретной команде

📦 Работа с образами

- docker pull — скачать образ из реестра
- docker images — список локальных образов
- docker build -t name:tag . — собрать образ из Dockerfile
- docker tag : — назначить тег образу
- docker rmi — удалить образ
- docker image prune — удалить неиспользуемые образы
- docker image prune -a — удалить все неиспользуемые, включая невисячие

🚀 Контейнеры: запуск и управление

- docker run — запустить контейнер
- docker run -d — запуск в фоне
- docker run -it bash — интерактивный режим
- docker ps — активные контейнеры
- docker ps -a — все контейнеры
- docker stop — остановить контейнер
- docker start — запустить остановленный
- docker restart — перезапуск
- docker rm — удалить контейнер
- docker rm -f — принудительно удалить
- docker logs — логи контейнера
- docker exec -it bash — войти внутрь контейнера
- docker inspect — подробная информация (JSON)

🧹 Очистка и обслуживание

- docker container prune — удалить все остановленные контейнеры
- docker image prune — удалить неиспользуемые образы
- docker volume prune — удалить неиспользуемые тома
- docker network prune — удалить неиспользуемые сети
- docker system prune — очистить всё неиспользуемое
- docker system prune -a — максимально агрессивная очистка
- docker system df — использование диска Docker’ом

📊 Мониторинг и отладка

- docker stats — использование CPU и памяти контейнерами
- docker top — процессы внутри контейнера
- docker diff — изменения файловой системы контейнера

🌐 Сети Docker

- docker network ls — список сетей
- docker network inspect — информация о сети
- docker network create — создать сеть
- docker network rm — удалить сеть

💾 Docker Volumes

- docker volume ls — список томов
- docker volume inspect — информация о томе
- docker volume create — создать том
- docker volume rm — удалить том

⚙️ Docker Compose

- docker compose up — запустить сервисы
- docker compose up -d — запуск в фоне
- docker compose down — остановить и удалить всё
- docker compose build — пересобрать образы
- docker compose pull — скачать образы
- docker compose logs — логи всех сервисов
- docker compose ps — статус сервисов
- docker compose restart — перезапуск

🧠 Полезные советы

- Используй --rm, чтобы контейнер удалялся после выполнения
- Проверяй размер Docker-данных через docker system df
- Для отладки всегда полезен docker inspect
- Регулярно чисти систему, чтобы Docker не съел весь диск

Эта шпаргалка закрывает 90% повседневных задач при работе с Docker - от локальной разработки до продакшена.

@Python_Community_ru
👍2🔥2
🚀 Интерактивный помощник для Кодинга Mistral Vibe

Mistral Vibe - это командный интерфейс для взаимодействия с кодом, который позволяет использовать естественный язык для выполнения задач.

Он предлагает мощные инструменты для работы с файлами, поиска кода и управления версиями, обеспечивая удобный и интуитивный опыт.

🚀 Основные моменты:
- Интерактивный чат с AI для выполнения запросов.
- Набор инструментов для манипуляции файлами и выполнения команд.
- Автоматическое сканирование структуры проекта для контекстной информации.
- Высокая настраиваемость через конфигурационные файлы.
- Поддержка UNIX и Windows.

📌 GitHub:

@Python_Community_ru

https://github.com/mistralai/mistral-vibe
🖥 python-injection - практический сборник уязвимостей в Python

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

Проект показывает, как «обычный» Python-код превращается в уязвимость, если не понимать, как именно работают интерпретатор, библиотеки и внешние вызовы.

Что внутри:

- Command Injection через os.system, subprocess, shell=True
- SQL Injection при неправильной работе с запросами
- Code Injection через eval, exec, pickle
- Path Traversal и небезопасная работа с файлами
- Template Injection
- Примеры небезопасной десериализации
- Реальные анти-паттерны из production-кода

Главная ценность репозитория — код, а не теория:
- есть уязвимый пример
- есть объяснение, почему он опасен
- понятно, как именно происходит атака

Подходит для:
- Python-разработчиков
- backend-инженеров
- security-энтузиастов
- code review и обучения безопасному программированию

Если ты пишешь Python и думаешь, что «у нас же не веб» - этот репозиторий стоит открыть.

pip install python-injection

https://github.com/100nm/python-injection

@Python_Community_ru
Новая работа MIT: LLM, который видит и меняет состояние Python

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

Подход называется NIGHTJAR.

Главный результат
В экспериментах NIGHTJAR сократил объем кода в среднем на 39.6% без потери корректности.

В чем была проблема
Обычная LLM:
- читает текст
- генерирует текст
- не видит реальные данные программы

Поэтому типичный пайплайн выглядит так:
- данные сериализуются в текст
- отправляются модели
- ответ парсится
- программа вручную обновляется

Много glue-кода, много мест для ошибок.

Что меняет совместное состояние
Shared state полностью меняет модель взаимодействия:
- LLM может читать и писать переменные
- изменять объекты прямо в памяти
- останавливать и пропускать циклы
- работать с текущим состоянием выполнения

Модель не «рассуждает о коде», она с ним взаимодействует.

Как это реализовано
LLM не получает прямой доступ к памяти.
Она отправляет небольшие команды:
- прочитать переменную
- записать значение
- обновить объект
- выйти из цикла

Python-обработчик выполняет эти команды.
Такой контракт авторы называют natural function interface.

Результаты
На бенчмарке SPSBench с 25 программами:
- корректность осталась на уровне ручной интеграции или выше
- код стал заметно короче
- но время выполнения иногда росло до 4.3 раза

Причина проста - каждое обращение к состоянию может требовать отдельного вызова модели.

Почему это важно
- меньше шаблонного glue-кода
- проще писать сложную логику с участием LLM
- шаг к более тесной интеграции AI и runtime
- фундамент для новых агентных и интерактивных систем

Это не про ускорение.
Это про изменение архитектуры взаимодействия между программой и моделью.

📌 Статья: arxiv.org/abs/2512.14805


#AI #LLM #Python

@Python_Community_ru
🚀 PyTogether - Google Docs для Python-кода

PyTogether - это браузерная IDE для Python с совместной работой в реальном времени. Несколько человек могут писать и запускать код одновременно, видеть курсоры друг друга и общаться прямо внутри редактора.

Что умеет:
• Совместное редактирование Python-кода (live-collaboration)
• Запуск Python прямо в браузере через Pyodide
• Чат и голосовая связь внутри IDE
• Живые курсоры, выделения и заметки
• Простая авторизация и проекты для команд
• Никакой установки — всё работает в браузере

Кому подойдёт:
• Обучение и менторство
• Парное программирование
• Онлайн-курсы и воркшопы
• Быстрые разборы кода и собесы

Технологии под капотом:
Python (Django, DRF), WebSockets + Y.js для синхронизации, React + CodeMirror, Redis и PostgreSQL. Всё open-source под MIT-лицензией.

Хороший пример того, как современные web-технологии превращают IDE в социальный инструмент для обучения и командной работы.

https://github.com/SJRiz/pytogether

@Python_Community_ru
👍1
🚀 AI Agents for Android Apps

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

🚀 Основные моменты:
- Автоматизация процессов на Android-устройствах
- Снижение затрат на 95% по сравнению с традиционными методами
- Поддержка различных мобильных приложений
- Быстрая реакция — менее 1 секунды на действие
- Идеально для логистики и мобильного обслуживания

📌 GitHub: https://github.com/actionstatelabs/android-action-kernel

@Python_Community_ru