Python/ django
60.9K subscribers
2.19K photos
96 videos
48 files
2.91K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
Media is too big
VIEW IN TELEGRAM
Какие планы на 16 августа?

Освобождайте календарь, в этот день ИТ-пикник — фестиваль для опытных ИТ-специалистов. Будет лекторий «Наука руками инженеров»‎ – обсудят как рождаются технологии: через эксперименты, гипотезы, научный подход и рискованные идеи.

Иван Оселедец, профессор РАН, выступит с темой об эволюции мультимодальных и мультиагентных систем, а Александр Петюшко, профессор университета США, расскажет, как устроено автономное вождение. Кроме лекций, интерактивов и нетворкинга для вас выступят артисты. На фестивале Диана Арбенина впервые вживую презентует трибьют-альбом. PLC, Tritia, Лилу, Тося Чайкина и ПОЛ ПУНШ исполнят ее известные треки.

Будут еще другие известные музыканты и секретный артист. Рекомендуем размяться, чтобы петь и танцевать от души.

Приходите с семьей и друзьями. Подробности и билеты — на сайте ИТ-пикника.
4👍1🔥1
🐉 Windmill — open-source платформа для разработки внутренних инструментов, которая превращает скрипты в готовые API, фоновые задачи и веб-интерфейсы. Проект позиционируется как альтернатива коммерческим решениям вроде Retool или Superblocks, но с акцентом на гибкость и self-hosted развёртывание.

Интересно реализована идея автоматической генерации UI: достаточно написать скрипт на Python, TypeScript, Go или Bash и Windmill создаст для него веб-форму с параметрами. Готовые скрипты можно комбинировать в сложные workflows или встраивать в low-code приложения. Под капотом — Rust, Postgres и sandbox-исполнение через nsjail для безопасности.

🤖 GitHub

@pythonl
8🔥7👍4
🛞 CrossHair — необычный инструмент для анализа Python-кода, который использует символьное выполнение для поиска ошибок. Вместо традиционных тестов он проверяет корректность функций, анализируя их поведение на основе аннотаций типов и контрактов.

Под капотом работает SMT-решатель, который ищет входные данные, нарушающие условия. Например, может автоматически обнаружить, что ваша функция падает на отрицательных числах, хотя в контракте указано x: PositiveInt. Интегрируется с Hypothesis и популярными IDE.

🤖 GitHub

@pythonl
4🔥4👍3
⚠️ Внимание: фишинг-атака на разработчиков Python. Злоумышленники рассылают поддельные письма от имени PyPI с домена pypj.org, требуя "подтвердить email".

Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.

🔗 Ссылка - *клик*

@pythonl
😢185🔥4👍3
Яндекс создаёт продукты и сервисы для миллионов пользователей. Нейросетевой поиск, умные устройства, машинный перевод — задачи, где нет готовых решений.

Поэтому нам нужны сильные бэкенд-разработчики! Если у вас от 5 лет опыта на C++, Python, Java или Go — участвуйте в Мультитреке.

Как это работает
• Подаёте заявку до 18 августа
• Проходите технические секции 23 и 24 августа
• Получаете офер 24 августа

После найма мы предложим поработать в трёх командах несколько недель. Будет время погрузиться в работу, прочувствовать атмосферу и выбрать проект, который вам больше подходит.

Узнайте подробности и оставьте заявку.
5😁3🔥2
🎧 Abogen — оффлайн‑инструмент для создания аудиокниг с субтитрами

Преобразуй EPUB, PDF или текстовые файлы в аудиокниги с естественным голосом — и получи синхронизированные субтитры. Всё локально. Всё бесплатно. Всё быстро.

🛠 Что умеет:
- Поддержка EPUB / PDF / TXT
- Озвучка с помощью Kokoro‑82M (TTS модель)
- Автоматическая генерация субтитров (по словам или предложениям)
- Микширование голосов (Voice Mixer)
- Пакетная обработка книг (Queue Mode)
- Работает офлайн на Windows, Linux и macOS

⚡️ Быстро: 3 мин текста — за 10–15 сек на RTX 2060
🧠 Полный контроль — никакого облака, только локальный запуск

📦 GitHub: https://github.com/denizsafak/abogen

@pythonl
👍125🔥2😁2🤩1
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_job_interview - вопросы с собеседований Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117😁6🔥4😢1
🖥 Теперь писать сложные промты самому не обязательно — OpenAI выпустили генератор, который превращает даже простой запрос в подробную инструкцию для ИИ.

Принцип простой: описываете, что хотите получить, нажимаете Optimize — GPT-5 анализирует запрос и выдаёт готовый детализированный промт. Работает бесплатно.

Инструмент может упростить работу с любыми нейросетями, особенно если у вас нет опыта в составлении промтов.

Готовый вы можете сразу попробовать в @Chatgpturbobot
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3😁2
Телеграм-канал с актуальными вакансиями для 🐍 Python специалистов
- Свежие вакансии со всего интернета.
- Вакансии для студентов,  юниоров, мидлов, сеньоров.
- Прямые ссылки на работодателей.
- Некоммерческий проект, без рекламы.
Ссылка на телеграмм-канал 
👍4🔥3😁21🎉1
🖥 Second‑Me

