Python_BE1
9 subscribers
748 photos
252 videos
7 files
672 links
Канал по Python, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🔥SQL ТРЮК: Как выбрать первые N строк в каждой группе

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

Ты получишь первые два события для каждого пользователя. Можно легко адаптировать под «топ‑пять товаров в каждой категории.

Этот трюк работает в большинстве современных СУБД, поддерживающих оконные функци

@python_be1
OpenAI впервые с 2019 года релизнули опенвэйт-модели. Новые gpt-oss-120b и gpt-oss-20b почти не отстают от o3 и o4-mini.

Модель на 120 млрд потянут дата-центры. На 20 млрд — обычные ПК и ноутбуки. Для ее запуска достаточно 16 гигов видеопамяти.

Из минусов: нет мультимодальности. Зато лицензия Apache 2.0 — можно использовать в коммерческих проектах.

Протестить: https://www.gpt-oss.com/
GitHub: https://github.com/openai/gpt-oss

@python_be1
🎶 OpenAI выложила Harmony — свою библиотеку для генерации музыки с помощью ИИ!

📦 Harmony — это модульный стек для обучения и инференса аудиомоделей нового поколения:
— Поддерживает энкодеры, декодеры, diffusion, токенизацию и всё остальное
— Построен для мультитрековой генерации музыки
— Оптимизирован под масштаб: легко запускается на больших датасетах и длинных аудиотреках
— Подходит для экспериментов, ресерча и продакшена

💻 GitHub: https://github.com/openai/harmony

Если ты хочешь по-настоящему генерировать музыку с ИИ — это твой инструмент.

#AI #MusicGen #OpenAI #Harmony

