uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

Python Community

Python Community

Kanalga Telegram’da o‘tish

Python Community RU - СНГ сообщество Python-разработчиков Чат канала: @python_community_chat Сотрудничество: @cyberJohnny и @Sergey_bzd РКН реестр: https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed®istryType=bloggersPermission

Ko'proq ko'rsatish

📈 Telegram kanali Python Community analitikasi

Python Community (@python_community_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 11 514 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 789-o'rinni va Rossiya mintaqasida 55 649-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 11 514 obunachiga ega bo‘ldi.

29 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -80 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 4.44% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.27% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 511 marta ko‘riladi; birinchi sutkada odatda 261 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 2 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent docker, git, github, контейнер, await kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Python Community RU - СНГ сообщество Python-разработчиков Чат канала: @python_community_chat Сотрудничество: @cyberJohnny и @Sergey_bzd РКН реестр: https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 30 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

11 514
Obunachilar
-124 soatlar
-287 kun
-8030 kun
Postlar arxiv

🧠 Как превратить любой Python-объект в читаемый словарь — даже если это класс с кучей вложенных полей Когда работаешь с API, логами или дебажишь сложные объекты — хочется увидеть весь объект как словарь, без .__dict__, без сериализации, без ручного разбора. Вот приём, который делает это рекурсивно, красиво и гибко — с помощью dataclasses и asdict, даже если объект не был dataclass изначально. python from dataclasses import dataclass, asdict, is_dataclass from types import SimpleNamespace def deep_to_dict(obj): if isinstance(obj, dict): return {k: deep_to_dict(v) for k, v in obj.items()} elif isinstance(obj, list): return [deep_to_dict(i) for i in obj] elif is_dataclass(obj): return asdict(obj) elif isinstance(obj, SimpleNamespace): return deep_to_dict(vars(obj)) elif hasattr(obj, '__dict__'): return deep_to_dict(vars(obj)) else: return obj 🧠 Рекурсивный разбор любых Python-объектов 📌 Подходит для логирования, сериализации, отладки 📌 Работает с dataclass, обычными классами, объектами из types, JSON-like структурами 📌 Можно расширить: добавить фильтрацию полей, вывод в YAML или сохранение в файл Теперь любой “монстр из API” — превращается в читаемый словарь за одну строчку. @Python_Community_ru

🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики Если у тебя проект с тяжёлыми модулями (`pandas`, torch, tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib. Вот как это выглядит на практике: import importlib # Обёртка для ленивого импорта def lazy_import(name): return importlib.util.LazyLoader(importlib.import_module(name)) # Использование np = lazy_import('numpy') # numpy ещё не загружен # Теперь загрузится: print(np.array([1, 2, 3])) @Python_Community_ru

⚡ Ускорь Python без переписывания — скомпилируй код в .so через Cython Нужно ускорить медленные куски Python-кода (циклы, численные вычисления, парсинг)? Не обязательно лезть в C или переписывать всё под NumPy. Можно взять свой .py`-файл, добавить одну строчку и превратить его в бинарный .so`‑модуль через Cython — без изменения логики. # 1. Устанавливаем Cython и компилятор pip install cython sudo apt install build-essential # 2. Переименовываем файл mv myscript.py myscript.pyx # 3. Создаём setup.py echo ' from setuptools import setup from Cython.Build import cythonize setup(ext_modules=cythonize("myscript.pyx")) ' > setup.py # 4. Компилируем python3 setup.py build_ext --inplace # 5. Используем как обычный модуль python3 -c 'import myscript; myscript.main()' @pytonl @Python_Community_ru

‍👾 GREMLLM — теперь у ваших багов есть сознание GREMLLM — это необычный Python-класс, в котором все методы и свойства создаются динамически с помощью LLM. Вы описываете, *что за объект вы хотите*, и дальше GREMLLM сам решает, что должно происходить при вызове методов или обращении к полям. 📦 Установка: pip install gremllm 🔧 Пример: from gremllm import Gremllm counter = Gremllm('counter') counter.value = 5 counter.increment() print(counter.value) # → 6? print(counter.to_roman_numerals()) # → VI? 🧩 Возможности: – Динамическое поведение: всё определяется "на лету" с помощью LLM – Поддержка OpenAI, Claude, Gemini, и локальных моделей – Wet Mode: можно строить цепочки вызовов (методы возвращают объекты) – Verbose Mode: выводит, какой код был сгенерирован – Умная обработка ошибок и настройка через наследование ⚠️ Это экспериментальный инструмент. Не для продакшена. Но очень интересен для изучения LLM-интеграций в Python-код. 🔗 Репозиторий: https://github.com/ur-whitelab/gremllm @Python_Community_ru

📊 Vizro — low-code инструмент для создания дашбордов на Python. Интересный проект для аналитиков и дата-инженеров, позволяющий собирать интерактивные дашборды буквально в несколько строк кода. Основан на связке Plotly + Dash + Pydantic, но скрывает сложность за простым декларативным синтаксисом в JSON/YAML/Python-словарях. Библиотека имеет встроенные best practices по визуализации данных и возможность кастомизировать всё через Python/JS, когда low-code возможностей недостаточно. Готовые дашборды выглядят профессионально и сразу готовы к продакшену. 🤖 GitHub (https://github.com/mckinsey/vizro) @Python_Community_ru

🚀Углубленные навыки разработки на C++ востребованы в самых крупных IT-компаниях, готовы перейти на новый уровень? Курс «C++
🚀Углубленные навыки разработки на C++ востребованы в самых крупных IT-компаниях, готовы перейти на новый уровень? Курс «C++ Developer. Professional» создан для разработчиков, которые хотят углубить свои знания в C++ и подготовиться к решениям реальных задач. Вы освоите передовые практики, такие как многопоточное программирование, новые стандарты C++ 20 и 23, а также научитесь работать с сетями и базами данных. Пройдите обучение с OTUS и получите знания, которые сделают вас ценным специалистом в любой компании. Получите диплом OTUS, который признают ведущие работодатели. ⌛️Время ограничено! Успейте пройти вступительное тестирование и получить скидку на обучение. Старт курса уже скоро — не упустите свой шанс: https://clck.ru/3MuyLe Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

‍🔥 CAI — ИИ для поиска багов от Alias Robotics Что это такое? CAI — лёгкий фреймворк для создания AI-агентов, которые помогают автоматизировать поиск и проверку уязвимостей. Как это работает? - Загружаете YAML-конфиги Опишите сценарии поиска багов, тестов и отчётов в простых текстовых файлах. - LLM-агенты AI-модель эмулирует протоколы (SSH, HTTP, TCP и другие) и взаимодействует с целевыми системами как настоящий тестировщик. - Генерация и «разогрев» данных Создавайте синтетические запросы для обучения и быстро запускайте агента на своих данных. - Оффлайн-оценка Собирайте результаты тестов и анализируйте их без постоянного подключения к интернету. Зачем использовать CAI? - Ускоряет подготовку и запуск тестов безопасности - Позволяет гибко настраивать шаги проверки - Повышает прозрачность и повторяемость отчётов о найденных уязвимостях Установка и запуск: git clone https://github.com/aliasrobotics/cai.git cd cai # отредактируйте config.yaml и запустите агента 📌 Github (https://github.com/aliasrobotics/cai) @Python_Community_ru

💻 Хочешь работать с масштабными цифровыми продуктами? Учись обрабатывать большие данные MLOps — все более популярный среди к
💻 Хочешь работать с масштабными цифровыми продуктами? Учись обрабатывать большие данные MLOps — все более популярный среди компаний способ повышения производительности и создания надежных моделей корпоративного уровня. ✅ Владение инструментами MLOps открывает новые карьерные горизонты специалистам ML, Data Scientist’ам и Software инженерам. 💪 Ответьте на 10 вопросов и проверьте, насколько вы готовы к обучению на продвинутом курсе «MLOps» от OTUS. Cкидка на обучение по промокоду MLOPS_5 : ПРОЙТИ ТЕСТ: https://clck.ru/3MuZiD Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

🧩 Задача для разминки Что выведет этот код? Попробуй догадаться без запуска. 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)) 🤔 Подумай: сколько раз вызовется eq? 🎯 Разбор: print(a in b) 🔍 Проверка a in b вызывает b.__contains__(a), который по умолчанию использует ==. 👉 Вызовется eq, будет True. print(a == b[0]) 🔍 Прямое сравнение — снова eq. print(b.count(a)) 🔍 list.count сравнивает каждый элемент с ==. В нашем списке один элемент — a. 👉 Опять вызывается eq. 💥 Вывод будет: Comparing! True Comparing! True Comparing! 1 📌 Вывод: __eq__ сработал 3 раза, и каждый раз напечатал "Comparing!". 🧠 Уловка: Python-списки используют ==, даже если это один и тот же объект! Да, a == a всё равно вызовет __eq__, если он определён. ⚠️ Фишка для интервью: Можно подменить поведение ==, но is (сравнение идентичности) всегда быстрее и не вызывает магии. @Python_Community_ru

🚀 Станьте экспертом в реверс-инжиниринге и откройте для себя новые горизонты в IT. Актуальное обучение от OTUS — это ваш ста
🚀 Станьте экспертом в реверс-инжиниринге и откройте для себя новые горизонты в IT. Актуальное обучение от OTUS — это ваш старт в мир реверс-инжиниринга на практике! 👨‍💻 На курсе вы освоите все ключевые аспекты реверс-инжиниринга — от базовых техник и инструментов до сложных методик анализа кода, уязвимостей и патчей. Мы подготовим вас для работы с реальными кейсами, исследованием программного обеспечения и исследованиями в области безопасности. ❗️ Запись на онлайн-курсе "Reverse-Engineering" от OTUS закрывается! Оставьте заявку и получите скидку на обучение по промокоду REVERSE6 : https://clck.ru/3Mtsbb Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

⚡️ PyOpenCL — ускоряем Python вычисления на GPU. Этот проект даёт доступ к технологии OpenCL прямо из Python, позволяя задейс
⚡️ PyOpenCL — ускоряем Python вычисления на GPU. Этот проект даёт доступ к технологии OpenCL прямо из Python, позволяя задействовать не только видеокарты, но и любые параллельные вычислительные устройства. Он сочетает низкоуровневый контроль с автоматической обработкой ошибок и привязкой жизненного цикла объектов. Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд. 🤖 GitHub (https://github.com/inducer/pyopencl) @Python_Community_ru

‍Общий сбор питонистов на митапе ЮMoney ™️ Питоняшки — бесплатный митап ЮMoney для Python-разработчиков. ✅ 3 июля, в четверг, в 19:00 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн. О чём будут доклады? 🟣 Это не те метрики, что вы ищете. Разберёмся, почему стандартного экспортёра может не хватать, и как написать свой на Python. 🟣 Кодогенерация: как компьютеры учатся писать код за нас. Поговорим про прошлое, настоящее и будущее кодогенерации в разных языках программирования. 🟣 Ruff: как не положить всё, переходя на новые правила? Поговорим про линтеры, форматтеры и подводные камни при переходе на Ruff. 🟣 Секреты успеха змеи в мире пауков. Обсудим, как мы применяли scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов. Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа Питоняшки (https://events.yoomoney.ru/python-2025?utm_source=tg&utm_medium=post&utm_campaign=hr_python_2025&utm_term=paid&utm_content=pythonl&erid=2VtzqxVvNGF) 🔥 @Python_Community_ru

🎯 Хочешь следить за загрузкой своей 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 🔥 Советы: • Можно запускать в цикле для live-мониторинга • Легко интегрировать в Telegram-бота или Slack-уведомления • Работает на всех машинах с установленным NVIDIA драйвером и nvidia-smi @Python_Community_ru

‍🚦 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(...): # асинхронный токен-бакет ... 🔧 Где применить: • Ограничение частоты запросов к внешним API • Защита от перегрузки микросервисов • Контроль доступа к ресурсам внутри приложения • Настройка rate-limit в фоновом обработчике или очереди ✅ Почему стоит попробовать: premier — лёгкая, понятная и гибкая библиотека. Она упрощает внедрение rate limiting, особенно если нужно масштабироваться или работать в асинхронной среде. Если строишь что-то распределённое или просто не хочешь случайно “положить” сервис из-за частых вызовов — premier отлично подойдёт. 📌 Github (https://github.com/raceychan/premier) @Python_Community_ru

🛠️ Copier — удобный инструмент для создания и обновления проектов из шаблонов. Эта Python-утилита умеет работать как с локал
🛠️ Copier — удобный инструмент для создания и обновления проектов из шаблонов. Эта Python-утилита умеет работать как с локальными путями, так и с Git-репозиториями, подставляя переменные в файлы любого формата. Главная фишка Copier — это аккуратная работа с существующими файлами: он не перезаписывает их без явного указания. Инструмент будет полезен тем, кто часто создаёт однотипные проекты или хочет автоматизировать их обновление. Шаблоны поддерживают сложную логику через Jinja2, а настройки задаются в простом YAML-формате. Для начала работы достаточно установить Copier через pipx или pip. Проект развивается при поддержке сообщества и доступен под лицензией MIT. 🤖 GitHub (https://github.com/copier-org/copier) @Python_Community_ru

‍🎭 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 – Клиентское подключение через WebSocket: const { chromium } = require('playwright'); const browser = await chromium.connectOverCDP('ws://localhost:PORT'); 🔗 Репозиторий: https://github.com/microsoft/playwright-mcp @Python_Community_ru

📦 InvenTree — умная система учета для мастерских и инженерных проектов. Этот open-source инструмент — достойная замена Excel
📦 InvenTree — умная система учета для мастерских и инженерных проектов. Этот open-source инструмент — достойная замена Excel, которая поможет вам перестать страдать от перегруженных корпоративных систем. Инструмент предлагает продуманный баланс между простотой и функциональностью: отслеживание деталей, управление несколькими складами, работа с партиями и серийными номерами — всё в одном месте. 📌 Особенности проекта: — Гибкая интеграция через REST API и Python-модули — Мобильные приложения для iOS/Android со сканированием штрих-кодов — Плагинная система для кастомизации под конкретные нужды — Простой деплой — от Docker до однострочной установки на Linux 🤖 GitHub (https://github.com/inventree/InvenTree) @Python_Community_ru

🌟 alphaXiv —выпустили расширение для хрома alphaXiv упрощает работу с научными статьями (arXiv, bioRxiv, PDF): ● чат с ИИ прямо в документе: выделение текста открывает диалог ● ссылки на другие статье через “@” для быстрого вызова статей ● позволяет генерировать блог одним кликом: иллюстрации к статьям, ключевые идеи, перевод ● закладки и автоматические BibTeX-цитаты для хранения и ссылок https://chromewebstore.google.com/detail/alphaxiv-understand-resea/liihfcjialakefgidmaadhajjikbjjab @Python_Community_ru

🐍 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)) 🔍 Варианты: • a) [0, 1, 2], [0, 2, 4] • b) [0, 1, 2], [] • c) [], [0, 2, 4] • d) [0, 1, 2], Ошибка 💡 Разбор: - `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) ``` или используй itertools.tee для разветвления итератора. @Python_Community_ru