es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Python/ django

Python/ django

Ir al canal en Telegram

📈 Análisis del canal de Telegram Python/ django

El canal Python/ django (@pythonl) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 58 512 suscriptores, ocupando la posición 2 246 en la categoría Tecnologías y Aplicaciones y el puesto 10 308 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 58 512 suscriptores.

Según los últimos datos del 29 octubre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -174, y en las últimas 24 horas de -25, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 6.05%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 3.03% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 3 541 visualizaciones. En el primer día suele acumular 1 771 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 21.
  • Intereses temáticos: El contenido se centra en temas clave como github, claude, контекст, архитектура, api.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“по всем вопросам @workakkk @itchannels_telegram - 🔥 все ит каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - 📚 @pythonlbooks РКН: clck.ru/3Fm...”

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 30 octubre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

58 512
Suscriptores
-2524 horas
-1017 días
-17430 días
Archivo de publicaciones
🚀 С нуля → до портфолио и оффера в ИТ. Совершенно беслпатно! «Школа 21» от Сбера — это бесплатная школа цифровых технологий.
🚀 С нуля → до портфолио и оффера в ИТ. Совершенно беслпатно! «Школа 21» от Сбера — это бесплатная школа цифровых технологий. Здесь ты прокачаешься в ИТ с нуля, научишься работать в команде, получишь реальные навыки и опыт. Без лекций и преподавателей. Только практика и нетворкинг. 📌 Что внутри: — кампусы, которые работают 24/7 в Москве, Уфе, Казани, Новосибирске, Белгороде, Липецке, Нижнем Новгороде и других городах России. — возможность совмещать с работой или учебой в вузе. — сюда поступают независимо от образования: 50% участников пришли без опыта в ИТ. — гарантированная стажировка в ИТ-компании. — востребованные профессии: разработчик, devops/sre-инженер, data scientist, qa-инженер, специалист по кибербезопасности, бизнес- и системный аналитик. 🎯 Хочешь стать частью ИТ-комьюнити? Подавай заявку прямо сейчас: https://21-school.ru/ Реклама. Заказчик АНО «Школа 21» ИНН 7736316133

🧱 ИИ теперь сам генерирует миры в духе Minecraft — представлена модель GameFactory Исследователи обучили модель на 70 часах геймплея Minecraft и добились впечатляющего результата: GameFactory может создавать процедурные игровые миры — от вулканов до сакуровых лесов, как в культовом симуляторе. 🔥 Хотите свой бесконечный мир — просто задайте параметры. 🟠 Примеры и код — по ссылке: https://yujiwen.github.io/gamefactory/ 🟠Github: https://github.com/KwaiVGI/GameFactory @pythonl

🎙️ Higgs Audio v2 — открытая аудио‑модель, которая обходит GPT‑4o-mini-tts Boson AI выложили модель синтеза речи, обученную
🎙️ Higgs Audio v2 — открытая аудио‑модель, которая обходит GPT‑4o-mini-tts Boson AI выложили модель синтеза речи, обученную на 10+ млн часов аудио — и она уже показывает лучшие результаты, чем GPT‑4o-mini-tts и другие закрытые системы. 🧠 Что умеет Higgs Audio v2: - Генерирует естественную, эмоциональную речь - Поддерживает мультиспикерность и клонирование голосов без дообучения - Работает в zero-shot: достаточно текст + один голосовой пример - Озвучка в 24 kHz — звук заметно лучше, чем у многих систем с 16 kHz 📊 Побеждает GPT‑4o-mini-tts в бенчмарках: - 75.7 % win rate на эмоциях - 55.7 % win rate на вопросах - Отличные метрики по точности и качеству речи 🛠️ Открыт код + модели: - Новый AudioVerse токенизатор (эффективность + качество) - Dual‑FFN архитектура - Q-learning для адаптивной выразительности git clone https://github.com/boson-ai/higgs-audio.git cd higgs-audio pip install -r requirements.txt pip install -e . 🔥 GitHub: https://github.com/boson-ai/higgs-audio @pythonl

