Python RU
13K subscribers
993 photos
88 videos
40 files
1.25K links
Все для python разработчиков

админ - @notxxx1

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
🚀 21 урок для инженеров от человека с 14-летним опытом в Google

Addy Osmani собрал ключевые выводы из своей карьеры в Google — не про фреймворки и хайп, а про то, что реально делает инженера сильнее.

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

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

Полезно прочитать каждому, кто строит карьеру в разработке и хочет расти системно, а не случайно.

https://www.youtube.com/watch?v=fAzrx_t7IAE
3🔥1
🖥 Новый курс на Stepik - PostgreSQL для разработчиков: от основ к созданию API

Здесь на пальцах объясняют не только как писать SQL-запросы, а строить настоящие backend-сервисы с базой данных как у профи.

В этом курсе ты шаг за шагом создашь REST API на FastAPI + PostgreSQL:
от установки среды и первых таблиц - до масштабируемого приложения с безопасностью и CRUD-операциями.

🔹 На практике разберете:
• SQL-запросы, фильтры, агрегаты и подзапросы
• Связи между таблицами и нормализацию БД
• Взаимодействие Python и PostgreSQL
• Реализацию REST API и подключение базы
• Оптимизацию и разбор реальных задач с собеседований

После курса у вас будет свой работающий API-проект и реальные навыки работы с PostgreSQL в продакшене.

🎁 Торопись пока действует скидка в честь нвого года!

🚀 Прокачаю свои знания: https://stepik.org/course/255542/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 БЫСТРЫЙ СЕРВЕР ДЛЯ PYTHON ЗА 5 МИНУТ

Нужно быстро поднять сервер под Python-проект без лишней возни?
Ставим системные пакеты, создаём отдельного пользователя, настраиваем venv, делаем systemd-сервис и сразу получаем автозапуск + рестарт при падении.

Идеально для FastAPI / Flask / любых API и ботов.


sudo apt update && sudo apt install -y python3-venv python3-pip nginx
sudo useradd -m -s /bin/bash app && sudo mkdir -p /opt/app && sudo chown -R app:app /opt/app
sudo -u app bash -lc 'cd /opt/app && python3 -m venv venv && ./venv/bin/pip install -U pip uvicorn fastapi'

sudo tee /etc/systemd/system/app.service >/dev/null <<'EOF'
[Unit]
After=network.target

[Service]
User=app
WorkingDirectory=/opt/app
ExecStart=/opt/app/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now app
sudo systemctl status app --no-pager


https://www.youtube.com/shorts/cbUNWU1Sbsc
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥2😁2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 AnthropicAI выпустили Claude Cowork - по сути это Claude Code, но для НЕтехнарей

Идея простая: теперь агенты на твоём компьютере становятся доступными не только разработчикам.

Что умеет Claude Cowork:

Долгие задачи прямо на твоём ПК
Не “ответил и забыл”, а реально берёт задачу и делает её часами, пока не закончит.

Без терминала
Никаких команд, npm, pip и прочего - запускается прямо в Claude app как новая вкладка.

Доступ ко всему контексту компьютера
Может:
- видеть файлы и папки
- использовать контекст приложений
- управлять браузером
- собирать данные и заполнять формы
- выполнять цепочки действий

Мир сейчас впервые массово увидит, каково это -
когда твой компьютер реально работает за тебя, пока ты спишь.

Следующий шаг очевиден: люди начнут “нанимать” ИИ как ассистента,а не как чатбота.

Ждём эпоху: *поставил задачу вечером → утром получил готовый результат*.

📌 Скачать: https://claude.com/download
📌 Анонс: https://claude.com/blog/cowork-research-preview
5👍2
⚡️ Хочешь обучить свой TTS с нуля и добавлять туда фичи “как тебе надо”, а не как у всех?

Команда LEMAS (IDEA) открыла датасет, на котором они обучали LEMAS и это, похоже, крупнейший open-source мультиязычный speech-датасет вообще.

Что внутри:
- 150K+ часов аудио
- 10 языков
- word-level timestamps (разметка до уровня слов)
- качество и масштаб уровня “обычно такое держат под замком”

По сути - они выложили то, что большинство компаний никогда бы не отдали публично.

И да, из этого “сокровища” уже родились 2 мощные модели:

