📌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
🐍 Полезный совет по 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
⚡️ Limekit — кроссплатформенный GUI-фреймворк на Lua
Хочешь писать десктоп-приложения без Python и компиляции?
С Limekit всё просто: «написал один раз — запускай везде» (Windows, macOS, Linux).
✨ Что умеет:
- Чистый Lua API, без необходимости знать Python
- 40+ встроенных виджетов, поддержка Material Design и тёмной темы
- Запуск без сборки — достаточно Python и самого фреймворка
- Много примеров и документация на ReadTheDocs
- Полностью опенсорс (GPLv3)
📌 Минимальный пример:
local window = Window{title='Limekit app'}
window:show()
Две строки кода — и у тебя уже готовое окно 🚀
⚡️GitHub (https://github.com/mitosisX/Limekit)
@Python_Community_ru
Хочешь писать десктоп-приложения без Python и компиляции?
С Limekit всё просто: «написал один раз — запускай везде» (Windows, macOS, Linux).
✨ Что умеет:
- Чистый Lua API, без необходимости знать Python
- 40+ встроенных виджетов, поддержка Material Design и тёмной темы
- Запуск без сборки — достаточно Python и самого фреймворка
- Много примеров и документация на ReadTheDocs
- Полностью опенсорс (GPLv3)
📌 Минимальный пример:
local window = Window{title='Limekit app'}
window:show()
Две строки кода — и у тебя уже готовое окно 🚀
⚡️GitHub (https://github.com/mitosisX/Limekit)
@Python_Community_ru
🤔1
🆕 OctoBot — мощный криптовалютный торговый бот с открытым исходным кодом!
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
- OctoBot — ядро с backtesting и стратегическим менеджментом
- OctoBot-Tentacles — модули для стратегий, нотификаций, внешних данных
- OctoBot-Trading — взаимодействие с биржами через ccxt
- Дополнительные пакеты: OctoBot-Services, OctoBot-Backtesting, OctoBot-Commons, Async-Channel
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз 2.0.12 (июнь 2025) с поддержкой Windows, Linux (x64, arm64) и macOS
- Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@Python_Community_ru
OctoBot — это:
- Открытый и настраиваемый крипто-торговый бот от Drakkar-Software
- Интерфейс конфигурации и система *tentacles* (модули-«щупальца») для гибкого построения стратегий — от технического анализа до интеграции внешних данных
- Поддержка Spot и Futures, торговля на более чем 15 биржах через библиотеку ccxt
- Возможности: создание и тестирование стратегий, оптимизация, торговля корзиной криптовалют, использование AI-инструментов и backtesting
Архитектура проекта:
- OctoBot — ядро с backtesting и стратегическим менеджментом
- OctoBot-Tentacles — модули для стратегий, нотификаций, внешних данных
- OctoBot-Trading — взаимодействие с биржами через ccxt
- Дополнительные пакеты: OctoBot-Services, OctoBot-Backtesting, OctoBot-Commons, Async-Channel
Активность и релизы:
- 4,5k★ и 900+ форков на GitHub
- Недавний релиз 2.0.12 (июнь 2025) с поддержкой Windows, Linux (x64, arm64) и macOS
- Регулярные обновления и активное сообщество
Почему это важно:
- Гибкая модульная архитектура
- Возможность добавлять свои стратегии и источники данных
- Отличный инструмент для изучения алгоритмической торговли и прототипирования
- Интеграции с AI, TradingView, Telegram
👉 Репозиторий: https://github.com/Drakkar-Software/OctoBot
@Python_Community_ru
GitHub
GitHub - Drakkar-Software/OctoBot: Free open source crypto trading bot to automate AI, Grid, DCA and TradingView strategies on…
Free open source crypto trading bot to automate AI, Grid, DCA and TradingView strategies on Binance, Hyperliquid and 15+ exchanges, with a simple interface. - Drakkar-Software/OctoBot
This media is not supported in your browser
VIEW IN TELEGRAM
🍏 Apple представила FastVLM на Hugging Face — модели 0.5B, 1.5B и 7B с поддержкой WebGPU
VLM (Vision-Language Model) — это модель, которая умеет одновременно работать с картинками и текстом: понимать, что изображено, описывать картинку словами, отвечать на вопросы по изображению и совмещать визуальные и текстовые данные.
⚡ Что это значит:
- До 85 раз быстрее и в 3.4 раза компактнее аналогичных VLM
- У крупных моделей время до первого токена стало быстрее в 7.9 раз
- Меньше выходных токенов + быстрее обработка картинок высокого разрешения
🔥Модель работает в реальном времени прямо в браузере через transformers.js и WebGPU.
https://huggingface.co/spaces/apple/fastvlm-webgpu
@Python_Community_ru
VLM (Vision-Language Model) — это модель, которая умеет одновременно работать с картинками и текстом: понимать, что изображено, описывать картинку словами, отвечать на вопросы по изображению и совмещать визуальные и текстовые данные.
⚡ Что это значит:
- До 85 раз быстрее и в 3.4 раза компактнее аналогичных VLM
- У крупных моделей время до первого токена стало быстрее в 7.9 раз
- Меньше выходных токенов + быстрее обработка картинок высокого разрешения
🔥Модель работает в реальном времени прямо в браузере через transformers.js и WebGPU.
https://huggingface.co/spaces/apple/fastvlm-webgpu
@Python_Community_ru
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Необычный Python-совет
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
class PowTable:
def __init__(self, power):
self.power = power
def __getitem__(self, n):
return n ** self.power
squares = PowTable(2)
cubes = PowTable(3)
print(squares[5]) # 25
print(cubes[4]) # 64
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
@Python_Community_ru
В Python можно перегрузить оператор [] и превратить объект в умный словарь или вычисляемый массив. Это позволяет писать очень выразительный код.
Пример: создадим класс, который хранит функцию и вычисляет результат «на лету» при обращении по индексу:
class PowTable:
def __init__(self, power):
self.power = power
def __getitem__(self, n):
return n ** self.power
squares = PowTable(2)
cubes = PowTable(3)
print(squares[5]) # 25
print(cubes[4]) # 64
👉 В итоге obj[x] может не просто доставать значение, а вычислять его динамически.
Это мощный приём для DSL, кэшей и ленивых вычислений.
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Полезный совет: any и all в Python работают с генераторами и используют short-circuit
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru
Иногда в python есть малоизвестные особенности, которые могут сильно помочь.
Например, функция all и any умеют работать не только с простыми списками, но и с генераторами. Это значит, что пайтон остановит проверку сразу, как только результат станет очевидным — это называется "шорт-сёркьют".
nums = [0, 0, 0, 5, 0]
#any (эни) вернёт True, как только найдёт первый элемент != 0
print(any(nums)) # True
#ll (ол) вернёт False, как только встретит первый элемент == 0
print(all(nums)) # False
#использование с генератором — не создаёт лишний список
print(any(x > 10 for x in nums)) # False
Это позволяет писать очень эффективный код без лишних проверок и без создания промежуточных списков.
@Python_Community_ru
🚀 Современная система сборки Meson
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@Python_Community_ru
Meson — это высокопроизводительная система сборки, ориентированная на простоту и скорость. Она поддерживает множество языков и инструментов, обеспечивая гибкость и эффективность в разработке.
🚀 Основные моменты:
- Поддержка Python и Ninja для сборки.
- Быстрая и интуитивно понятная настройка проектов.
- Активное сообщество и возможность внесения вкладов.
- Совместимость с различными платформами и языками.
📌 GitHub: https://github.com/mesonbuild/meson
@Python_Community_ru
⚠️ SQL-инъекция через f-string
Если подставлять значения прямо в SQL через f-string, злоумышленник может выполнить любой код в базе:
name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)
💥 И вот таблица accounts удалена!
Почему так?
Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.
✅ Правильный способ — использовать параметры:
name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))
✔ Имя ищется как текст, база остаётся в безопасности.
👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.
Используй параметризованные запросы — это надёжная защита от SQL-инъекций.
@Python_Community_ru
Если подставлять значения прямо в SQL через f-string, злоумышленник может выполнить любой код в базе:
name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)
💥 И вот таблица accounts удалена!
Почему так?
Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.
✅ Правильный способ — использовать параметры:
name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))
✔ Имя ищется как текст, база остаётся в безопасности.
👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.
Используй параметризованные запросы — это надёжная защита от SQL-инъекций.
@Python_Community_ru
🔥2👍1
🔍 Django ModelSearch: Умный поиск для ваших моделей
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
#python
@Python_Community_ru
Django ModelSearch позволяет индексировать модели Django и осуществлять поиск с помощью ORM. Поддерживает PostgreSQL FTS, SQLite FTS5, Elasticsearch и OpenSearch. Идеально подходит для создания мощных поисковых решений в ваших приложениях.
🚀Основные моменты:
- Индексация моделей в Elasticsearch и OpenSearch
- Поддержка автозаполнения и фасетного поиска
- Возможность использования существующих QuerySets
- Поддержка нечеткого поиска и структурированных запросов
- Нулевая простоя при перестройке индекса
📌 GitHub: https://github.com/kaedroho/django-modelsearch
#python
@Python_Community_ru
GitHub
GitHub - wagtail/django-modelsearch: Index Django Models with Elasticsearch or OpenSearch and query them with the ORM
Index Django Models with Elasticsearch or OpenSearch and query them with the ORM - wagtail/django-modelsearch
📐 Agent Reinforcement Trainer — фреймворк для обучения ИИ-агентов через reinforcement learning
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub (https://github.com/OpenPipe/ART)
@Python_Community_ru
Проект предлагает удобный способ прокачки LLM для решения практических задач. Во время работы ART использует метод GRPO и позволяет обучать агентов работать с MCP-серверами, играть в игры и выполнять другие действия через взаимодействие со средой.
Инструмент минимально требователен к данным — система сама анализирует доступные инструменты и генерирует учебные сценарии. Поддерживается интеграция с популярными языковыми моделями, включая Qwen 2.5.
🤖 GitHub (https://github.com/OpenPipe/ART)
@Python_Community_ru