Python/ django
58.9K subscribers
2.13K photos
75 videos
48 files
2.85K links
по всем вопросам @haarrp

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

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
🖥 Two Claps Open — инструмент, который открывает Chrome или активирует голосового помощника, когда пользователь хлопает в ладоши два раза 👏

💬 Как это работает:
• Слушает микрофон через pyaudio
• Реагирует на два быстрых хлопка подряд
• Открывает браузер или помощника

Возможности зависят только от фантазии:
• Включай музыку или YouTube по хлопку
• Открывай рабочий дашборд при запуске ПК
• Управляй умным домом — включай свет или открывай дверь хлопком


Чтобы понять, как "выглядит" хлопок в аудиосигнале, разработчик записал его и провёл преобразование Фурье. Оказалось, что основная энергия хлопка сосредоточена в диапазоне 1.4–1.8 кГц. Дальше был настроен полосовой фильтр, чтобы выделять только этот диапазон и отсекать шум.

После фильтрации система отслеживает пики в сигнале. Если зафиксировано три хлопка подряд с минимальным интервалом, автоматически запускается Chrome (или любая команда на ваш выбор).

Реализуется в реальном времени — просто и удобно для управления без рук!

Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ MicroVMS — новая платформа для запуска кода от AI-агентов с максимальной безопасностью и скоростью.

В отличие от Docker и других тяжелых решений, MicroVMS использует легковесные песочницы для быстрой изоляции, мгновенного старта и простого управления.

● Поддержка разных сред: Python, Node.js и другие
● Идеально для AI-агентов — разработка и запуск без лишних сложностей
● Удобная система управления проектами — настройка песочниц в пару кликов

Если вы хотите запускать код AI-агентов быстро, безопасно и удобно — обратите внимание на MicroVMS.

pip install microsandbox

🔗 Github


@pythonl
🖥 py-pglite — PostgreSQL без установки, тестируй как с SQLite!

py-pglite — обёртка PGlite для Python, позволяющая запускать настоящую базу PostgreSQL прямо при тестах. Без Docker, без настройки — просто импортируй и работай.

📌 Почему это круто:
- 🧪 Ноль конфигурации: никакого Postgres и Docker, только Python
- Молниеносный старт: 2–3 с против 30–60 с на традиционные подходы :contentReference[oaicite:2]{index=2}
- 🔐 Изолированные базы: новая база для каждого теста — чисто и безопасно
- 🏗️ Реальный Postgres: работает с JSONB, массивами, оконными функциями
- 🔌 Совместимость: SQLAlchemy, Django, psycopg, asyncpg — любая связка :contentReference[oaicite:3]{index=3}

💡 Примеры установки:

pip install py-pglite
pip install py-pglite[sqlalchemy] # SQLAlchemy/SQLModel
pip install py-pglite[django] # Django + pytest-django
pip install py-pglite[asyncpg] # Асинхронный клиент
pip install py-pglite[all] # Всё сразу


🔧 Пример (SQLAlchemy)


python
def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice")
pglite_session.add(user)
pglite_session.commit()
assert user.id is not None


py‑pglite — идеальный инструмент для unit- и интеграционных тестов, где нужен настоящий Postgres, но без всей админской рутины.

Полноценный PostgreSQL — без его тяжеловесности.


Github

@pythonl

#python #sql #PostgreSQL #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Pipedream — платформа для создания интеграций и автоматизаций между сервисами. Этот инструмент позволяет соединять более 1000 приложений через готовые компоненты или собственный код на Node.js, Python, Go и Bash.

Главное преимущество проекта — это гибкость: можно быстро настроить триггеры и цепочки действий без сложной инфраструктуры. Для кастомных сценариев доступно выполнение произвольного кода с подключением любых npm/pip-пакетов. Интеграции развертываются в облаке Pipedream, что избавляет от необходимости настраивать серверы.

🤖 GitHub

@pythonl
🚀 TurboDRF — ускоритель Django REST Framework без боли

TurboDRF — лёгкий способ ускорить ваш Django API без перехода на FastAPI или переписывания логики.

🔥 Что даёт TurboDRF:
Быстрый рендер сериализаторов
🧠 Автоматический prefetch_related и select_related
🧊 Кэширование сериализованных ответов
🧩 Совместим с обычными DRF-сериализаторами

📦 Установка:

pip install turbodrf


🛠️ Пример:

from turbodrf.mixins import TurboModelSerializer

class MySerializer(TurboModelSerializer):
class Meta:
model = MyModel
fields = "__all__"


Идеален для больших Django-проектов, где важна скорость ответа.

🔗 GitHub: https://github.com/alexandercollins/turbodrf