LEMAS-TTS
- Zero-shot мультиязычный синтез речи (озвучка без дообучения на конкретного спикера)

LEMAS-Edit
- редактирование речи как текста: меняешь слова — меняется аудио

Если ты работаешь со Speech AI, TTS, ASR, voice agents — это must-have релиз.

Project: https://lemas-project.github.io/LEMAS-Project/
Dataset & model released: https://huggingface.co/LEMAS-Project
6🔥2
🎙 OpenBMB выложили в open-source веса VoxCPM - с real-time стримингом и LoRA fine-tuning

Модель работает примерно с 0.15 real-time factor на одной RTX 4090 - то есть очень быстро.

Самое интересное: VoxCPM фактически убирает токенизацию из TTS.

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

Технически:
• End-to-end diffusion + autoregressive генерация
• Непрерывные акустические представления
• Без узких мест типа фонем и codec-токенов

🧬 Клонирование голоса - буквально по нескольким секундам аудио

Достаточно короткого референса, и модель переносит:
- акцент
- ритм
- тембр
- паузы и тайминг

Возможности:
• Zero-shot voice cloning
• Без обучения под конкретного спикера
• Работает в режиме streaming

Быстро и легко тюнится
Стриминг идёт чанками с задержкой меньше секунды.
А через LoRA fine-tuning можно адаптировать голоса без полного переобучения модели.

https://github.com/OpenBMB/VoxCPM
4🔥2👍1
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
🙂 Как Cursor вайбкодил браузер - наглядно.

Гендир Cursor, Майкл Труэлл, запостил в Х крутую тайм-лапс визуализацию процесса создания браузера роем агентов, о котором мы рассказывали на днях.

Сколько раз пересмотрели?

@ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3👍2
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?

Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.

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

Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.

🎁 48 часов действует скидка в 40% процентов

👉 Начать учиться на Stepik
4👍1🔥1
🖥 Python супер-совет: `__slots__` = меньше RAM и быстрее объекты

Если у тебя много однотипных объектов (DTO/модели/парсинг) - добавь __slots__.

Это отключает `__dict__` у объектов:
меньше памяти
быстрее доступ к полям
меньше мусора для GC


class User:
__slots__ = ("id", "name") # no __dict__
def __init__(self, id, name):
self.id = id
self.name = name


Мощно в:
парсерах, логах, ML-пайплайнах, highload API.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
🖥 Python: пакет packaging стал ощутимо быстрее — и это реально заметно в больших проектах

Свежий апдейт библиотеки
packaging (библиотека, которую используют pip и многие инструменты для сравнения версий и работы с зависимостями) принёс заметное ускорение ключевых операций. Это важно, потому что такие функции вызываются тысячи раз при установке зависимостей, разрешении версий и т.д.

Главное, что ускорили:

• Быстрее парсинг и сравнение версий (`Version` и `SpecifierSet`).
• Некоторые операции (сравнения, фильтрации, хэши) стали в несколько раз быстрее.
• Оптимизации направлены на самые “узкие места”, которые чаще всего тормозят pip и другие инструменты.

Почему это важно для тебя:

• pip будет работать быстрее при установке больших стеков зависимостей.
• Инструменты сборки и CI/CD быстрее считают совместимость версий.
• Оптимизация сделана без потери корректности и без усложнения API.

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

Подробнее о скорости и измерениях — в исходном разборе изменений.

https://iscinumpy.dev/post/packaging-faster/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Использование абстрактных классов в Python.

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



from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * (self.radius ** 2)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
Machine learning без путаницы

Когда только начинаешь разбираться в ML, часто возникает ощущение беспорядка — разрозненные материалы из разных источников затрудняют понимание ключевых требований, и в итоге непонятно, что на самом деле нужно учить и твое ли это направление.

Бесплатный демокурс «Погружение в machine learning» от karpovꓸcourses дает структурированное первое знакомство с профессией: погрузитесь в основы Python, разберете базовые ML-подходы, видят, как данные превращаются в модели и решения, и понимают, какие навыки действительно нужны для старта.

Доступ открывается сразу после регистрации, забирайте по ссылке: https://clc.to/erid_2W5zFJz8LcY

Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFJz8LcY
2
This media is not supported in your browser
VIEW IN TELEGRAM
Используй tenacity для Retry с экспоненциальной задержкой в Python!