🖥Тебе не всегда стоит использовать классы в Python Python известен простотой и читабельностью — и многие сразу переходят к и
+4
🖥Тебе не всегда стоит использовать классы в Python Python известен простотой и читабельностью — и многие сразу переходят к использованию классов. Но как показывает опыт, классы далеко не всегда нужны: Python — невероятно гибкий язык, но классы не всегда лучший выбор. В большинстве случаев стандартные типы, функции и библиотеки предлагают более простые и элегантные решения. 🔍 Когда вы можете обойтись без класса 1. Хранение простых данных Вместо класса:

   class Point:
       def __init__(self, x, y):
           self.x = x
           self.y = y
   point = Point(10, 20)

Point = namedtuple('Point', ['x', 'y'])
point = Point(10, 20)

# или

@dataclass
class Point:
    x: int
    y: int
point = Point(10, 20)
 
Статические утилиты без состояния Вместо: ```python class Utils: @staticmethod def add(a, b): return a + b result = Utils.add(3, 4) используйте просто функцию: ```python def add(a, b): return a + b result = add(3, 4) Группировка констант Вместо использования отдельного класса: ```python class Config: HOST = 'localhost' PORT = 8080 можно определить модуль с константами: ```python HOST = 'localhost' PORT = 8080 Простые изменяемые состояния Если нужен лишь список или словарь: ```python inventory = [] inventory.append('apple') Операции на лету Вместо класса с одним методом transform: ```python result = Transformer().transform([1,2,3]) используйте: ```python result = [x*2 for x in [1,2,3]] Стандартная библиотека может уже всё заменить Например, configparser, json, csv и другие модули часто покрывают функциональность управления конфигурациями без необходимости писать класс вручную. ✅ Когда классы всё же уместны Используйте классы, если вам действительно нужны: - Состояние и поведение, связанные вместе - Наследование и расширяемость - Капсуляция логики и данных - Чёткая структура и переиспользуемость Но многие простые сценарии проще и понятнее реализовать без OOP-механизмов 💡 Почему это важно Это помогает избежать избыточного кода и упростить архитектуру Повышает читабельность, особенно для новичков или в небольших скриптах Снижает перегрузку инициализации, особенно там, где функциональность тривиальна 📌 Подробнее @pythonl

🚀 Kreuzberg — мощный фреймворк Document Intelligence для Python! 🔹 Извлекает текст, метаданные и структурированные данные и
🚀 Kreuzberg — мощный фреймворк Document Intelligence для Python! 🔹 Извлекает текст, метаданные и структурированные данные из PDF, Office-документов, изображений и др. 🔹 Основан на проверенных open-source решениях: Pandoc, PDFium, Tesseract 🔹 Поддержка 18 форматов (PDF, DOCX, PPTX, HTML, изображения, таблицы и пр.) 🔹 Высокая производительность: 30+ документов/с, лёгкий runtime (≈360 МБ), установка 71 МБ 🔹 Открытый исходный код под MIT-лицензией, 2 000⭐ на GitHub GitHub Пример:

from kreuzberg import extract_file

# In your async function
result = await extract_file("presentation.pptx")
print(result.content)

# Rich metadata extraction
print(f"Title: {result.metadata.title}")
print(f"Author: {result.metadata.author}")
print(f"Page count: {result.metadata.page_count}")
print(f"Created: {result.metadata.created_at}")
✨ Попробуйте: https://github.com/Goldziher/kreuzberg @pythonl #Python #OCR #DocumentIntelligence #OpenSource #Kreuzberg

⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit! В серьезных проектах чистота и стиль кода — но ручные проверк
⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit! В серьезных проектах чистота и стиль кода — но ручные проверки отнимают кучу времени, которое лучше потратить на анализ данных. 💡 Решение: автоматизируй всё с помощью pre-commit хуков — и пусть код проверяется сам перед каждым коммитом. 😬 Без pre-commit: Вы коммитите код — всё выглядит нормально. Но потом на ревью находят кучу мелочей: ✖️ Нет type hints ✖️ Форматирование пляшет ✖️ Отсутствует docstring ✖️ Импорты в разнобой 🤖 С pre-commit всё иначе: Перед коммитом автоматически запускается ruff format и ruff check: ✅ Код отформатирован ✅ Стиль и правила соблюдены ✅ Меньше замечаний на ревью 💡 Один раз настроил — и больше не паришься с форматированием вручную. Идеально для любого Python-проекта. @pythonl

Repost from Machinelearning
🌟 Google LangExtract: библиотека извлечения структуры из любого текста. LangExtract - опенсорсная python-библиотека с функци
+3
🌟 Google LangExtract: библиотека извлечения структуры из любого текста. LangExtract - опенсорсная python-библиотека с функцией легковесного интерфейса к LLM, которая превращает большие объемы текста в структурированные данные. 🟡 Ключевая особенность LangExtract на фоне других инструментов - точный фокус на источник. Каждая извлеченная сущность, будь то имя, дата или дозировка лекарства, привязывается к точным символьным смещениям в исходном тексте. Это дает полную прослеживаемость и верифицируемость результата, просто подсветив найденные данные в оригинальном документе. Больше никаких «откуда модель это взяла?». 🟡 Вторая сильная сторона - надежность выходных данных. Вы определяете желаемый формат вывода с помощью специального представления данных и даете модели несколько примеров . Используя эти примеры, LangExtract следует заданной схеме, задействуя механизм контролируемой генерации, который поддерживается в моделях Gemini. Это гарантирует, что на выходе вы всегда будете получать данные в консистентном, предсказуемом формате. 🟡LangExtract умеет работать с действительно большими объемами. Библиотека умеет бить текст на чанки, которые обрабатываются параллельно в несколько проходов, каждый из которых фокусируется на более узком контексте. Для наглядности библиотека умеет генерировать интерактивную и полностью автономную HTML-визуализацию. Это позволяет за считаные минуты перейти от сырого текста к визуальному представлению, где можно исследовать тысячи извлеченных аннотаций. При этом LangExtract не замыкается на экосистеме Google: он поддерживает гибкую смену LLM-бэкендов, позволяя работать как с облачными моделями, так и с опенсорсными решениями, развернутыми локально. 🟡LangExtract может задействовать "мировые знания" LLM для обогащения данных. Информация может быть как явной (извлеченной из текста), так и основанной на внутренних знаниях модели. Разумеется, точность таких выведенных данных сильно зависит от возможностей конкретной LLM и качества предоставленных примеров в промпте. Изначально идеи, заложенные в LangExtract, были применены для извлечения информации из медицинских текстов. Библиотека отлично справляется с идентификацией лекарств, их дозировок и других атрибутов в клинических записях. Чтобы продемонстрировать возможности инструмента в узкоспециализированной области, Google создал на Hugging Face интерактивное демо RadExtract. В нем показано, как LangExtract может обработать радиологический отчет, написанный свободным текстом, и автоматически преобразовать его ключевые выводы в структурированный формат, подсвечивая важные находки. 📌Лицензирование: Apache 2.0 License. 🟡Статья 🖥Github @ai_machinelearning_big_data #AI #ML #LangExtract #Google

🌟 Google LangExtract: библиотека извлечения структуры из любого текста. LangExtract - опенсорсная python-библиотека с функци
+3
🌟 Google LangExtract: библиотека извлечения структуры из любого текста. LangExtract - опенсорсная python-библиотека с функцией легковесного интерфейса к LLM, которая превращает большие объемы текста в структурированные данные. 🟡 Ключевая особенность LangExtract на фоне других инструментов - точный фокус на источник. Каждая извлеченная сущность, будь то имя, дата или дозировка лекарства, привязывается к точным символьным смещениям в исходном тексте. Это дает полную прослеживаемость и верифицируемость результата, просто подсветив найденные данные в оригинальном документе. Больше никаких «откуда модель это взяла?». 🟡 Вторая сильная сторона - надежность выходных данных. Вы определяете желаемый формат вывода с помощью специального представления данных и даете модели несколько примеров . Используя эти примеры, LangExtract следует заданной схеме, задействуя механизм контролируемой генерации, который поддерживается в моделях Gemini. Это гарантирует, что на выходе вы всегда будете получать данные в консистентном, предсказуемом формате. 🟡LangExtract умеет работать с действительно большими объемами. Библиотека умеет бить текст на чанки, которые обрабатываются параллельно в несколько проходов, каждый из которых фокусируется на более узком контексте. Для наглядности библиотека умеет генерировать интерактивную и полностью автономную HTML-визуализацию. Это позволяет за считаные минуты перейти от сырого текста к визуальному представлению, где можно исследовать тысячи извлеченных аннотаций. При этом LangExtract не замыкается на экосистеме Google: он поддерживает гибкую смену LLM-бэкендов, позволяя работать как с облачными моделями, так и с опенсорсными решениями, развернутыми локально. 🟡LangExtract может задействовать "мировые знания" LLM для обогащения данных. Информация может быть как явной (извлеченной из текста), так и основанной на внутренних знаниях модели. Разумеется, точность таких выведенных данных сильно зависит от возможностей конкретной LLM и качества предоставленных примеров в промпте. Изначально идеи, заложенные в LangExtract, были применены для извлечения информации из медицинских текстов. Библиотека отлично справляется с идентификацией лекарств, их дозировок и других атрибутов в клинических записях. Чтобы продемонстрировать возможности инструмента в узкоспециализированной области, Google создал на Hugging Face интерактивное демо RadExtract. В нем показано, как LangExtract может обработать радиологический отчет, написанный свободным текстом, и автоматически преобразовать его ключевые выводы в структурированный формат, подсвечивая важные находки. 📌Лицензирование: Apache 2.0 License. 🟡Статья 🖥Github @ai_machinelearning_big_data #AI #ML #LangExtract #Google

🖥 Transfunctions — библиотека транзакционных функций на Python Transfunctions — это инструмент для создания чистых, переиспо
🖥 Transfunctions — библиотека транзакционных функций на Python Transfunctions — это инструмент для создания чистых, переиспользуемых и управляемых пайплайнов из функций. Подходит для задач, где нужно чётко контролировать каждый шаг выполнения. Что такое транзакционные функции? Это функции, которые: • имеют чёткое начало и откат (rollback) — как в базах данных • могут быть объединены в цепочки, где каждая часть знает, как отменить свои действия • обрабатывают ошибки и контекст централизованно • позволяют писать бизнес-логику без дублирования и хаоса Что умеет Transfunctions: • Объединение функций в контролируемые пайплайны • Поддержка отката и логирования • Контекстное выполнение (например, сессии, транзакции, данные) • Минимум шаблонного кода Подходит для ETL, финансовых операций, инфраструктурных обработчиков и сценариев с проверками и откатами. pip install transfunctions 🔗 GitHub: https://github.com/pomponchik/transfunctions #python #pipeline #transactions #opensource #architecture @pythonl

Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. Python предос
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. Python предоставляет модуль itertools, который содержит готовые инструменты для таких задач. Например, для списка features = ['price', 'size', 'rating'] можно написать так:

from itertools import combinations

pairs = list(combinations(features, 2))
print(pairs)  # [('price', 'size'), ('price', 'rating'), ('size', 'rating')]
Функция combinations берёт на вход итерируемый объект и размер комбинации. В нашем случае размер равен 2, поэтому мы получаем все возможные неупорядоченные пары без повторов. Это решение не только короче, но и легче читается. Пользуйтесь библиотекой itertools, чтобы избавляться от рутины и писать более чистый код! @pythonl

Технологии, железо и роботы на Yandex Robotics Day уже 16 августа! На складах Маркета, Леманы Про, Перекрестка, Лавки и други
Технологии, железо и роботы на Yandex Robotics Day уже 16 августа!  На складах Маркета, Леманы Про, Перекрестка, Лавки и других компаний работают роботы Яндекса, которые помогают быстро сканировать товары, собирать посылки и перемещать заказы. Чтобы все функционировало быстро и точно, специалисты Яндекс Роботикс постоянно улучшают их.  16 августа в Москве пройдет митап, на котором они расскажут, как именно это делают:  — Серёжа Стариков выступит с докладом про коммуникационную платформу Yandex Robotics и ее применение в Yandex RMS — Дима Мовчан объяснит, как команда создает умную роборуку с помощью imitation learning и RL — Максим Пшибло расскажет, как с помощью Yandex Robotics Management System управлять несколькими роботами и какие алгоритмы необходимы этой системе Кроме докладов в программе презентация нового робота, выставка тех, которые уже вовсю работают на складах, нетворкинг и неформальное афтепати с экспертами Яндекс Роботикс.  Регистрируйтесь и зовите коллег! Реклама. ООО "ЯНДЕКС МАРКЕТ". ИНН 9704254424.

🆕 В pyfonts — мощное обновление! Теперь можно задать глобальный шрифт по умолчанию — и он применится ко всем текстам автомат
🆕 В pyfonts — мощное обновление! Теперь можно задать глобальный шрифт по умолчанию — и он применится ко всем текстам автоматически. Больше не нужно вручную проставлять font в каждом элементе 🎯 Идеально для проектов с единой визуальной стилистикой — экономит кучу времени и кода. 🔥 Фичу реализовал John Gardner — спасибо! Ждём фидбек, звёзды и предложения ✨ 📦 GitHub: http://github.com/JosephBARBIERDARNAL/pyfonts @pythonl

Новость для тех, кто хочет строить карьеру в computer science Яндекс Образование вместе с Неймарком и ФКН ВШЭ организуют студ
Новость для тех, кто хочет строить карьеру в computer science Яндекс Образование вместе с Неймарком и ФКН ВШЭ организуют студкемп в Нижнем Новгороде на тему компьютерного зрения. 🔹 Интенсивная теория: лекции и семинары от Яндекса, Неймарка, ФКН ВШЭ, личное общение со специалистами 🔹 Практическая часть: командные проекты и работа над навыками создания и внедрения компьютерного зрения в автономные системы и робототехнику. Участие в студкемпе бесплатно, но есть отбор. Победителям организаторы оплатят дорогу и проживание. Регистрация до 14 августа, по ссылке.

🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM Если нужно собрать и структурировать конт
🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM Если нужно собрать и структурировать контент с сайтов для ИИ — это мощный инструмент. 🧠 В основе: — Django + Scrapy + Celery — Асинхронный краулинг, API и UI — Скриншоты, PDF, JS-рендер, SSE 🚀 Возможности: — Быстрый запуск через Docker (`docker compose up`) — Интеграции с Dify, n8n, Langflow — Пакетная отправка запросов через REST API — SDK для Python, Go, Node, PHP ⚙️ Репозитории @pythonl

Новость для тех, кто хочет строить карьеру в computer science Яндекс Образование вместе с Неймарком и ФКН ВШЭ организуют студ
Новость для тех, кто хочет строить карьеру в computer science Яндекс Образование вместе с Неймарком и ФКН ВШЭ организуют студкемп в Нижнем Новгороде на тему компьютерного зрения. 🔹 Интенсивная теория: лекции и семинары от Яндекса, Неймарка, ФКН ВШЭ, личное общение со специалистами 🔹 Практическая часть: командные проекты и работа над навыками создания и внедрения компьютерного зрения в автономные системы и робототехнику. Участие в студкемпе бесплатно, но есть отбор. Победителям организаторы оплатят дорогу и проживание. Регистрация до 14 августа, по ссылке.

🖥 Хочешь узнать, какие библиотеки в твоём Python‑проекте реально используются? Многие проекты тянут за собой ненужные зависимости, особенно после десятков итераций. С помощью vulture ты можешь найти неиспользуемый код и импорты — и легко вычистить проект от мусора.


Установка vulture
pip install vulture

Поиск неиспользуемого кода и импортов
vulture your_project/ > unused.txt

Пример: посмотреть, что не используется
cat unused.txt
@pythonl

📘 На Stepik вышел курс — «Python для профессионалов» Уже пишете на Python, но хотите копнуть глубже? Этот курс выведет вас з
📘 На Stepik вышел курс — «Python для профессионалов» Уже пишете на Python, но хотите копнуть глубже? Этот курс выведет вас за пределы «основ» и покажет, что умеет современный язык 3.8+. 🔍 Что вы получите: • Итераторы, генераторы, декораторы — пишем чистый и лаконичный код • Async / await, asyncio, concurrent.futures — правильная конкурентность без боли • Метапрограммирование: дескрипторы, метаклассы, динамические классы • Понимание «под капотом»: байткод CPython, GIL, сборщик мусора • Оптимизация: cProfile, tracemalloc, timeit + приёмы ускорения и снижения памяти • ~200 задач, несколько задач с ручным ревью 🎓 Сертификат Stepik по завершении — добавьте в резюме или профиль LinkedIn 🚀 Прокачайте Python до уровня middle/senior. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов 👉 Пройти курс на Stepik

🌐 BrowserOS — операционная система внутри браузера на базе AI BrowserOS — это экспериментальный проект, превращающий браузер в полноценную AI‑среду с "живущими" агентами. По сути, это OS-слой внутри вкладки браузера, где ИИ-агенты могут взаимодействовать с интерфейсами как пользователи. 🧠 Основные идеи: — Агент может кликать, печатать, читать и взаимодействовать с окнами внутри браузера — Поддержка многозадачности: можно открыть несколько окон, как в реальной ОС — Простое API для создания интерфейсов и запуска ИИ-агентов — Можно подключать LLM и наделять их возможностью выполнять действия 📦 Особенности: — UI построен на React — Использует WebAssembly и Web Workers — Позволяет тестировать и запускать агента в контролируемой "песочнице" 💡 Подходит для: — Исследований в области AI-агентов — Прототипирования мультимодальных систем — Демонстрации взаимодействия LLM с интерфейсами 🔗 GitHub @pythonl

Хочешь знать, что происходит внутри ИТ крупного банка? Команда ПСБ рассказывает о работе и жизни в блоке ИТ! 🔹 Знакомься с к
Хочешь знать, что происходит внутри ИТ крупного банка? Команда ПСБ рассказывает о работе и жизни в блоке ИТ!   🔹 Знакомься с командой, их проектами и хобби 🔹 Участвуй в активностях: митапы, конференции, спорт 🔹 Читай и комментируй экспертные статьи   Подписывайся на канал  ИТ ПСБ !

🖥 Контекстный перехват stdout — как легко отключить или сохранить print 💡 Хотите, чтобы print() не мешал логике и при этом легко отключался или сохранялся в файл? Вместо того чтобы комментировать все print() в проде, подмените стандартный вывод через контекстный менеджер — и легко направляйте вывод в файл, /dev/null или даже буфер для последующей обработки. Это особенно полезно при отладке в прод-среде или при генерации логов без сторонних библиотек.

import sys
from contextlib import contextmanager
from io import StringIO
import os

@contextmanager
def capture_stdout(to_file=None, suppress=False):
    original_stdout = sys.stdout
    try:
        if suppress:
            sys.stdout = open(os.devnull, 'w')
        elif to_file:
            sys.stdout = open(to_file, 'w')
        else:
            buffer = StringIO()
            sys.stdout = buffer
        yield sys.stdout
    finally:
        sys.stdout.close() if sys.stdout not in (original_stdout, sys.__stdout__) else None
        sys.stdout = original_stdout

# Пример использования:
with capture_stdout(suppress=True):
    print("Этого вы не увидите")

with capture_stdout(to_file="output.log"):
    print("А это уйдёт в файл")

with capture_stdout() as captured:
    print("Это записано во внутренний буфер")

print("Буфер содержит:", captured.getvalue().strip())
@pythonl