Python/ django
63.4K subscribers
2.28K photos
139 videos
48 files
3.01K links
по всем вопросам @haarrp

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

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
Управление мониторами с Monitor Control 🖥️

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

🚀Основные моменты:
- Управление яркостью и громкостью с анимацией
- Переключение между HDMI, DisplayPort и USB-C
- Поддержка нескольких мониторов
- Современный интерфейс в системном трее
- Автоматическое обновление информации о мониторах

📌 GitHub: https://github.com/Toxblh/Monic

@pythonl
6👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 PostgreSQL: LATERAL JOIN

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

Обычный JOIN не справится, но есть мощный инструмент - LATERAL JOIN. Он позволяет вызывать подзапрос для каждой строки внешней таблицы, сохраняя контекст.

Этот приём часто заменяет громоздкие запросы или оконные функции и работает значительно быстрее на PostgreSQL.

Используй его, когда нужно сделать что-то «на лету» для каждой записи.
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍11🔥4😢1
🤖 OpenTrack: Открытая система трекинга движений

OpenTrack — это кодовая база для трекинга движений гуманоидов, использующая MuJoCo для симуляции и поддерживающая многопроцессорное обучение. Проект ориентирован на исследование и разработку в области робототехники.

🚀 Основные моменты:
- Открытый исходный код для трекинга движений
- Поддержка многопроцессорного обучения
- Использует MuJoCo для симуляции
- Реализует различные сценарии обучения

📌 GitHub: https://github.com/GalaxyGeneralRobotics/OpenTrack
9🔥5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Python трюк: безопасное завершение потоков через флаг события

Многие просто daemon=True ставят и надеются, что всё само завершится. Но это ломает контроль и может привести к утечкам. Проще и надёжнее — использовать общий Event, чтобы уведомлять потоки о завершении.


import threading
import time

stop_event = threading.Event()

def worker():
while not stop_event.is_set():
print("Работаю...")
time.sleep(0.3)
print("Останавливаюсь корректно.")

thread = threading.Thread(target=worker)
thread.start()

time.sleep(1.2)
stop_event.set() # посылаем сигнал остановки
thread.join()
print("Все потоки завершены корректно.")
19👍4🔥3😁3
⚡️ Pytest markers: ускоряем разработку и тестирование

Когда проект растёт — часть тестов становится медленной (ML-тренировка, GPU-инференс, интеграционные проверки).
Pytest позволяет помечать такие тесты и запускать только нужные группы.

В примере:
- @pytest.mark.fast — быстрые юнит-тесты
- @pytest.mark.slow — долгие тесты (например, обучение модели)
- @pytest.mark.gpu — тесты, требующие GPU

Команды:
# Запустить только быстрые
pytest -m fast

# Запустить всё, кроме slow
pytest -m "not slow"

Идеально, когда нужно:
- быстро прогнать код перед пушем
- запускать тяжёлые тесты по расписанию/в CI
- разделить ML-тесты по ресурсам (CPU/GPU)

Используйте маркеры — и ваша разработка станет быстрее и чище 🧪⚙️

#pytest #python #testing #mlengineering #unittesting #devtools
👍128🔥5
🧠 Дискретные диффузионные модели для генерации текста

Репозиторий предлагает аннотированную реализацию модели дискретной диффузии для генерации текста, основанную на архитектуре "baby GPT" от Андрея Карпаты. Используя подход денойзинга, модель восстанавливает и генерирует текст, обучаясь на примерах, таких как произведения Шекспира.

🚀 Основные моменты:
- Обучение на текстах с использованием дискретных диффузионных моделей.
- Параллельная генерация токенов вместо последовательной.
- Включает математическую основу и адаптацию существующих архитектур.
- Применение к различным наборам данных и настройкам модели.

📌 GitHub: https://github.com/ash80/diffusion-gpt

#python
8👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Тестируй Python-код не «на ощупь», а через три уровня.

Сначала юнит-тесты для базовой логики, затем фикстуры для реального окружения (файлы, БД, HTTP-моки), и сверху — hypothesis для автоматического поиска скрытых багов.