Сохрани себе: для повторных попыток (retry) с экспоненциальной задержкой в Python можно использовать библиотеку tenacity. Это удобно для работы с нестабильными API, так как она позволяет легко настраивать количество попыток, задержку и её увеличение при каждой неудаче.


import requests
from tenacity import retry, wait_exponential
@retry(wait=wait_exponential(multiplier=1, min=2, max=10), stop=stop_after_attempt(5))
def fetch_data(url):
response = requests.get(url)
response.raise_for_status() # Вызывает исключение для ошибок 4xx/5xx
return response.json()
data = fetch_data("https://example.com/api/data")
print(data)
4👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Используй декоратор для отслеживания времени выполнения функций.

Для точного измерения времени выполнения различных частей вашего кода используйте time.perf_counter(), который обеспечивает более высокую точность. Создайте декоратор для автоматического отслеживания времени выполнения функций. Это поможет быстро выявить узкие места в вашем коде.



import time
def time_tracker(func):
def wrapper(*args, **kwargs):
start_time = time.perf_counter()
result = func(*args, **kwargs)
end_time = time.perf_counter()
duration = end_time - start_time
print(f"Функция '{func.__name__}' выполнилась за {duration:.6f} секунд")
return result
return wrapper
@time_tracker
def slow_function():
time.sleep(2)
slow_function()
4🔥2👍1
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.

Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:

• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов

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

В итоге ты сможешь:

• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных

Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Файлы по 10 ГБ - Python всё ещё справится, если не грузить всё в память

Главная ошибка новичка - сделать read() и удивляться, почему всё упало. Для больших файлов думай потоками: читаем кусками, обрабатываем по строкам, пишем сразу в новый файл. Так память почти не растёт, а код спокойно переваривает десятки гигабайт.

Что использовать:

Итерацию по строкам - файл читается лениво

Буферизацию - чтобы не делать миллион мелких операций записи

Потоковую запись - результат сразу на диск

gzip на лету - читаем и пишем сжатые файлы без распаковки в RAM



import gzip

src = "big.log.gz"
dst = "filtered.log.gz"

with gzip.open(src, "rt", encoding="utf-8", errors="ignore") as fin,
gzip.open(dst, "wt", encoding="utf-8") as fout:
for line in fin: # ленивое чтение строк
if "ERROR" in line: # любая ваша фильтрация
fout.write(line) # потоковая запись на диск

fout.write("\n") # просто пример финальной записи
fout.write("done\n")
3🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ

Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».

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

Правильный подход - сначала контейнерная база, потом разработка.

Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.

Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.

Docker - это фундамент проекта, а не финальный штрих.


Dockerfile (база для Python-проекта)

FROM python:3.12-slim

WORKDIR /app

Сначала зависимости — кеш будет работать правильно

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

Потом код

COPY . .

EXPOSE 8000

HEALTHCHECK CMD curl --fail http://localhost:8000/health
|| exit 1

CMD ["python", "app.py"]

.dockerignore

.git
pycache
venv
node_modules
*.log

docker-compose.yml

version: "3.9"
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env


- https://www.youtube.com/shorts/1q4ceKg1wAA
👍4🔥3😁1
🔥 Бесплатный интенсив по ChatGPT и созданию НЕЙРОСТРУДНИКОВ без опыта программирования🔥

Вы узнаете, как использовать ChatGPT в профессиональных целях, создавать нейросотрудников на заказ и зарабатывать на ИИ от 150.000р в месяц.

Простое понимание основ, без сложного кода!

Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.

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

Ведущий интенсива - Senior AI-разработчик нейросетей с 2003 года и основатель Университета искусственного интеллекта - Дмитрий Романов.

🤖Присоединяйтесь к нашему бесплатному интенсиву и разберитесь в этой увлекательной теме с нами!
2👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Обработка исключений при работе с API в Python

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


import requests
def fetch_data(url):
try:
response = requests.get(url)
response.raise_for_status() # Проверка на HTTP ошибки
return response.json() # Возвращаем данные в формате JSON
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except requests.exceptions.ConnectionError:
print("Connection error occurred. Please check your internet connection.")
except json.JSONDecodeError:
print("Error decoding JSON response.")
except Exception as err:
print(f"An error occurred: {err}")
data = fetch_data("https://api.example.com/data")
2👍2🔥1