@pythonl
🖥 Вышел Git 2.50

Вот основные обновления:
1. Новый уровень работы с cruft packs
- Git хранит неиспользуемые (невидимые) объекты в специальных “cruft packs”.
- Раньше управлять ими было сложно: чтобы добавить или объединить объекты, нужно было всё перепаковывать, что занимало много времени и места.
- Теперь появился флаг --combine-cruft-below-size: можно легко объединять мелкие cruft packs в один, постепенно “чистить” репозиторий.
- Исправлена важная ошибка: раньше такие объекты могли случайно удаляться раньше времени — теперь это под контролем.

2. Быстрее для больших репозиториев — многослойные битмапы
- В больших проектах Git создаёт специальные “карты” (bitmaps), чтобы быстро понимать, какие объекты нужны для определённых коммитов.
- Новая версия поддерживает “инкрементальные” битмапы для multi-pack index — можно добавлять новые данные быстро, не пересоздавая всю структуру.

3. Новый движок слияния ORT
- Старый движок recursive полностью удалён: теперь слияния (`merge`) обрабатывает только быстрый и надёжный ORT.
- Это упростит разработку, повысит скорость merge и уменьшит количество ошибок.

4. Улучшения в утилитах и команде cat-file
- Теперь можно фильтровать объекты по типу, например, быстро получить только “деревья” (tree) с помощью --filter='object:type=tree'.
- Команда для удаления reflog стала интуитивной: вместо сложных параметров просто пишем git reflog delete <branch>.

5. Больше контроля над сетевыми соединениями
- Добавлены настройки для TCP Keepalive, теперь можно гибко управлять поведением Git в нестабильных сетях.

6. Меньше Perl — проще тестировать и собирать
- Git ещё больше избавился от зависимостей на Perl: тесты и документация теперь проще и стабильнее, особенно на системах без Perl.

7. Работа с разреженными (sparse) репозиториями стала удобнее
- Команды вроде git add -p теперь не требуют полной загрузки содержимого — удобно при работе с огромными проектами.

8. Косметические улучшения
- При ребейзе (rebase -i) названия коммитов теперь оформляются как комментарии — так ясно, что это просто для ориентира.

9. Быстрее клонируем через bundle-uri
- Git стал лучше справляться с ускоренным клонированием через *.bundle: теперь клиент правильно учитывает все ссылки, ускоряя загрузку репозитория.

Git 2.50 — это не просто исправление багов, а реальное ускорение и упрощение работы для всех, кто ведёт большие проекты, часто сливает ветки и заботится о “чистоте” репозитория. Новые команды делают жизнь проще, а старые баги — ушли в прошлое.

➡️ Почитать про все обновления

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
💻 Copilot Agent Mode — новый этап в развитии AI-помощников для разработчиков

Теперь доступен всем в июньском обновлении Visual Studio!

🧠 Что умеет:
• Сам строит план разработки
• Выполняет задачи пошагово
• Адаптируется по ходу процесса
• Циклично доводит работу до завершения

Это уже не просто автодополнение — это полноценный агент, способный решать проектные задачи от начала до конца.

📖 Подробнее: https://msft.it/6018SQDuo
#VisualStudio #Copilot #AIdev #AItools #GitHubCopilot

#Copilot

@pythonl
Уверены в своих навыках кодинга?
 
Тогда заглядывайте в канал Selectel. Всю неделю в канале будут выходить полезные материалы для разработчиков:
● Подробная инструкция, как сделать приложение на базе веб-технологий;
● Технические задачи для настоящих Python-энтузиастов;
● Идеи для pet-проектов: от генерации сложных паролей до нейросети для создания изображений;
● И даже выгодные продуктовые предложения, которые помогут воплотить идеи на инфраструктуре Selectel.
 
Подписывайтесь на канал и прокачивайте знания в сфере разработки ➡️
 
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqwdjwRx
🐍 PyLeak — найди утечку памяти в своём Python-коде

PyLeak — простой и мощный инструмент для отладки утечек памяти в Python-приложениях.

🔍 Возможности:
• Показывает объекты, которые не удаляет сборщик мусора
• Строит граф зависимостей между объектами
• Выявляет циклические ссылки и "висящие" объекты
• Поддерживает визуализацию через Graphviz

📦 Установка:

pip install pyleak


🧰 Идеален для отладки сервисов, где память утекает незаметно.

🔗 GitHub

@pythonl
Российский рынок СУБД демонстрирует рост — 41,7 млрд ₽ в 2025 году, +16% в год. Главные драйверы: импортозамещение и ИИ.

О приоритетах и текущей стратегии развития платформы данных Yandex Cloud рассказал Леонид Савченков:

