Python/ django
64.1K subscribers
2.21K photos
108 videos
48 files
2.94K links
по всем вопросам @haarrp

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

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
😄 12 сентября смотрите онлайн-студию первой «Ночи музеев» в мире IT

В Яндексе придумали «Ночь музеев» в мире IT, а Сбер, Т-банк, Х5 и Lamoda поддержали идею и присоединились. Если вы не успели зарегистрироваться как офлайн-участник – подключайтесь онлайн.

🙌 Студия big tech night online будет работать 12 сентября с 18:00 до 21:00 по московскому времени.

Можно переключаться между двумя треками.

😛😝В софт-треке вас ждут:

– шоу для разработчиков со стендап-комиком Севой Ловкачёвым;
– обсуждение pet-проектов и изобретательства среди инженеров;
– юмор в борьбе со стрессами: мемы как способ выжить в бигтехе.

😋😛 В хард-треке:

– разберём, чем отличается бигтех в России и за рубежом: каких специалистов ищут компании, есть ли культурные отличия?
– поговорим с Маратом Мавлютовым – руководителем подразделения из Яндекса, разрабатывающего роботов-доставщиков;
– обсудим, как AI помогает разработчикам сейчас и как будет помогать в будущем.

😌 Регистрируйтесь и подключайтесь.

Реклама. ООО "Яндекс". ИНН 7736207543
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1🔥1😁1
🖥 PlutoPrint — быстрое создание PDF и PNG из HTML с помощью Python

PlutoPrint — это лёгкая и удобная библиотека на Python для генерации качественных PDF и изображений напрямую из HTML или XML. Она основана на мощном рендеринг-движке PlutoBook, что делает её идеальной для отчетов, счетов, билетов и визуализаций.

Основные возможности

Поддержка PDF и PNG – можно создавать как статичные изображения, так и печатные документы из
Простота установки и использования — установка через pip install plutoprint; пример для командной строки:

plutoprint input.html output.pdf --size=A4

🟠 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1510🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Что такое псевдослучайность в Python

Когда мы используем модуль random, числа выглядят случайными, но на самом деле они вычисляются по алгоритму. Поэтому такие числа называют псевдослучайными.

Главное:
- Если задать одинаковый seed (зерно), генератор выдаст одинаковую последовательность. Это удобно для тестов и экспериментов — результат можно воспроизвести.
- Алгоритм по умолчанию — Mersenne Twister. Он быстрый и подходит для моделирования, но не годится для безопасности.
- Для генерации паролей, токенов и других защищённых данных нужно использовать модуль secrets, который делает случайность криптографически стойкой.

Просто правило:
- Для экспериментов → random с фиксированным seed.
- Для безопасности → secrets.



Пример работы seed
import random

random.seed(42)
print([random.random() for _ in range(3)])

random.seed(42)
print([random.random() for _ in range(3)]) те же числа

Криптографически безопасные значения
import secrets
print(secrets.token_hex(8))
print(secrets.randbelow(10))
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍13🤩5🔥3
Отличный курс для тех, кто хочет разобраться в нейронках с нуля от Андрея Карпати (OpenAI/Tesla).

Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:

Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.

https://github.com/karpathy/nn-zero-to-hero/

@pythonl
22👍8🤩3🔥1
ИИ помощник сделает твое онлайн собеседование успешным.
Наши пользователи получают офферы.
Зайти и скачать бесплатную версию на ПК.
Поможет пройти техническое и поведенческое интервью.
Мгновенные ответы. Ты получишь приглашение на работу.
🔥64😁4😱1😢1
🖥 rest-filters — фильтрационный бэкенд для Django REST framework

Что это:
Новый инструмент для фильтрации в DRF, который расширяет возможности стандартного django-filter.

Особенности
- Использует serializer-поля для разбора и валидации (без Django-форм и виджетов)
- Поддержка группировки фильтров для гибкой логики
- Constraint system — проверка взаимозависимостей между параметрами
- Вложенные фильтры (nested filters) для работы со сложными структурами


Последний релиз — v0.6.0 (21 августа 2025)
- Возможность указывать группу по умолчанию для всего FilterSet (в том числе глобально)
- Поддержка subgroups для более сложных связей между фильтрами
- Новый метод FilterSet.get_combinator() для динамического выбора способа объединения фильтров
- ⚠️ Breaking change: теперь Entry нельзя создавать без указания группы