@python_be1
Fastrtc (https://github.com/gradio-app/fastrtc) — библиотека python для общения в режиме реального времени.

Превратите любую функцию Python в аудио- и видеопоток в реальном времени с помощью WebRTC или WebSockets.

@python_be1
**🔍 Yandex Search API Client – удобный поиск через Python**

Библиотека `yandex-search-api` позволяет легко взаимодействовать с **Yandex Search API**, получая результаты поиска прямо в Python.

### **📌 Основные возможности:**
- Поиск через API Яндекса
- Получение результатов в **XML** или **списке ссылок**
- Поддержка разных типов поиска (Русский, Международный и др.)
- Настройка региона (Россия, Украина, Казахстан и др.)
- Автоматическое управление **IAM-токенами**
- Асинхронные запросы с таймаутами

### **🚀 Пример использования:**
```python
from yandex_search_api import YandexSearchAPIClient

client = YandexSearchAPIClient(
folder_id="ваш_folder_id",
oauth_token="ваш_oauth_token"
)

links = client.get_links(
query_text="Python библиотеки для поиска",
n_links=5
)

print("Найденные ссылки:", links)
```

### **⚙️ Установка:**
```bash
pip install yandex-search-api
```

**🔗 Документация:**
- [Как получить folder_id](https://yandex.cloud/en-ru/docs/resource-manager/operations/folder/get-id)
- [Как получить OAuth-токен](https://yandex.cloud/en-ru/docs/iam/concepts/authorization/oauth-token)

Удобно для парсинга, анализа выдачи и автоматизации поиска! 🚀

https://pypi.org/project/yandex-search-api/#description

#Python #Yandex #API #Search #Automation

@python_be1
🛠️ Microsoft Research выложили в open-source новый инструмент — Debug-Gym.

Это песочница, где LLM‑агенты могут:
Ставить брейкпоинты
Чекать переменные
Перезаписывать файлы, пока тесты не позеленеют

Всё изолировано в Docker — безопасно при проведение тестов.

📊 Протестировано 9 моделей на 3 бенчмарках. В эксперименте модели решали 300 багов — с доступом к Debug-Gym и без.
Когда агентам дали дебаг‑инструменты, их точность выросла. Но даже лучшие решили <50% задач на SWE‑bench Lite.

Писать код ИИ уже умеет.
Дебажить — пока нет.
А это и есть самая трудная часть.

Microsoft уже работает над обучением моделей для поиска информации при отладке, как RAG — но для дебага.

🔗 Сам инструмент: https://microsoft.github.io/debug-gym/
🔗Статья: https://arxiv.org/abs/2503.21557

#microsoft #ai #ml

@python_be1
Новая GPT-5 уже в Cursor, бесплатно 😋

@python_be1
🐍 Python + Ruff: сложность кода под контролем

На скрине — функция `validate_product`, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом `C901` (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.

📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.

⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании

💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных `if`
3. Упрощать логику с помощью вспомогательных функций или структур данных

#Python #Ruff #CleanCode #Refactoring #McCabeComplexity

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

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

🤖 GitHub (https://github.com/windmill-labs/windmill)

@python_be1
Монолитные тесты = больше головной боли при отладке.
Когда в одном тесте проверяешь всё подряд, при падении непонятно, какой именно сценарий сломался.

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

Плохо:
```

def test_extract_sentiment():
assert extract_sentiment("I love this!") == "positive"
assert extract_sentiment("Terrible") == "negative"
assert extract_sentiment("On time") == "neutral"

```

Хорошо:
```

def test_extract_sentiment_positive():
assert extract_sentiment("I love this!") == "positive"

def test_extract_sentiment_negative():
assert extract_sentiment("Terrible") == "negative"

```

📌 Результат — быстрее находишь баги и не тратишь время на догадки.

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

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

🤖 GitHub (https://github.com/pschanely/CrossHair)

@python_be1
Релизнулся МОЩНЕЙШИЙ удалятор фона — Ripolas вырежет для вас ЛЮБУЮ пикчу за один клик.

• Работает очень шустро — готовый результат получаете за секунду.
• Идеально для простых задач — например, для удаления одноцветного фона.
• Готовый результат можно подредачить с помощью встроенного ползунка и поправить неровности.
• Пикча вылетает в отличном качестве и БЕЗ артефактов.

😶😶😶😶😶😶😶😶😶

Юзаем — тут. (https://ripolas.org/background-remover/)
👍

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Молниеносный HTML-парсинг: selectolax быстрее BS4 в разы

Полезный трюк: быстро парсим HTML прямо из строки с помощью selectolax — лёгкой и очень быстрой библиотеки на C, в разы быстрее BeautifulSoup.

Установка:

pip install selectolax

Пример:

from selectolax.parser import HTMLParser

html = """

<html><body> <h1>Hello</h1> <p class='msg'>World</p> </body></html> """
tree = HTMLParser(html)
print(tree.css_first("h1").text()) # Hello
print(tree.css_first("p.msg").text()) # World

@python_be1
ИИ впервые взял золото на Международной олимпиаде по информатике

OpenAI сообщила, (https://x.com/sherylhsu02/status/1954966109851119921?s=46) что их экспериментальная модель заняла первое место среди всех ИИ-моделей и 6 место среди 330 кожаных участников на сложнейшей Олимпиаде по информатике для школьников.

Это без выхода в интернет, RAG, специального обучения и с теми же условиями, что и у людей.

И тут OpenAI проиграла азиатам 😁

@python_be1
Проходим сложные собеседования без проблем — тулза cheating daddy (https://cheatingdaddy.com/) поможет получить самый жирный оффер.

Сервис генерирует готовые ответы для HR в реальном времени. Работает быстро и четко. Помимо генерации ответов, тулза умеет подсказывать формулировки, приводить примеры кода, напоминать о ключевых алгоритмах и даже корректировать технические неточности в ответах.

Все это в ПОЛНОЙ «невидимости». Сервис функционирует без сбоев, а при подключении бесплатного Gemini API раскрывает весь свой потенциал. Остается только не вылететь с работы через месяц.

Срочно забираем имбу — здесь. (https://cheatingdaddy.com/)

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python: Быстрое измерение времени выполнения кода с контекстным менеджером

Полезный трюк для Python-разработчиков: если вам нужно замерить время работы конкретного участка кода, можно использовать контекстный менеджер перф каунтер вместе с with.

Это позволит быстро и удобно профилировать фрагменты без громоздких измерений и принтов. Такой приём особенно полезен при оптимизации производительности.

@python_be1
Для продвинутых администраторов Linux есть одна команда, которая может значительно облегчить управление системами — это 'lsof'. Эта утилита позволяет просмотреть список открытых файлов и сокетов в системе, что крайне полезно для диагностики и мониторинга. Например, если вам нужно выяснить, какой процесс использует определённый порт, просто выполните 'lsof -i :<порт>'. Это даст вам информацию о процессе, который его использует, включая PID и имя пользователя.

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

@python_be1