en
Feedback
Python/ django

Python/ django

Open in Telegram

📈 Analytical overview of Telegram channel Python/ django

Channel Python/ django (@pythonl) in the Russian language segment is an active participant. Currently, the community unites 60 075 subscribers, ranking 2 192 in the Technologies & Applications category and 10 214 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 60 075 subscribers.

According to the latest data from 05 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -562 over the last 30 days and by -8 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 6.76%. Within the first 24 hours after publication, content typically collects 3.58% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 4 065 views. Within the first day, a publication typically gains 2 153 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 15.
  • Thematic interests: Content is focused on key topics such as github, claude, контекст, архитектура, api.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
по всем вопросам @haarrp @itchannels_telegram - 🔥 все ит каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - 📚 @pythonlbooks РКН: clck.ru/3Fmxm...

Thanks to the high frequency of updates (latest data received on 07 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

60 075
Subscribers
-824 hours
-1237 days
-56230 days
Posts Archive
🐍 7 “бесполезных” функций Python, которые на самом деле полезны Инструменты из стандартной библиотеки, которые могут удивить: 1. textwrap.dedent() — удаляет отступы у многострочного текста.

import textwrap
text = textwrap.dedent(\"\"\"
    Привет!
    Это текст с отступами.
\"\"\").strip()
print(text)
2. difflib.get_close_matches() — находит похожие строки.

import difflib
words = ["python", "java", "javascript"]
print(difflib.get_close_matches("javascrip", words))
3. uuid.uuid4() — генерирует уникальный ID.

import uuid
print(uuid.uuid4())
4. shutil.get_terminal_size() — узнаёт размеры терминала.

import shutil
columns, rows = shutil.get_terminal_size()
print(f"Размер терминала: {columns}x{rows}")
5. functools.lru_cache() — кэширует результаты функции.

from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
    if n < 2:
        return n
    return fib(n-1)   fib(n-2)
print(fib(100))
6. itertools.groupby() — группирует элементы по ключу.

from itertools import groupby
data = [('fruit', 'apple'), ('fruit', 'banana'), ('veg', 'carrot')]
for key, group in groupby(data, lambda x: x[0]):
    print(key, list(group))
7. contextlib.suppress() — элегантная альтернатива try-except.

from contextlib import suppress
with suppress(FileNotFoundError):
    open("not_exist.txt")
@pythonl

🔍 Основные нововведения в Django 5.2 1. 📦 Автоматический импорт моделей в интерактивной оболочке Теперь при запуске команды
🔍 Основные нововведения в Django 5.2 1. 📦 Автоматический импорт моделей в интерактивной оболочке Теперь при запуске команды python manage.py shell все модели из установленных приложений автоматически импортируются. Это упрощает работу в интерактивной оболочке, позволяя сразу использовать модели без необходимости ручного импорта. Для получения подробностей об импортированных объектах можно использовать флаг -v 2.​ 2. 🔗 Поддержка составных первичных ключей Django 5.2 вводит нативную поддержку составных первичных ключей через класс CompositePrimaryKey. Это позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей, без необходимости использования сторонних решений.​ 3. 🧩 Гибкая настройка BoundField в формах Теперь можно переопределять класс BoundField на уровне проекта, формы или отдельного поля, устанавливая атрибут bound_field_class. Это предоставляет разработчикам более тонкий контроль над отображением и поведением форм.​ 4. ⚡ Расширенная асинхронная поддержка Django продолжает движение в сторону асинхронности, добавляя новые асинхронные методы и улучшая реализацию бэкендов аутентификации. Это особенно полезно для операций, связанных с вводом-выводом, и способствует созданию более производительных приложений.​ 5. 🎨 Новые виджеты форм и улучшения интерфейса Добавлены новые виджеты форм, такие как ColorInput, SearchInput и TelInput, соответствующие стандартам HTML5. Также улучшена доступность форм для пользователей с особыми потребностями.​ Bastaki Software Solutions L.L.C-FZ 6. 🗃️ Улучшения в работе с базой данных Поддержка изогнутых геометрий в GDAL, включая CurvePolygon, CompoundCurve, CircularString, MultiSurface и MultiCurve. По умолчанию соединения с MySQL используют кодировку utf8mb4 вместо устаревшей utf8mb3. Улучшена работа методов values() и values_list(), теперь они генерируют SELECT-запросы в указанном порядке.​ 🔧 Совместимость и поддержка Django 5.2 поддерживает Python версий 3.10–3.13. С выходом этой версии, основная поддержка Django 5.1 завершена. Последний минорный релиз 5.1.8, также содержащий обновления безопасности, был выпущен одновременно с 5.2. Django 5.0 достиг конца расширенной поддержки. Последний релиз безопасности, 5.0.14, также был выпущен сегодня. Рекомендуется обновиться до версии 5.1 или более новой. 📥 Обновление и ресурсы Загрузить Django 5.2 можно с официальной страницы загрузки или через PyPI. Полные примечания к релизу доступны в официальной документации. Для автоматического обновления кода и устранения устаревших конструкций можно использовать инструмент django-upgrade.​ Django Project Django 5.2 предлагает множество улучшений, направленных на упрощение разработки и повышение производительности приложений. Рекомендуется ознакомиться с новыми возможностями и планировать обновление своих проектов для использования всех преимуществ этой версии. 📌 Релиз @pythonl

⚡️Строим рекомендательную систему фильмов на Kaggle Вы когда-нибудь хотели сделать свою собственную систему рекомендаций филь
⚡️Строим рекомендательную систему фильмов на Kaggle Вы когда-нибудь хотели сделать свою собственную систему рекомендаций фильмов? 🎬 Приходите на бесплатный вебинар, где Савелий Батурин, Senior ML-Engineer и преподаватель курса по ML школы Simulative в прямом эфире покажет как построить рекомендательную систему фильмов на Kaggle. Что будем делать на вебинаре: 🟠Разберем имеющиеся данные фильмов с их оценками 🟠Проведем предобработку данных 🟠Построим рекомендательную систему на основе машинного обучения 🟠Проведем расчет и анализ метрик на основе результатов работы модели Вебинар будет интересен как новичкам, так и уже опытным специалистам 😶Зарегистрироваться на бесплатный вебинар

🚀 Python-разработчик — от основ до синьора. Если вы ищете структурированный roadmap в бэкенд-разработке на Python, обратите
🚀 Python-разработчик — от основ до синьора. Если вы ищете структурированный roadmap в бэкенд-разработке на Python, обратите внимание на дорожную карту от Boot.dev. Она начинается с базовых навыков (Linux, Git, ООП) и ведёт к сложным темам: алгоритмы, HTTP-серверы, безопасность и DevOps-инструменты. Создатели сделали акцент на практике. После каждого теоретического блока предлагается создать проект: от простого бота до агрегатора блогов с использованием SQL и облачных хранилищ. 🤖 GitHub @python_job_interview

👩‍💻 Docker — лучший канал для ускоренного обучения DevOps. С помощью инфографики, наглядных визуализаций и коротких обучающ
+5
👩‍💻 Docker — лучший канал для ускоренного обучения DevOps. С помощью инфографики, наглядных визуализаций и коротких обучающих видео вы изучите все ключевые концепции работы с Docker и методики DevOps. Прокачать скиллы: t.me/DevopsDocker

🐍 Dulwich — проект, предлагающий альтернативу классическим библиотекам вроде GitPython и pygit2. Это полностью Python-реализ
🐍 Dulwich — проект, предлагающий альтернативу классическим библиотекам вроде GitPython и pygit2. Это полностью Python-реализация Git-клиента без зависимостей от нативного Git. Инструмент поддерживает как низкоуровневые операции с репозиториями, так и сложные команды, имитирующие интерфейс командной строки Git. Для тех, кому важна производительность, есть опциональные Rust-расширения. 🤖 GitHub @pythonl

Поздравляем, вы на 1 шаг ближе к работе мечты 🥳 Осталось только прочитать этот пост, подписаться на канал и откликнуться на
Поздравляем, вы на 1 шаг ближе к работе мечты 🥳 Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉 Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Python-разработчиков. Подписывайтесь, чтобы найти ту самую работу ✨

🖥 Python на скорости Rust Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust. 🧠 Как это работает? - Использует символическое трассирование на CPython для анализа функций - Генерирует промежуточное представление (IR) - Транслирует IR в C++ или Rust, а затем компилирует в бинарный код - Поддерживает платформы: Linux, Android, WebAssembly и др. 📦 Пример: @compile def fma(x: float, y: float, z: float) -> float: return x * y + z После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python. 🔗 Подробнее 🔗 Github @pythonl #Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm

📌 Tracecat — open-source платформа для автоматизации безопасности. Этот проект предлагает YAML-шаблоны для создания workflow
📌 Tracecat — open-source платформа для автоматизации безопасности. Этот проект предлагает YAML-шаблоны для создания workflow с визуальным редактором, упрощая автоматизацию рутинных задач. Инструмент позволяет интегрировать Temporal для надёжного выполнения сценариев и поддержка MITRE D3FEND. Локальный запуск возможен через Docker Compose, а для продакшена есть Terraform-конфиги для AWS Fargate. 🤖 GitHub @pythonl

Repost from Machinelearning
🌟 TARIFF — инструмент, который вы реально ждали, Python-пакет, который делает импорты «Великими» снова. Инструмент позволяет
🌟 TARIFF — инструмент, который вы реально ждали, Python-пакет, который делает импорты «Великими» снова. Инструмент позволяет вводить "пошлины" на Python-библиотеки, замедляя загрузку определённых пакетов, чтобы подчеркнуть идею "экономического протекционизма" в коде.​ ✔️ Основные особенности Имитация тарифов на импорты: пользователь может установить "тарифы" (в процентах) на определённые пакеты, например:​

  import tariff

  tariff.set({
      "numpy": 50,     # 50% тариф на numpy
      "pandas": 200,   # 200% тариф на pandas
      "requests": 150  # 150% тариф на requests
  })
Замедление импорта: при импорте указанных пакетов время загрузки увеличивается пропорционально установленному тарифу.​ Вывод сообщений: при каждом "обложенном тарифом" импорте выводится сообщение в стиле политической риторики, например:​ JUST IMPOSED a 50% TARIFF on numpy! Original import took 45000 us, now takes 67500 us. American packages are WINNING AGAIN! #MIPA Библиотека использует monkey-patching для перехвата и модификации процесса импорта.​ ▪Github @ai_machinelearning_big_data #fun #python

🖥 Важная особенность генераторов в Python! Давай разберемся, как это работает: Что такое Генератор? Функция my_generator_fun
🖥 Важная особенность генераторов в Python! Давай разберемся, как это работает: Что такое Генератор? Функция my_generator_function является генератором, потому что она использует ключевое слово yield. В отличие от обычной функции, которая выполняет весь код и возвращает одно значение через return, генератор "приостанавливается" на каждом yield, возвращая указанное значение. При следующем вызове он возобновляет работу с того места, где остановился. Как работает yield: Когда вы вызываете gen = my_generator_function(), код внутри функции не выполняется. Создается специальный объект-генератор (gen). Первый вызов next(gen) заставляет функцию выполниться до первого yield 1. Функция возвращает 1 и приостанавливается. Второй вызов next(gen) возобновляет выполнение с точки после yield 1 и доходит до yield 2. Функция возвращает 2 и снова приостанавливается. Именно поэтому print(next(gen), next(gen)) выводит 1 2. Как работает return в генераторе: Когда поток выполнения внутри генератора доходит до оператора return (в нашем случае return 73) или просто до конца функции без явного return, генератор считается завершенным. Важно: Значение, указанное в return (здесь 73), не возвращается как обычное значение через yield. Вместо этого генератор выбрасывает (raises) специальное исключение: StopIteration. Этот механизм StopIteration - стандартный способ в Python сигнализировать, что итератор (а генератор - это тип итератора) исчерпан. Перехват StopIteration и получение значения: В правой части кода мы пытаемся вызвать next(gen) еще раз. Генератор возобновляется после yield 2, доходит до return 73 и выбрасывает StopIteration. Конструкция try...except StopIteration as err: перехватывает это исключение. Ключевой момент (показан стрелкой на картинке): Значение, которое было указано в операторе return генератора (73), становится доступным как атрибут .value пойманного исключения StopIteration. Поэтому print(err.value) выводит # 73. Итог: Teturn в генераторе не производит очередное значение, а завершает его работу. При этом значение из return "упаковывается" в исключение StopIteration, сигнализирующее об окончании, и его можно извлечь из атрибута .value этого исключения, если перехватить его вручную. Стандартный цикл for item in generator(): в Python автоматически обрабатывает StopIteration (просто завершает цикл) и не дает прямого доступа к err.value. Поэтому для демонстрации этого механизма и получения возвращаемого значения используется явный вызов next() внутри блока try...except. @pythonl

Стартовал набор в ШАД — успейте подать заявку! Технологии меняют нашу реальность, но за их развитием стоят люди, которые умею
+4
Стартовал набор в ШАД — успейте подать заявку! Технологии меняют нашу реальность, но за их развитием стоят люди, которые умеют находить нестандартные решения. И именно в Школе анализа данных Яндекса готовят таких специалистов! Здесь амбициозные и увлечённые студенты: - погружаются в машинное обучение, Data Science и искусственный интеллект; - перенимают опыт экспертов из индустрии; - учатся решать задачи, стоящие перед ведущими IT-компаниями и исследовательскими центрами. Учёба в ШАДе — это серьёзный вызов даже для тех, кто уже знаком с анализом данных. Поступить непросто, но если вы готовы к интенсивной нагрузке, нестандартным кейсам и полной пересборке своего мышления — это место для вас! За 2 года обучения вы получите инструменты и навыки, которые позволят работать над сложнейшими задачами индустрии, запускать собственные проекты и двигать науку вперёд. Занятия полностью бесплатны и проходят по вечерам. Если в вашем городе нет филиала, можно учиться онлайн. Готовы бросить вызов данности? Тогда подавайте заявку до 4 мая!

🧠 Влияет ли кэш CPU на производительность Python-кода? Лукас Аткинсон провёл серию тестов, чтобы проверить, как поведение CP
🧠 Влияет ли кэш CPU на производительность Python-кода? Лукас Аткинсон провёл серию тестов, чтобы проверить, как поведение CPU-кэша влияет на время выполнения Python-кода. Результаты удивляют. 🔍 Ключевые выводы: - Последовательный доступ к спискам быстрее, чем случайный - При 200k элементах случайный доступ медленнее на 47% - При 1.6M элементов — почти в 4 раза - Python чувствителен к низкоуровневым аспектам памяти, в том числе CPU-кэшу 💡 Совет: при работе с большими объёмами данных используй последовательный доступ — это реально ускоряет код. 📖 Читать подробнее: lukasatkinson.de @pythonl

Аналитиков данных становится все больше, а вы до сих пор не понимаете, что это за специалисты, и чем они занимаются? Онлайн-ш
Аналитиков данных становится все больше, а вы до сих пор не понимаете, что это за специалисты, и чем они занимаются? Онлайн-школа Data Science karpovꓸcourses приглашает на бесплатный вебинар, где вы не только узнаете все о востребованной профессии, но еще и поймете, подходит ли вам эта сфера, и как начать развиваться в ней! Старт: 15 апреля в 19:00 мск. Спикер вебинара — преподаватель karpovꓸcourses и Team lead команды продуктовой аналитики в Raiffeisen CIB — расскажет о том, какие навыки нужны для старта карьеры, и с какими задачами работают аналитики каждый день. А в конце вебинара вас ждет бонус от школы karpovꓸcourses — карьерный гайд и промокод на скидку на обучение. Регистрируйтесь, чтобы не упустить возможность узнать больше о профессии аналитика данных и сделать шаг к новой карьере → https://clck.ru/3L4Y8K/?erid=2VtzqwmamE1 Реклама. ООО «Карпов Курсы», ИНН: 7811764627, erid: 2VtzqwmamE1

🖥 Строковый метод translate позволяет заменять (или удалять) несколько символов строки за один проход. (Похоже на множествен
🖥 Строковый метод translate позволяет заменять (или удалять) несколько символов строки за один проход. (Похоже на множественные вызовы метода replace.) import string s = "Hello, world!" print(s.translate(str.maketrans("", "", string.punctuation))) # Hello world Строковый метод translate ожидает «таблицу перевода», которую мы создаем с помощью вспомогательного метода класса maketrans. Третий аргумент (string.punctuation в примере) — это строка символов, которые мы хотим удалить. Значение string.punctuation (на которое указывает стрелка): !'#$%&\'()*+,-./:;<=>?@[\\]^_{|}~` Суть шпаргалки: Она показывает, как эффективно удалить все стандартные знаки препинания из строки в Python, используя комбинацию методов str.maketrans для создания "инструкции" по удалению и str.translate для применения этой инструкции к строке. @pythonl

Repost from Machinelearning
🌟 NVIDIA добавила нативную поддержку Python в CUDA. Python уже несколько лет уверенно лидирует среди языков программирования
+4
🌟 NVIDIA добавила нативную поддержку Python в CUDA. Python уже несколько лет уверенно лидирует среди языков программирования, а теперь стал ещё ближе к железу. На GTC 2025 NVIDIA объявила о полноценной интеграции Python в свой CUDA-стек. Это значит, что писать код для GPU можно будет напрямую на Python — без погружения в C++ или Fortran. Как подчеркнул Стивен Джонс, архитектор CUDA, цель — сделать инструмент естественным для Python-разработчиков: «Это не перевод синтаксиса C на Python. Все должно работать так, как привыкли разработчики». Раньше CUDA требовала глубокого понимания низкоуровневых языков и это здорово ограничивало аудиторию. Сейчас, когда Python стал стандартом в ML и DS, NVIDIA открывает двери для миллионов программистов. По данным The Futurum Group, в 2023 году CUDA использовали 4 миллиона человек — теперь их число может резко вырасти. Техническая часть такая же обширная, как и ожидания этого события профессиональным сообществом. 🟢Во-первых, появилась библиотека cuPyNumeric — аналог NumPy, который переносит вычисления с CPU на GPU буквально заменой импорта. 🟢Во-вторых, CUDA Core переосмыслен для Python: здесь сделан упор на JIT-компиляцию и минимизацию зависимостей. 🟢В-третьих, добавлены инструменты для профилирования и анализа кода, а ускоренные C++-библиотеки теперь доступны из Python без потерь в производительности. Но главное — новый подход к параллельным вычислениям. Вместо ручного управления потоками, как в C++, NVIDIA предлагает модель CuTile, которая оперирует массивами, а не отдельными элементами. Это упрощает отладку и делает код читаемым, не жертвуя скоростью. По сути, разработчики получают высокоуровневую абстракцию, скрывающую сложности железа, но сохраняющую гибкость. Пока CuTile доступен только для Python, но в планах — расширение для C++. Это часть стратегии NVIDIA по поддержке новых языков: Rust и Julia уже на походе. Python-сообщество уже может экспериментировать — например, интегрировать CUDA-ядра в PyTorch или вызывать привычные библиотеки. Теперь даже те, кто никогда не писал на C++, смогут использовать всю мощь GPU — осталось проверить, как это скажется на скорости создания прекрасных LLM светлого будущего. 🔜 Посмотреть полную презентацию на GTC 2025 @ai_machinelearning_big_data #AI #ML #Python #CUDA #NVIDIA

🐍 Сложная задача по Python: Замыкания и области видимости Что выведет следующий код?
def outer():
    x = 5
    def inner():
        nonlocal x
        x += 1
        return x
    return inner

f = outer()
print(f())
print(f())
print(f())
Варианты ответа: A)
6
7
8
B)
5
5
5
C)
6
6
6
D)
Ошибка выполнения
--- ✅ Правильный ответ: A Почему: Функция outer создаёт замыкание. Переменная x сохраняется между вызовами f, потому что inner — замыкает x и изменяет её с помощью nonlocal. Это классический пример использования замыканий в Python.