Так тесты будут короткими, а покрытие и надёжность — максимальными.


import pytest
from hypothesis import given, strategies as st


# 1) Простой юнит-тест
def test_add():
assert add(2, 3) == 5


2) Фикстура для окружения (временный файл)
@pytest.fixture
def temp_file(tmp_path):
file_path = tmp_path / "data.txt"
file_path.write_text("42")
return file_path


def test_read_data(temp_file):
assert read_data(temp_file) == 42


3) Property-based тест (генерация случайных входных данных)
@given(st.integers(), st.integers())
def test_add_random(a, b):
assert add(a, b) == a + b


Быстрый запуск только упавших тестов:
pytest --lf
🔥208👍3😱2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Tencent выложила код Hunyuan World 1.1 (WorldMirror)

Теперь доступен полный стек для кастомизации и тонкой настройки модели:

- из видео в 3D-сцену за одну секунду
- преобразование ЛЮБОГО входа (картинка, видео, 3D-приоры) в ЛЮБОЙ выход: 3DGS, depth, камеры, normal-карты, point-cloud
- готовый код для обучения и свои пайплайны

Можно сразу пробовать онлайн-демо или собирать свою модель.

Демо: https://huggingface.co/spaces/tencent/HunyuanWorld-Mirror
Код: https://github.com/Tencent-Hunyuan/HunyuanWorld-Mirror

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6🔥3😱1
Почему «Async Django» часто решает не ту проблему

Django теперь умеет ASGI и async-views, но автор статьи отмечает: переход на async сам по себе почти ничего не ускоряет. Чтобы получить выгоду, весь код должен быть переписан под асинхронность, а в реальных проектах прирост обычно минимальный.

Где async реально нужен?
В задачах с большим количеством ожидания: внешние API, WebSockets, стриминг ответов. Там async даёт ощутимую экономию.

Но есть нюанс:
Django стал «двухрежимным» фреймворком - синхронные и асинхронные части живут рядом, усложняя архитектуру. ORM всё ещё в основном синхронная, и это становится бутылочным горлышком.

Поэтому для большинства проектов выгоднее оставить sync Django и вынести тяжёлые операции в фоновые задачи (Celery, RQ). Это проще, надёжнее и предсказуемее.

Итог:
Async Django - круто с инженерной точки зрения, но бизнес-ценность есть далеко не в каждом сценарии. Для большинства приложений классический Django остаётся лучшим выбором.


https://www.loopwerk.io/articles/2025/async-django-why/
👍15🔥76
🖥 Аккуратный выход из Python-скриптов через sys.exit

В продакшене важно правильно сигнализировать системе об успехе или ошибке.
В Python это делается через sys.exit(<код>):

0 — успешное завершение
неноль — ошибка, которую может поймать CI/CD, Docker, cron или любой supervisor

В примере выше try/except использует это правило:
- при ошибке деления выводится сообщение и скрипт завершается с кодом 1
- при успешной операции — вывод “Operation successful!” и код 0

Такой паттерн обязателен для CLI-утилит, сервисных скриптов, пайплайнов и автоматизации: он делает выполнение предсказуемым и даёт внешним системам корректно реагировать на сбои.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206🔥4🤩1
🖥 Современная панель для мониторинга Docker-контейнеров в реальном времени

Что умеет:
- следит за локальными и удалёнными Docker-хостами в одном окне
- умно перезапускает контейнеры с настраиваемой логикой повторов
- шлёт алерты в Telegram, Slack, Discord, Gotify и почту
- обновляет контейнеры по расписанию
- позволяет разворачивать Docker Run и Compose-пресеты прямо из UI
- показывает health-чеки и события в реальном времени

Github: https://github.com/darthnorse/dockmon

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python задака

Напиши функцию, которая распарсит вложенные структуры (списки, кортежи, множества, генераторы) в одну последовательность, но не трогает строки и не падает из-за циклов.

Вот как сделать это без рекурсии, только через стек:


