⚠️ Внимание: фишинг-атака на разработчиков Python. Злоумышленники рассылают поддельные письма от имени PyPI с домена pypj.org, требуя "подтвердить email".
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Нужно временно отключить все принты — например, в проде или при юнит-тестах?
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
На экране простой способ сделать это через контекстный менеджер — без сторонних библиотек и без комментирования строк.
import sys, os
from contextlib import contextmanager
@contextmanager
def suppress_print():
saved = sys.stdout
sys.stdout = open(os.devnull, 'w')
yield
sys.stdout.close()
sys.stdout = saved
Пример:
print("Это видно")
with suppress_print():
print("А это — нет")
print("Снова видно")
- вопросы с собеседований Python
@Python_Community_ru
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
На экране простой способ сделать это через контекстный менеджер — без сторонних библиотек и без комментирования строк.
import sys, os
from contextlib import contextmanager
@contextmanager
def suppress_print():
saved = sys.stdout
sys.stdout = open(os.devnull, 'w')
yield
sys.stdout.close()
sys.stdout = saved
Пример:
print("Это видно")
with suppress_print():
print("А это — нет")
print("Снова видно")
- вопросы с собеседований Python
@Python_Community_ru
🔥1
🖥 Second‑Me
Это ваш “цифровой двойник”: агент, который обучается на ваших заметках, письмах и постах и помогает вести аккаунты в соцсетях.
В 2025 году проект получил крупное обновление — добавлен модуль для управления площадками вроде LinkedIn и Airbnb, а также улучшена персонализация бота.
https://github.com/mindverse/Second-Me
@Python_Community_ru
Это ваш “цифровой двойник”: агент, который обучается на ваших заметках, письмах и постах и помогает вести аккаунты в соцсетях.
В 2025 году проект получил крупное обновление — добавлен модуль для управления площадками вроде LinkedIn и Airbnb, а также улучшена персонализация бота.
https://github.com/mindverse/Second-Me
@Python_Community_ru
📰 Python без GIL: новая эра многопоточности
Недавно в Python 3.13 появилась экспериментальная возможность отключить Global Interpreter Lock — механизм, который десятилетиями ограничивал настоящую многопоточность в Python. Теперь можно сравнить производительность обычной и свободнопоточной версий интерпретатора.
Тесты с CPU-интенсивными задачами показывают ускорение в 3-4 раза при использовании 4 потоков в версии без GIL. Однако за это приходится платить: усложняется сборка мусора, требуется новая система управления памятью, а некоторые объекты становятся просто бессмертными.
Пока free-threaded Python остаётся опциональным, но в будущих версиях, начиная с 3.14, он может стать стандартом. Главный вопрос — насколько быстро сообщество и библиотеки адаптируются к этим изменениям.
🔗 Ссылка - *клик* (https://blog.jetbrains.com/pycharm/2025/07/faster-python-unlocking-the-python-global-interpreter-lock/)
@Python_Community_ru
Недавно в Python 3.13 появилась экспериментальная возможность отключить Global Interpreter Lock — механизм, который десятилетиями ограничивал настоящую многопоточность в Python. Теперь можно сравнить производительность обычной и свободнопоточной версий интерпретатора.
Тесты с CPU-интенсивными задачами показывают ускорение в 3-4 раза при использовании 4 потоков в версии без GIL. Однако за это приходится платить: усложняется сборка мусора, требуется новая система управления памятью, а некоторые объекты становятся просто бессмертными.
Пока free-threaded Python остаётся опциональным, но в будущих версиях, начиная с 3.14, он может стать стандартом. Главный вопрос — насколько быстро сообщество и библиотеки адаптируются к этим изменениям.
🔗 Ссылка - *клик* (https://blog.jetbrains.com/pycharm/2025/07/faster-python-unlocking-the-python-global-interpreter-lock/)
@Python_Community_ru
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 УСКОРЕНИЕ КОДА ЗА СЧЁТ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Медленно: обращение к свойствам объекта в цикле
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
total = 0
for item in self.data:
total += item * item
return total
# Быстрее: кэшируем ссылку на data как локальную переменную
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
data = self.data # локальная переменная
total = 0
for item in data:
total += item * item
return total
# Прирост в скорости особенно заметен при больших объёмах данных```
@Python_Community_ru
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Медленно: обращение к свойствам объекта в цикле
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
total = 0
for item in self.data:
total += item * item
return total
# Быстрее: кэшируем ссылку на data как локальную переменную
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
data = self.data # локальная переменная
total = 0
for item in data:
total += item * item
return total
# Прирост в скорости особенно заметен при больших объёмах данных```
@Python_Community_ru
🧪 uQLM — движок для SQL‑запросов к LLM, разработанный в CVS Health
Что если к языковой модели можно обращаться как к обычной базе данных?
💡 uQLM (Universal Query Language for Models) позволяет писать SQL‑подобные запросы, чтобы:
✅ Обращаться к LLM как к таблице
✅ Фильтровать, агрегировать и комбинировать ответы
✅ Подключать собственные модели и источники данных
✅ Использовать привычный синтаксис SQL без prompt-инженерии
📌 Пример запроса:
SELECT generate_response(prompt)
FROM gpt4
WHERE prompt LIKE '%explain%'
LIMIT 5;
uQLM работает как прослойка между пользователем и языковой моделью, облегчая интеграцию ИИ в аналитические пайплайны.
🔗 GitHub: https://github.com/cvs-health/uqlm
@Python_Community_ru
Что если к языковой модели можно обращаться как к обычной базе данных?
💡 uQLM (Universal Query Language for Models) позволяет писать SQL‑подобные запросы, чтобы:
✅ Обращаться к LLM как к таблице
✅ Фильтровать, агрегировать и комбинировать ответы
✅ Подключать собственные модели и источники данных
✅ Использовать привычный синтаксис SQL без prompt-инженерии
📌 Пример запроса:
SELECT generate_response(prompt)
FROM gpt4
WHERE prompt LIKE '%explain%'
LIMIT 5;
uQLM работает как прослойка между пользователем и языковой моделью, облегчая интеграцию ИИ в аналитические пайплайны.
🔗 GitHub: https://github.com/cvs-health/uqlm
@Python_Community_ru
🌟 Большой гайд по TOML и tomllib на Python
TOML стал стандартом для конфигурации Python-проектов благодаря своей простоте и читаемости. Начиная с Python 3.11, вы можете парсить TOML-файлы встроенным модулем tomllib без установки дополнительных зависимостей. Это удобно для работы с pyproject.toml и конфигами инструментов вроде pytest, mypy и black.
Хотя tomllib поддерживает только чтение файлов, его возможностей хватает для большинства задач. Для записи и сложного редактирования TOML можно использовать библиотеки toml или tomlkit. В статье подробно разбираются примеры чтения конфигов и работа с pyproject.toml.
🔗 Ссылка - *клик* (https://www.pythonpapers.com/p/python-101-reading-toml-with-python?triedRedirect=true)
@Python_Community_ru
TOML стал стандартом для конфигурации Python-проектов благодаря своей простоте и читаемости. Начиная с Python 3.11, вы можете парсить TOML-файлы встроенным модулем tomllib без установки дополнительных зависимостей. Это удобно для работы с pyproject.toml и конфигами инструментов вроде pytest, mypy и black.
Хотя tomllib поддерживает только чтение файлов, его возможностей хватает для большинства задач. Для записи и сложного редактирования TOML можно использовать библиотеки toml или tomlkit. В статье подробно разбираются примеры чтения конфигов и работа с pyproject.toml.
🔗 Ссылка - *клик* (https://www.pythonpapers.com/p/python-101-reading-toml-with-python?triedRedirect=true)
@Python_Community_ru
❌ Монолитные тесты = больше головной боли при отладке.
Когда в одном тесте проверяешь всё подряд, при падении непонятно, какой именно сценарий сломался.
✅ Пишем специфичные тесты.
Каждая функция тестирует один конкретный случай. Так при падении сразу видно, где ошибка.
Плохо:
def test_extract_sentiment():
assert extract_sentiment("I love this!") == "positive"
assert extract_sentiment("Terrible") == "negative"
assert extract_sentiment("On time") == "neutral"
Хорошо:
def test_extract_sentiment_positive():
assert extract_sentiment("I love this!") == "positive"
def test_extract_sentiment_negative():
assert extract_sentiment("Terrible") == "negative"
📌 Результат — быстрее находишь баги и не тратишь время на догадки.
@Python_Community_ru
Когда в одном тесте проверяешь всё подряд, при падении непонятно, какой именно сценарий сломался.
✅ Пишем специфичные тесты.
Каждая функция тестирует один конкретный случай. Так при падении сразу видно, где ошибка.
Плохо:
def test_extract_sentiment():
assert extract_sentiment("I love this!") == "positive"
assert extract_sentiment("Terrible") == "negative"
assert extract_sentiment("On time") == "neutral"
Хорошо:
def test_extract_sentiment_positive():
assert extract_sentiment("I love this!") == "positive"
def test_extract_sentiment_negative():
assert extract_sentiment("Terrible") == "negative"
📌 Результат — быстрее находишь баги и не тратишь время на догадки.
@Python_Community_ru
🚀 FastMCP 2.0 — новый стандарт для интеграции LLM в Python-приложения. Этот фреймворк для работы с упрощает подключение языковых моделей к внешним ресурсам. Инструмент предлагает стандартизированный способ предоставления данных, инструментов и шаблонов запросов для ИИ-приложений.
Проект имеет минималистичный синтаксис: достаточно декоратора @mcp.tool, чтобы превратить обычную Python-функцию в инструмент, доступный для LLM. Проект развивается как альтернатива официальному MCP SDK и уже включает клиентские библиотеки, систему аутентификации и инструменты для тестирования. При этом система автоматически генерирует схему на основе type hints и docstrings.
🤖 GitHub (https://github.com/jlowin/fastmcp)
@Python_Community_ru
Проект имеет минималистичный синтаксис: достаточно декоратора @mcp.tool, чтобы превратить обычную Python-функцию в инструмент, доступный для LLM. Проект развивается как альтернатива официальному MCP SDK и уже включает клиентские библиотеки, систему аутентификации и инструменты для тестирования. При этом система автоматически генерирует схему на основе type hints и docstrings.
🤖 GitHub (https://github.com/jlowin/fastmcp)
@Python_Community_ru
🔥2
⚡️ DeepCode — открытая AI-платформу для автоматической генерации кода.
DeepCode превращает научные статьи и технические документы в готовые проекты, включая фронтенд, бэкенд и полноценные репозитории.
🔹 Основные возможности:
• Paper2Code — реализация идей из исследований в рабочий код
• Text2Web — генерация интерфейсов по описанию
• Text2Backend — автоматическое создание масштабируемых серверов
• Поддержка длинных документов и многофайловых проектов
🔜 В ближайшее время разработчики обещают:
• Автоматическую проверку и валидацию кода
• Повышение скорости генерации
• Улучшенную работу с требованиями
• Бенчмарки воспроизведения научных статей (PaperBench)
Проект полностью open source: https://github.com/HKUDS/DeepCode
#deepcode #AI #coding
@Python_Community_ru
DeepCode превращает научные статьи и технические документы в готовые проекты, включая фронтенд, бэкенд и полноценные репозитории.
🔹 Основные возможности:
• Paper2Code — реализация идей из исследований в рабочий код
• Text2Web — генерация интерфейсов по описанию
• Text2Backend — автоматическое создание масштабируемых серверов
• Поддержка длинных документов и многофайловых проектов
🔜 В ближайшее время разработчики обещают:
• Автоматическую проверку и валидацию кода
• Повышение скорости генерации
• Улучшенную работу с требованиями
• Бенчмарки воспроизведения научных статей (PaperBench)
Проект полностью open source: https://github.com/HKUDS/DeepCode
#deepcode #AI #coding
@Python_Community_ru
👍3
📌Python на взлете, а Python Software Foundation в минусе на 1.5 млн. долларов: разбираем свежий опрос.
Python Software Foundation (PSF) совместно с JetBrains опубликовала (https://lp.jetbrains.com/python-developers-survey-2024/) результаты восьмого, самого крупного в истории опроса разработчиков - в нём приняли участие более 30 000 человек.
Данные, собранные в конце 2024 года, показывают, что 72% респондентов используют Python в рабочих целях и это подтверждает доминирующую роль языка в индустрии. И популярность Python продолжает расти: согласно другому исследованию, от Stack Overflow, использование языка увеличилось на 7%.
🟡Приток свежей крови в экосистему.
Половина опрошенных имеют менее 2 лет профессионального опыта в программировании, а 39% начали использовать Python в течение последних 2 лет. Это говорит о том, что язык активно привлекает новичков и остается ключевой точкой входа в разработку.
🟡Парадокс версий.
Только 15% разработчиков используют последнюю на момент опроса версию, 3.13. В PSF утверждают, что массовый переход на нее мог бы сэкономить миллионы долларов на облачных вычислениях за счет повышения эффективности.
Однако сами разработчики не торопятся: 53% заявляют, что текущая версия полностью удовлетворяет их потребности, 27% ссылаются на проблемы с совместимостью, а 25% - на нехватку времени.
При этом нельзя сказать, что сообщество инертно. Самая популярная версия - 3.12 (35%), выпущенная в конце 2023 года, за ней следует 3.11 (21%), что говорит о довольно быстрой адаптации к не самым последним, но свежим релизам.
🟡Сферы применения.
Анализ данных (48%) и веб-разработка (46%) идут практически вровень. Но если к анализу прибавить ML (41%) и инжиниринг данных (31%), то доминирование Data Science становится очевидным.
В мире веб-фреймворков происходит смена караула: FastAPI (38%) резко вырвался вперед, обогнав ветеранов: Django (35%) и Flask (34%). Год назад у FastAPI было всего 29%.
Ещё один стремительный взлёт — у написанного на Rust менеджера пакетов uv, который позиционируется как замена pip. Заявляя о кратном превосходстве в скорости, он уже отхватил 11% пользователей.
А вот в лагере IDE плохие новости для спонсора опроса, JetBrains: Visual Studio Code укрепил свое лидерство, набрав 48% (против 41% в прошлом году), а доля PyCharm снизилась до 25% (с 31%).
🟡Финансовые проблемы Python Software Foundation.
Ранее в этом месяце PSF объявила о приостановке своей грантовой программы из-за нехватки средств.
Годовой отчет за 2024 год показал чистый убыток в размере 1 462 000 долларов, что значительно больше, чем в 2023 году, там убыток был 225 000 долларов.
Фонд, который поддерживает репозиторий PyPI, дистрибуцию самого Python и нанимает разработчиков для CPython, оказался в сложной ситуации и явно нуждается в большей поддержке и ресурсах от корпораций, которые строят свой бизнес и получают доход на Python.
#news #ai #ml #python
@Python_Community_ru
Python Software Foundation (PSF) совместно с JetBrains опубликовала (https://lp.jetbrains.com/python-developers-survey-2024/) результаты восьмого, самого крупного в истории опроса разработчиков - в нём приняли участие более 30 000 человек.
Данные, собранные в конце 2024 года, показывают, что 72% респондентов используют Python в рабочих целях и это подтверждает доминирующую роль языка в индустрии. И популярность Python продолжает расти: согласно другому исследованию, от Stack Overflow, использование языка увеличилось на 7%.
🟡Приток свежей крови в экосистему.
Половина опрошенных имеют менее 2 лет профессионального опыта в программировании, а 39% начали использовать Python в течение последних 2 лет. Это говорит о том, что язык активно привлекает новичков и остается ключевой точкой входа в разработку.
🟡Парадокс версий.
Только 15% разработчиков используют последнюю на момент опроса версию, 3.13. В PSF утверждают, что массовый переход на нее мог бы сэкономить миллионы долларов на облачных вычислениях за счет повышения эффективности.
Однако сами разработчики не торопятся: 53% заявляют, что текущая версия полностью удовлетворяет их потребности, 27% ссылаются на проблемы с совместимостью, а 25% - на нехватку времени.
При этом нельзя сказать, что сообщество инертно. Самая популярная версия - 3.12 (35%), выпущенная в конце 2023 года, за ней следует 3.11 (21%), что говорит о довольно быстрой адаптации к не самым последним, но свежим релизам.
🟡Сферы применения.
Анализ данных (48%) и веб-разработка (46%) идут практически вровень. Но если к анализу прибавить ML (41%) и инжиниринг данных (31%), то доминирование Data Science становится очевидным.
В мире веб-фреймворков происходит смена караула: FastAPI (38%) резко вырвался вперед, обогнав ветеранов: Django (35%) и Flask (34%). Год назад у FastAPI было всего 29%.
Ещё один стремительный взлёт — у написанного на Rust менеджера пакетов uv, который позиционируется как замена pip. Заявляя о кратном превосходстве в скорости, он уже отхватил 11% пользователей.
А вот в лагере IDE плохие новости для спонсора опроса, JetBrains: Visual Studio Code укрепил свое лидерство, набрав 48% (против 41% в прошлом году), а доля PyCharm снизилась до 25% (с 31%).
🟡Финансовые проблемы Python Software Foundation.
Ранее в этом месяце PSF объявила о приостановке своей грантовой программы из-за нехватки средств.
Годовой отчет за 2024 год показал чистый убыток в размере 1 462 000 долларов, что значительно больше, чем в 2023 году, там убыток был 225 000 долларов.
Фонд, который поддерживает репозиторий PyPI, дистрибуцию самого Python и нанимает разработчиков для CPython, оказался в сложной ситуации и явно нуждается в большей поддержке и ресурсах от корпораций, которые строят свой бизнес и получают доход на Python.
#news #ai #ml #python
@Python_Community_ru
🔋 PikaPython — ультралегкий интерпретатор Python для микроконтроллеров. Проект позволяет запускать Python-код на устройствах с 4 КБ RAM и 64 КБ Flash. Не требует операционной системы и работает через REPL по UART.
Инструмент имеет встроенный прекомпилятор для автоматической генерации биндингов C-функций из .pyi файлов. Есть готовые BSP для популярных MCU и демо-проекты.
🤖 GitHub (https://github.com/pikasTech/PikaPython)
@Python_Community_ru
Инструмент имеет встроенный прекомпилятор для автоматической генерации биндингов C-функций из .pyi файлов. Есть готовые BSP для популярных MCU и демо-проекты.
🤖 GitHub (https://github.com/pikasTech/PikaPython)
@Python_Community_ru
🖥 Walrus оператор := — присвоение прямо в выражении
В Python есть малоизвестная фишка: можно использовать оператор присваивания := (его ещё называют «walrus»). Он позволяет присваивать значение прямо внутри выражения. Это делает код короче и избавляет от повторных вызовов функций.
📌 Особенности:
• Работает в while, if, list comprehension.
• Удобен для сокращения кода и избежания дублирования.
• Но злоупотребление может сделать код менее читаемым.
🟢Пример: удобно при чтении строк из файла или работе с регулярными выражениями.
Чтение строк из файла с walrus-оператором
def read_file(path):
with open(path) as f:
while (line := f.readline()):
print("Строка:", line.strip())
# Поиск совпадения через regex
import re
pattern = re.compile(r"\d+")
if (match := pattern.search("abc123xyz")):
print("Нашли число:", match.group())
# Применение в list comprehension
nums = [s for s in ["42", "hello", "100"] if (n := s.isdigit())]
print(nums) # ['42', '100']
📌 Больше фишек Python (https://www.youtube.com/shorts/lptxJn6JRF0)
@Python_Community_ru
В Python есть малоизвестная фишка: можно использовать оператор присваивания := (его ещё называют «walrus»). Он позволяет присваивать значение прямо внутри выражения. Это делает код короче и избавляет от повторных вызовов функций.
📌 Особенности:
• Работает в while, if, list comprehension.
• Удобен для сокращения кода и избежания дублирования.
• Но злоупотребление может сделать код менее читаемым.
🟢Пример: удобно при чтении строк из файла или работе с регулярными выражениями.
Чтение строк из файла с walrus-оператором
def read_file(path):
with open(path) as f:
while (line := f.readline()):
print("Строка:", line.strip())
# Поиск совпадения через regex
import re
pattern = re.compile(r"\d+")
if (match := pattern.search("abc123xyz")):
print("Нашли число:", match.group())
# Применение в list comprehension
nums = [s for s in ["42", "hello", "100"] if (n := s.isdigit())]
print(nums) # ['42', '100']
📌 Больше фишек Python (https://www.youtube.com/shorts/lptxJn6JRF0)
@Python_Community_ru
YouTube
🔥 Python: Walrus оператор малоизвестная фишка #python#coding
В Python есть малоизвестная фишка: можно использовать оператор присваивания := (его ещё называют «walrus»). Он позволяет присваивать значение прямо внутри вы...
🐍 Полезный совет по Python: используйте "".join() вместо конкатенации строк в цикле
Многие новички пишут так:
words = ["Python", "очень", "крут"]
result = ""
for w in words:
result += w + " "
print(result)
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
words = ["Python", "очень", "крут"]
result = " ".join(words)
print(result)
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
lines = ["строка 1", "строка 2", "строка 3"]
text = "\n".join(lines)
print(text)
Вывод:
строка 1
строка 2
строка 3
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
@Python_Community_ru
Многие новички пишут так:
words = ["Python", "очень", "крут"]
result = ""
for w in words:
result += w + " "
print(result)
Код рабочий, но неэффективный: при каждой конкатенации создаётся новая строка, что сильно замедляет работу на больших объёмах данных.
🚀 Правильный способ — использовать " ".join():
words = ["Python", "очень", "крут"]
result = " ".join(words)
print(result)
💡 Преимущества:
- Быстрее и эффективнее на больших списках
- Код чище и короче
-Можно легко задавать разделитель (пробел, запятая, \n)
📊 Пример:
lines = ["строка 1", "строка 2", "строка 3"]
text = "\n".join(lines)
print(text)
Вывод:
строка 1
строка 2
строка 3
📌 Итог
Используйте "".join() для объединения строк из списка — это питонично, быстро и удобно.
@Python_Community_ru
🖥 Полный проект с нуля: клон голоса на Python
🔊 Клонирование голоса на Python с нуля: пошаговый разбор, рабочий код, проверка сходства и защита с водяными знаками.
Полное руководство для разработчиков по созданию собственного проекта voice cloning.
📌 Читать (https://uproger.com/polnyj-proekt-s-nulya-klon-golosa-na-python/)
@Python_Community_ru
🔊 Клонирование голоса на Python с нуля: пошаговый разбор, рабочий код, проверка сходства и защита с водяными знаками.
Полное руководство для разработчиков по созданию собственного проекта voice cloning.
📌 Читать (https://uproger.com/polnyj-proekt-s-nulya-klon-golosa-na-python/)
@Python_Community_ru
📊 Из PDF в DataFrame за пару строк кода
Работаете с финансовыми отчётами или любыми табличными данными в PDF?
С библиотекой docling это становится максимально просто.
Большинство инструментов для работы с PDF заставляют собирать пайплайн вручную:
одна библиотека для извлечения текста, другая для парсинга, третья для чанкинга.
Docling закрывает весь процесс — от сырых PDF до структурированных и готовых к поиску данных — в одном решении.
📌 Преимущество Docling
🔹 Поддержка PDF, DOCX, PPTX, HTML и изображений
🔹 AI-модель TableFormer для понимания сложных таблиц
🔹 Vision-модели для OCR и image-to-text
🔹 Простой экспорт в pandas DataFrame, JSON и Markdown
Пример: конвертируем PDF с отчётом о доходах и сразу получаем pandas DataFrame 👇
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("financial_report.pdf")
for table in result.document.tables:
df = table.export_to_dataframe()
📌 Github (https://github.com/docling-project/docling)
#AI #RAG #Docling #DataEngineering #PDF
@Python_Community_ru
Работаете с финансовыми отчётами или любыми табличными данными в PDF?
С библиотекой docling это становится максимально просто.
Большинство инструментов для работы с PDF заставляют собирать пайплайн вручную:
одна библиотека для извлечения текста, другая для парсинга, третья для чанкинга.
Docling закрывает весь процесс — от сырых PDF до структурированных и готовых к поиску данных — в одном решении.
📌 Преимущество Docling
🔹 Поддержка PDF, DOCX, PPTX, HTML и изображений
🔹 AI-модель TableFormer для понимания сложных таблиц
🔹 Vision-модели для OCR и image-to-text
🔹 Простой экспорт в pandas DataFrame, JSON и Markdown
Пример: конвертируем PDF с отчётом о доходах и сразу получаем pandas DataFrame 👇
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("financial_report.pdf")
for table in result.document.tables:
df = table.export_to_dataframe()
📌 Github (https://github.com/docling-project/docling)
#AI #RAG #Docling #DataEngineering #PDF
@Python_Community_ru
👎1
☕️ JPype — проект, позволяющий вызывать Java-код напрямую из Python-скриптов. В отличие от Jython, JPype не переписывает Python на Java, а создает мост между двумя виртуальными машинами через нативные интерфейсы.
Инструмент сохраняет доступ ко всем возможностям CPython и Java-библиотек одновременно. Это открывает возможности для использования Java-фреймворков в научных вычислениях на Python, тестирования Java-кода через Python-скрипты и интеграции legacy-систем.
🤖 GitHub (https://github.com/jpype-project/jpype)
@Python_Community_ru
Инструмент сохраняет доступ ко всем возможностям CPython и Java-библиотек одновременно. Это открывает возможности для использования Java-фреймворков в научных вычислениях на Python, тестирования Java-кода через Python-скрипты и интеграции legacy-систем.
🤖 GitHub (https://github.com/jpype-project/jpype)
@Python_Community_ru
Media is too big
VIEW IN TELEGRAM
🚀 Jupyter Agent 2
Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!
🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов
👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2
@Python_Community_ru
Этот агент умеет:
📂 Загружать данные
💻 Запускать код
📊 Строить графики прямо в Jupyter — быстрее, чем вы успеете прокрутить экран!
🤖 Основан на движке Qwen3-Coder
⚡️ Работает на Cerebras
⚙️ Запускается в E2B
↕️ Поддерживает загрузку файлов
👉 Попробовать можно здесь: https://hf.co/spaces/lvwerra/jupyter-agent-2
@Python_Community_ru
🐍 Изучаем MCP на Python — серия уроков от Microsoft
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚 Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@Python_Community_ru
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚 Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@Python_Community_ru