🧠 Python-задача на внимательность и знание подводных камней Что выведет этот код?

def make_funcs():
    funcs = []
    for i in range(3):
        def wrapper(x=i):
            return lambda: x
        funcs.append(wrapper())
    return funcs

a, b, c = make_funcs()
print(a(), b(), c())
❓ Варианты ответа: A)0 1 2 В) 2 2 2 C)0 0 0 D)Ошибка на этапе выполнения ✅ Ответ: 0 1 2 📘 Объяснение: 🔹 Цикл for i in range(3) проходит по значениям 0, 1, 2. 🔹 В каждой итерации вызывается wrapper(x=i) — это копирует текущее значение i в локальную переменную x. 🔹 Затем возвращается lambda: x, которая запоминает это конкретное значение x. 🔹 В итоге: a() → 0 b() → 1 c() → 2 Если бы мы не использовали x=i по умолчанию, а писали просто lambda: i, все функции замкнули бы одну и ту же переменную i, и на момент вызова она бы уже была равна 3. @pythonl

🚀 Автоматизируй Docker для Python за 1 команду с Python 📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой
🚀 Автоматизируй Docker для Python за 1 команду с Python 📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой Python-проект на uv или poetry в Docker-образ без ручной возни. 💡 Просто добавь - [tool.dpy] в pyproject.toml, укажи entrypoint — и собирай образы одной командой. Без Dockerfile, без боли. 🔧 Поддерживает: ✅ PEP-621 ✅ uv и poetry ✅ кастомные переменные, порты и зависимости ✅ CI/CD (в т.ч. GitHub Actions) 🔥 Подходит для быстрой упаковки ML-сервисов, REST API, CLI-инструментов и всего, что крутится на Python. Github #python #docker #poetry #uv #devtools #opensource #cli @pythonl

🚀 Автоматизируй Docker для Python за 1 команду с Python 📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой
🚀 Автоматизируй Docker для Python за 1 команду с Python 📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой Python-проект на uv или poetry в Docker-образ без ручной возни. 💡 Просто добавь - [tool.dpy] в pyproject.toml, укажи entrypoint — и собирай образы одной командой. Без Dockerfile, без боли. 🔧 Поддерживает: ✅ PEP-621 ✅ uv и poetry ✅ кастомные переменные, порты и зависимости ✅ CI/CD (в т.ч. GitHub Actions) 🔥 Подходит для быстрой упаковки ML-сервисов, REST API, CLI-инструментов и всего, что крутится на Python. Github #python #docker #poetry #uv #devtools #opensource #cli @pythonl