def flatten(obj):
stack = [obj]
seen = set()
while stack:
x = stack.pop()
if isinstance(x, (str, bytes)):
yield x
elif isinstance(x, (list, tuple, set)):
xid = id(x)
if xid in seen:
continue
seen.add(xid)
stack.extend(reversed(list(x)))
else:
yield x

# пример
data = [1, [2, 3], ("ab", [4, 5]), 6]
data.append(data) # создаём цикл
print(list(flatten(data)))
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🔥4🤩2
⚡️ Rust vs Python - как найти баланс между скоростью и простотой

JetBrains выпустили подробный разбор, где сравнивают Python и Rust без фанатизма — по скорости, синтаксису, памяти, экосистеме, конкурентности и даже по карьерным сценариям.

Главный вывод: Python нужен там, где важна скорость разработки и богатая экосистема, Rust, когда критична производительность, безопасность и масштабируемость. Всё чаще их используют вместе: Python для логики, Rust для самых горячих участков.

Ключевые моменты

Рост и популярность
- Python уверенно расширяет аудиторию: быстрый вход, огромная экосистема, удобство для ML, веба и автоматизации.
- Rust годами остаётся самым любимым языком разработчиков — благодаря безопасности памяти, скорости и надёжности.

Типы и управление памятью
- Python — динамическая типизация и удобный GC: легко начать, но ошибки всплывают в рантайме.
- Rust — строгая типизация, система владения и заимствований, отсутствие GC: ошибки ловятся на этапе компиляции, производительность предсказуема.

Производительность и конкурентность
- Python ограничен GIL: хорош для I/O, но CPU-параллелизм требует multiprocessing или расширений.
- Rust не имеет GIL — настоящая параллельность, «бесстрашная» конкурентность и контроль безопасности компилятором.

Экосистема
- Python — PyPI, Jupyter, зрелые фреймворки для DS/ML, веба, автоматизации.
- Rust — Cargo и crates.io, сильная база для CLI, системного софта, WebAssembly.

Комбинация Python + Rust
- Тренд — ускорять Python-проекты Rust-модулями.
- Библиотеки типа pydantic-core или Ruff показывают огромный прирост скорости.
- PyO3 делает интеграцию очень простой: Rust-код можно вызывать как обычный Python-модуль.

Карьера
- Python - широкие вакансии, огромный спрос в данных и ML.
- Rust - меньше позиций, но выше специализация в инфраструктуре, системной разработке и высоконагруженных сервисах.

Как выбирать
- Нужна скорость разработки и гибкость — Python.
- Нужна производительность и надёжность — Rust.
- Нужны и то, и другое — гибридный подход Python + Rust.

Подробный разбор
- в блоге JetBrains:
https://blog.jetbrains.com/rust/2025/11/10/rust-vs-python-finding-the-right-balance-between-speed-and-simplicity/

#Rust #Python #Programming #Backend #Performance

@pythonl
20👍9🔥2😁2
Forwarded from C# (C Sharp) programming
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Microsoft выпустила Visual Studio 2026 - крупнейшее обновление IDE за последние годы.

🔹 300+ новых функций и почти 5000 исправлений ошибок
🔹 Интеграция с GitHub Copilot стала глубже: теперь он помогает в анализе, рефакторинге и генерации кода
🔹 Редизайн интерфейса — 11 новых цветовых тем, улучшенная навигация и читаемость
🔹 Производительность выросла: количество зависаний интерфейса снизилось на 50 %
🔹 Более 4000 расширений от Visual Studio 2022 полностью совместимы с новой версией

Самое время обновиться - новая версия ощутимо быстрее и умнее.

https://visualstudio.microsoft.com/downloads/

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥7👍4😢1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥СОВЕТ ДЛЯ PYTHON ASYNCIO

В продвинутых asyncio-сетях главная редкая проблема — неконтролируемый рост буфера, когда клиент принимает данные слишком медленно. Python по умолчанию спокойно складывает мегабайты в память, пока сокет забит.