В центре внимания надёжность и масштабируемость — особенно для Postgres;
Активное развитие опенсорса: вклад в Cloudberry (ASF), собственный pg-sharding, а YTsaurus может быть особенно полезен Python-разработчикам благодаря поддержке ML;
YTsaurus и YDB теперь доступны для on-premise-развёртывания - решения можно запускать у себя;
Обноваления платформы данных: в DataLens появился редактор графиков на JS, галерея дашбордов и сертификация аналитиков; улучшены механизмы шардирования, а также инструменты масштабирования и отказоустойчивости.

🔍 Отказоустойчивость, открытость и собственные разработки — ключ к суверенной инфраструктуре хранения и обработки данных.

Полное интервью
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Совет по Python:


from pathlib import Path

# Создаем объект Path для заданного пути к файлу
path = Path("C:/Users/test.md")

# Получаем имя файла вместе с расширением
print(path.name) # 'test.md'

# Получаем только имя файла без расширения
print(path.stem) # 'test'

# Получаем расширение файла (с точкой)
print(path.suffix) # '.md'

# Получаем родительскую директорию (папку)
print(path.parent) # 'C:/Users'

С помощью модуля pathlib вы можете получать различные части пути — имя файла, расширение, родительскую директорию. Это упрощает работу с файловыми путями и их анализ.

Объяснение:

- path.name — возвращает полное имя файла (например, test.md).

- path.stem — возвращает имя файла без расширения (например, test).

- path.suffix — возвращает расширение файла (например, .md).

- path.parent — возвращает путь к родительской директории (например, C:/Users).

Модуль pathlib позволяет удобно разбирать путь к файлу на части и работать с ними, не используя строковые операции вручную. Это особенно полезно для кроссплатформенной работы с файлами и папками.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 MiniMax Agent — новый универсальный ИИ-агент для сложных задач

Команда MiniMax представила MiniMax Agent — интеллектуального агента, способного решать многошаговые, долгосрочные и комплексные задачи.

Что умеет MiniMax Agent:
- Поддерживает комплексное и многошаговое планирование на уровне
- Разбиение задач на подзадачи и их исполнение
- МОщные инструменты генерации кода
- Мультимодальность
- Интеграция с MCP

🔗 https://agent.minimax.io

@ai_machinelearning_big_data

#AI #IntelligentAgent #MiniMax #MultiStepPlanning #Automation #ToolUse #MCP #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Практическое руководство: Signals — реактивное управление состоянием в Python

Недавно вышло отличное руководство «The Missing Manual for Signals: State Management for Python Developers», где автор показывает, как внедрять реактивную модель на Python с помощью библиотеки

Почему Signals полезны

Стандартный подход—императивный—скрывает зависимости между переменными, что ведёт к ошибкам:


class OrderService:
def add_order(self, order):
self.orders.append(order)
self.total += order.amount
self.avg = self.total / len(self.orders)
self.notify_if_needed()
self.track_analytics()


Если забыть обновить одно значение — всё сломается.

Как работают Signals

Signals = реактивные переменные, которые:

1. Хранят значение (`Signal`)
2. Автоматически вычисляют производные (`Computed`)
3. Выполняют побочные действия (`Effect`) на изменениях

Пример:


from reaktiv import Signal, Computed, Effect

orders = Signal([])
total = Computed(lambda: sum(o.amount for o in orders()))
avg = Computed(lambda: total() / len(orders()) if orders() else 0)
Effect(lambda: notify(avg()) if avg() > 100 else None)

orders.update(lambda os: os + [new_order])


Теперь всё обновляется автоматически — вручную ничего делать не нужно.

Когда стоит применять


* Сложные производные значения, зависящие от нескольких источников
* Реальные Cascading-настройки, например, конфиг, кэши, соединения
* Сценарии real-time: дашборды, метрики, воркфлоу

Когда лучше не использовать

* Простые последовательные преобразования
* Одноразовые API-вызовы
* Прямолинейные функции (например, вычисление налога)

Основные преимущества

- Чёткое, декларативное управление зависимостями
- Обновления только нужных значений благодаря ленивому пересчёту
- Упрощение тестирования и устранение ошибок обновления

Реальные примеры

- Управление конфигурацией микросервисов
- Реализация real-time дашбордов
- Мониторинг состояния кластера, триггеры скейлинга

💡 Итог: Signals — отличная альтернатива громоздкому императиву.
Декларируешь связь один раз, и система сама поддерживает согласованность.

Полезно как для backend‑разработчиков, так и для ML‑инженеров.
📚 Материал — ~16 минут чтения, и он того стоит

📌 Читать

@pythonl