Это ваш “цифровой двойник”: агент, который обучается на ваших заметках, письмах и постах и помогает вести аккаунты в соцсетях.

В 2025 году проект получил крупное обновление — добавлен модуль для управления площадками вроде LinkedIn и Airbnb, а также улучшена персонализация бота.

https://github.com/mindverse/Second-Me

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥5👍4😱2
🔍 Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс в четверг

14 августа (уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
5
📰 Python без GIL: новая эра многопоточности

Недавно в Python 3.13 появилась экспериментальная возможность отключить Global Interpreter Lock — механизм, который десятилетиями ограничивал настоящую многопоточность в Python. Теперь можно сравнить производительность обычной и свободнопоточной версий интерпретатора.

Тесты с CPU-интенсивными задачами показывают ускорение в 3-4 раза при использовании 4 потоков в версии без GIL. Однако за это приходится платить: усложняется сборка мусора, требуется новая система управления памятью, а некоторые объекты становятся просто бессмертными.

Пока free-threaded Python остаётся опциональным, но в будущих версиях, начиная с 3.14, он может стать стандартом. Главный вопрос — насколько быстро сообщество и библиотеки адаптируются к этим изменениям.

🔗 Ссылка - *клик*

@pythonl
20👍9🔥4😁1🤩1
SafeWave_10 — десять лет бороздим океан карьеры

Если ты студент и держишь курс на развитие в IT, то 26 августа у тебя есть шанс поймать попутный ветер и попасть на празднование юбилея SafeBoard — программы IT-стажировок от «Лаборатории Касперского».
На одной волне летнего open air окажутся студенты, выпускники программы SafeBoard и эксперты ЛК

Когда: 26 августа 2025
Где: Офис Kaspersky, Москва, Ленинградское шоссе, 39А, стр. 3 + онлайн трансляция

Что в программе:

• Реальные истории от бывших стажеров, ставших экспертами (спойлер — один из них стал СТО)
• Интерактивная лекция о том, как разные типы людей двигают команду к большому успеху
• Музыкальное импров-шоу, розыгрыш мерча, активити-точки и HR-зона для желающих попасть в нашу команду
• И куда же без нетворкинга с компанией единомышленников

Стажировка в Kaspersky — как экспедиция под наставничеством опытных капитанов, регистрируйся чтобы подготовиться к большому плаванию!

https://kas.pr/x7yw?erid=2W5zFK8k4mv

Реклама. АО «Лаборатория Касперского» ИНН 7713140469
5👍3
📸 Разработчик запустил свой код на сервере, имея лишь возможность изменения содержимого комментария в Python-скрипте

Участник соревнования UIUCTF 2025 обошёл ограничения задачи, где можно было изменять только содержимое комментария в Python-скрипте и подробно рассказал об этом. Вместо поиска уязвимостей в парсере, он использовал особенность интерпретатора — выполнение ZIP-архивов как Python-кода.

Секрет в структуре ZIP-файлов: Python ищет метаданные в конце архива, что позволило вставить архив в комментарий, сохранив валидность исходного скрипта. При запуске такого скрипта выполнялся код из main.py внутри архива.

🔗 Ссылка - *клик*

@pythonl
20👍10🔥7
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

# Прирост в скорости особенно заметен при больших объёмах данных```
👍2412🔥7
Разбираем тестовое задание в Яндекс на позицию Junior аналитика данных

Тестовое задание — важная часть трудоустройства аналитика. Это шанс показать свои навыки на практике и получить оффер мечты.

Приглашаем на бесплатный вебинар, где Андрон Алексанян — эксперт в области аналитики и CEO школы аналитики Simulative — в прямом эфире разберет тестовое задание в Яндекс на позицию Junior аналитика данных.

⚡️На вебинаре вы:
🟠узнаете, какие навыки и знания необходимы для успешного выполнения заданий;
🟠поймёте, что хочет увидеть работодатель;
🟠получите советы и лайфхаки;
🟠вместе с Андроном разберете в прямом эфире реальный пример тестового 🔥


Чему именно научимся на вебинаре:
🟠С помощью Pandas проанализируем Яндекс-запросы за несколько недель, загрузив их из json-файла;
🟠Найдем закономерности и отличия использования сервиса на мобильных устройствах и компьютерах;
🟠Разберем фишки Pandas: сложную агрегацию, маппинг, конкатенацию, чейнинг и др.


🕗 Настоятельно рекомендуем не пропускать — для зрителей у нас есть особый бонус, который обеспечит вам уверенный старт в вашей карьере.

😶Зарегистрироваться на бесплатный вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
🖥 Разбираем Новые версии: Django 5.2.5 и Python 3.13.6

Django 5.2.5 (релиз — 6 августа 2025)
- Тип релиза: патч-релиз, устраняющий ошибки версии 5.2.4.
- Ключевые исправления:
- Восстановлена поддержка стратегии UNNEST в QuerySet.bulk_create() для PostgreSQL.
- Улучшена фильтрация по составному первичному ключу через tuple-выражения.
- Исправлены ошибки валидации модели при использовании GeneratedField, Q и Case.
- Добавлена совместимость с docutils версии 0.22.
- Исправлен сбой при использовании ManyToManyField с составным первичным ключом — обновлены проверки fields.E347.

Python 3.13.6 (релиз — 6 августа 2025)
- Тип релиза: шестой maintenance-релиз ветки 3.13, включает около 200 исправлений, улучшений сборки и обновлений документации.
- Ключевые особенности Python 3.13 по сравнению с 3.12:
- Новый усовершенствованный REPL с многострочным редактированием, цветным выводом и цветными трассировками ошибок.
- Экспериментальный free-threaded build mode (отключение GIL), доступен в виде python3.13t`/`python3.13t.exe.
- Встроенный экспериментальный JIT-компилятор (по-умолчанию отключён).
- locals() теперь имеет определённые семантики при мутации возвращаемого словаря.
- Включена изменённая версия mimalloc (по-умолчанию, если доступно), обязательна для free-threaded режима.
- Докстринги теперь очищаются от начальной отступной, что снижает объём `.pyc`-файлов.
- Новый бэкенд dbm.sqlite3 используется по умолчанию при создании файлов.
- Минимальная поддерживаемая версия macOS повысилась до 10.13 (High Sierra).
- Безопасность:
- Исправлена проблема, при которой фильтры filter="data" и filter="tar" в tarfile можно было обойти с помощью специально созданных сим- и жёстких ссылок.

Вывод:
- Django 5.2.5 — важный патч-релиз LTS-ветки, рекомендован для обновления производственных систем.
- Python 3.13.6 — очередной maintenance-релиз с множеством багфиксов и улучшений, особенно интересен разработчикам, работающим с производительностью (REPL, JIT, free-threaded).

Если нужно, могу подсказать, как безопасно обновиться или протестировать эти версии в вашем проекте.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥9👍6😁4
🧪 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

@pythonl
11👍4🔥3😁3
🐍 Почему Python `deepcopy()` такой медленный и что использовать вместо него

Функция copy.deepcopy() кажется удобной: она создаёт полную копию объекта со всеми вложенными структурами. Но на практике она часто оказывается очень медленной и становится бутылочным горлышком в проектах. Давайте разберёмся почему так происходит и какие есть альтернативы.

🔥 Почему deepcopy() тормозит
1. Рекурсия на всём дереве объектов
Python проходит по каждому вложенному элементу, даже если их сотни тысяч.

2. Определение метода копирования
Для каждого объекта проверяется, можно ли вызвать __deepcopy__, или приходится идти стандартным путём.

3. Memo-словарь для ссылок
Чтобы избежать бесконечных циклов при копировании (например, объект ссылается сам на себя), Python ведёт словарь уже скопированных элементов. Это полезно, но замедляет работу.

4. Реализация на чистом Python
В отличие от сериализации (`pickle`), deepcopy() не ускорена на уровне C, поэтому работает медленнее.

📊 Пример замеров скорости


import copy, pickle, time

data = [[i for i in range(1000)] for _ in range(1000)]

# deepcopy
start = time.time()
a = copy.deepcopy(data)
print("deepcopy:", time.time() - start)



# pickle
start = time.time()
b = pickle.loads(pickle.dumps(data))
print("pickle roundtrip:", time.time() - start)



# list comprehension (для списков списков)
start = time.time()
c = [sub[:] for sub in data]
print("manual copy:", time.time() - start)


💻 Результат (у вас может отличаться, но смысл тот же):

- deepcopy: ~2.5 сек
- pickle: ~0.8 сек
- ручное копирование: ~0.02 сек (!)

Когда что использовать

copy.deepcopy()
Подходит, если структура очень сложная, а вам нужна стопроцентно независимая копия.

pickle.loads(pickle.dumps(obj))
Быстрее на больших структурах, плюс удобно, если данные нужно сохранять.

json.loads(json.dumps(obj))
Хорошо для простых словарей и списков с базовыми типами.

Ручное копирование (list comprehension, dict comprehension)
Лучший вариант, если вы знаете структуру данных и хотите максимум скорости.

📌 Итог
deepcopy() — это универсальный инструмент, но он платит за универсальность скоростью.
Если важна производительность — используйте сериализацию или ручные методы копирования, они могут быть в десятки и сотни раз быстрее.

Ставь 🔥, сохраняй себе в копилку Python-трюков, чтобы не забыть 😉

@pythonl
1🔥246👍6
🌟 Большой гайд по TOML и tomllib на Python

TOML стал стандартом для конфигурации Python-проектов благодаря своей простоте и читаемости. Начиная с Python 3.11, вы можете парсить TOML-файлы встроенным модулем tomllib без установки дополнительных зависимостей. Это удобно для работы с pyproject.toml и конфигами инструментов вроде pytest, mypy и black.

Хотя tomllib поддерживает только чтение файлов, его возможностей хватает для большинства задач. Для записи и сложного редактирования TOML можно использовать библиотеки toml или tomlkit. В статье подробно разбираются примеры чтения конфигов и работа с pyproject.toml.

🔗 Ссылка - *клик*

@pythonl
8👍5🔥1