Почему стоит попробовать
Если стандартные фильтры Django REST кажутся ограниченными, rest-filters даёт:
- фильтрацию через сериализаторы,
- сложные сценарии с группировками и вложенностью,
- гибкость и расширяемость.

🔗 Репозиторий: https://github.com/realsuayip/rest-filters

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥2
Диски в облаке — это базовая функциональность.
Для пользователя всё просто: приаттачил к ВМ и всё заработало.


Но как это устроена работа с i/o на стороне провайдера?

Инженеры MWS Cloud Platform ⬜️ делятся своим опытом работы с фреймворком SPDK:
⏺️чем он лучше работы через QEMU или ядро Linux;
⏺️какие фичи пришлось дописывать самим;
⏺️как довели фреймворк до продакшена и даже отдали часть изменений в апстрим.

⏩️Загляните внутрь дисковой подсистемы облачного провайдера — читайте статью.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1😁1😢1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python trick: группировка с помощью itertools.groupby

Иногда при работе с коллекциями в пайтон нужно быстро сгруппировать данные по ключу и при этом не писать громоздкий цикл с проверками. В таких случаях можно использовать модуль итэртулз и функцию группбай. Она позволяет превратить список в словарь с удобной структурой, где каждый ключ сразу содержит все связанные элементы. Это сильно экономит строки кода и делает его чище.



from itertools import groupby
from operator import itemgetter

data = [
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "A", "value": 30},
{"category": "B", "value": 40},
]

сортировка обязательна перед groupby
data.sort(key=itemgetter("category"))

grouped = {
key: list(group) for key, group in groupby(data, key=itemgetter("category"))
}

print(grouped)
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5🔥2
📘 На Stepik вышел курс«LangChain: с нуля до продакшн LLM-приложений»

Нужен не игрушечный бот, а воспроизводимый RAG-пайплайн с метриками и сервисом? Этот курс — про путь «ноутбук → FastAPI → прод».

🔍 Что вы получите
• RAG по PDF с цитированием источников и гибридным поиском (классический + векторный); контроль галлюцинаций через метрики
• Инструменты и агенты для анализа данных: Pandas-задачи, структурированный JSON-вывод под отчёты/дашборды
• Продакшн-контур: FastAPI-сервис, логирование латентности/токенов, PromptOps (версии/A/B), базовый SLA-мониторинг

🎓 Сертификат по завершении — можно добавить в резюме или LinkedIn

🚀 Начните сегодня и получите скидку 25% в течение 24 часов

👉 Пройти курс на Stepik
6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Совет по Python: неожиданное поведение с изменяемыми аргументами по умолчанию

Если в функции задать аргумент по умолчанию как list или dict, то этот объект создаётся один раз — при определении функции.

Из-за этого все вызовы будут делить один и тот же объект, что часто приводит к багам.

Правильный способ — использовать `None` и создавать новый объект внутри функции.


def bad_append(x, data=[]):
data.append(x)
return data

print(bad_append(1)) # [1]
print(bad_append(2)) # [1, 2] <-- неожиданно!


def good_append(x, data=None):
if data is None:
data = []
data.append(x)
return data

print(good_append(1)) # [1]
print(good_append(2)) # [2]


Используйте этот приём, чтобы не попасться на скрытые баги с аргументами по умолчанию.
14👍8🔥4😱2
🎙️ VibeVoice: Инновационная модель TTS для длинных разговоров

VibeVoice — это передовая система синтеза речи, способная генерировать выразительное аудио для длительных разговоров, включая подкасты. Она решает проблемы традиционных TTS-систем, обеспечивая высокую согласованность голосов и естественное взаимодействие между несколькими спикерами.

🚀 Основные моменты:
- Синтезирует речь до 90 минут с 4 различными спикерами.
- Использует токенизаторы непрерывной речи для повышения эффективности.
- Поддерживает высокое качество звука при низкой частоте кадров.
- Применяет диффузионные модели для понимания контекста и потока диалога.

📌 GitHub: https://github.com/microsoft/VibeVoice

@pythonl
15👍5🔥4