Решение - вручную ограничить размер буфера транспорта через `set write buffer limits и всегда ждать writer.drain. Тогда при медленном клиенте корутины просто «замрут» в drain(), а не раздуют памяиь.
Подписывайся, больше фишек каждый день !


пример контролируемой по памяти передачи данных

import asyncio

async def handle(reader, writer):
writer.transport.set_write_buffer_limits(high=500_000, low=200_000)

while True:
writer.write(b"x" * 65536)
await writer.drain() # остановит корутину, если клиент не успевает

async def main():
server = await asyncio.start_server(handle, "0.0.0.0", 8888)
async with server:
await server.serve_forever()

asyncio.run(main())
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍5🔥4😁2
💡 Qwen-Image-Edit получил полезное обновление.

Лаборатория eigen ai labs выпустила новую LoRA под названием Eigen-Banana. Она ориентирована на быстрые и точные правки изображений по текстовым подсказкам. Работает на высоких скоростях и хорошо понимает как английские, так и китайские запросы.

Важно: лицензия разрешает только некоммерческое использование.

Ссылка: https://huggingface.co/eigen-ai-labs/eigen-banana-qwen-image-edit

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ ПРИЁМ ДЛЯ ГЛАДКОЙ ПЕРЕДАЧИ ДАННЫХ В ASYNCIO

В сетевом Python можно «мягко» ограничивать скорость передачи данных без троттлинга на уровне сокета.

Приём - отправлять данные кусками и вставлять короткий await asyncio sleep после каждого drain(): это отдаёт управление циклу, даёт шанс другим корутинам и предотвращает монополизацию CPU.

Полезно в высоконагруженных стримерах.


простой «мягкий» троттлинг передачи данных

import asyncio

CHUNK = 32_000

async def send_smooth(writer, data: bytes):
for i in range(0, len(data), CHUNK):
writer.write(data[i:i+CHUNK])
await writer.drain()
await asyncio.sleep(0) # отдаём управление циклу

async def handle(reader, writer):
payload = b"x" * 5_000_000
await send_smooth(writer, payload)
writer.close()
await writer.wait_closed()

async def main():
srv = await asyncio.start_server(handle, "0.0.0.0", 8888)
async with srv:
await srv.serve_forever()

asyncio.run(main())


@pythonl
12👍8🔥4🤩1
🔥 Подборка полезных ресурсов для программистов.

Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!

AI: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonlbooks
Linux: t.iss.one/linuxacademiya
Devops: t.iss.one/DevOPSitsec
Собеседования DS: t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_1001_notes
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Haskell: t.iss.one/haskell_tg
Физика: t.iss.one/fizmat

💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://t.iss.one/addlist/w4Doot-XBG4xNzYy

😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy

Сохрани себе, чтобы не потерять!
👍75🔥2🤩1
Microsoft выкатили **amplifier** - новую экспериментальную платформу для сборки AI-инструментов без лишнего кода.

Что это:
- способ описать экспертный процесс в виде шагов и автоматически превратить его в работающий инструмент;
- возможность комбинировать такие инструменты между собой, создавая цепочки автоматизации;
- платформа для исследований, поэтому всё ещё активно меняется.

Чем хорош инструмент:
- позволяет быстро превращать повторяющиеся задачи в автономные AI-процессы;
- помогает строить «агентов» с ролями — исследователь, критик, исполнитель;
- снижает порог входа: достаточно описать логику, а не писать всю реализацию.


Это пока исследовательский проект, но потенциал — большой.

👉 Репозиторий: https://github.com/microsoft/amplifier

@pythonl
8👍8🔥2😁2
🧩 Удобная библиотека для логирования с контекстом

Unilogging упрощает процесс логирования в Python-приложениях, используя Dependency Injection для управления контекстом логов. Это позволяет легко отслеживать события, связанные с конкретными запросами, без необходимости передавать данные через все уровни приложения.

🚀Основные моменты:
- Логирование с использованием контекста для упрощения отслеживания запросов.
- Поддержка Dependency Injection для гибкости и удобства.
- Минимизация дублирования кода при передаче данных логирования.
- Интеграция с FastAPI и другими фреймворками.

📌 GitHub: https://github.com/goduni/unilogging

@pythonl
8👍5🔥2