Telegram Web Link
📎 Топ-вакансий для питонистов за неделю

Python Разработчик — от 250 000 до 280 000₽, удалёнка

SDET Python (KLDFS), удалёнка

Python-разработчик — до 1 800 $, удалёнка

Python разработчик — от 1500 до 3000 $, удалёнка

Senior Python Developer (Analytics) — от 300 000 до 400 000 ₽, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Python jobs

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1😁1
Шпаргалка: типизированные структуры данных в Python

Python поддерживает типизацию с помощью аннотаций, а также предоставляет удобные инструменты для описания структур — TypedDict и dataclasses.

🆖 Typed Dictionaries (Типизированные словари)

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

Пример:
from typing import TypedDict

class Metrics(TypedDict):
accuracy: float
precision: float
recall: float
AUC: float | None # необязательное поле

def evaluate_predictions(y_true: np.ndarray, y_pred: np.ndarray) -> Metrics:
# Возвращаем словарь с метриками
return Metrics(accuracy=0.66, precision=1.0, recall=0.5)

my_metrics = evaluate_predictions(y_true, y_pred)
print(my_metrics) # {'accuracy': 0.66, 'precision': 1.0, 'recall': 0.5}


🆖 Dataclasses (Датаклассы)

Датаклассы упрощают создание классов с данными, автоматически генерируя методы вроде __init__. Можно сделать объекты неизменяемыми с frozen=True.

Пример:
from dataclasses import dataclass

@dataclass(frozen=True)
class ModelConfig:
model_path: str
data_path: str
batch_size: int = 32
learning_rate: float = 1e-3
num_epochs: int = 10
early_stopping: bool = False

config = ModelConfig(model_path="models/v1", data_path="data/train", batch_size=64)
print(config.batch_size) # 64


🆖 Вложенные структуры

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

Пример:
from datetime import datetime

@dataclass
class ExperimentSummary:
datetime: datetime
model_config: ModelConfig
metrics: Metrics

experiment = ExperimentSummary(datetime=datetime.now(), model_config=config, metrics=my_metrics)
print(experiment.model_config.batch_size) # 64


Важные советы:
🔛 Не увлекайтесь глубокой вложенностью! Слишком сложные структуры затрудняют поддержку и понимание.
🔛 Используйте типы для самодокументирования кода. Они помогают избежать ошибок и ускоряют разработку.
🔛 Выбирайте TypedDict, если хотите словарь с проверкой структуры.
🔛 Используйте dataclasses, когда нужна полноценная структура с методами и возможностью наследования.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍7👏1👾1
🎯 Шпаргалка: 9 способов продвинуть резюме в ТОП на HeadHunter

💼 Обновили резюме, но тишина? Просмотров — ноль, откликов — тем более.

Значит, пора не просто искать работу, а правильно продавать себя системе.

В статье:
— Как работает алгоритм HeadHunter
— Почему ваше резюме могут просто не увидеть
— 9 приёмов, чтобы попасть в ТОП — от ключевых слов до тайминга

🔗 Читайте статью — и пусть рекрутеры вас заметят: https://proglib.io/sh/rStRsQJzH1

Библиотека питониста #буст
4👍1🌚1
🗂 Как перевести Python/Django-проект на uv

Если вы устали от несовпадений между локальными зависимостями, CI и продом, попробуйте перейти на uv — современный инструмент для управления окружением и зависимостями Python.

Вот краткий план, как это сделать:

1️⃣ Настройка pyproject.toml

Создайте или обновите pyproject.toml с базовой информацией о проекте:
[project]
name = "my-product"
version = "1.2.3"
description = "Our amazing product."
readme = "README.md"
requires-python = "~=3.12"
dependencies = []


2️⃣ Перенос зависимостей

Вместо requirements/*.txt теперь всё управляется через uv:
uv add -r requirements/base.txt
uv add -r requirements/dev.txt --group dev
uv add -r requirements/deploy.txt --group deploy

git rm requirements/*.txt


3️⃣ Установка и фиксация Python

uv python install 3.12
uv python pin 3.12
uv sync


> uv создаст .venv/ и .python-version и синхронизирует зависимости.

По умолчанию uv sync устанавливает только dev-зависимости. Для других групп:
uv sync --locked --group deploy


А в продакшене не забудьте флаг --no-dev!

4️⃣ Обновление .envrc (если вы используете direnv)

sed -e '/layout python/ s/^#*/#/' -i .envrc
echo 'export PATH="$(pwd)/.venv/bin:${PATH}"' >> .envrc
direnv allow


5️⃣ Docker

Базовый образ:
FROM ghcr.io/astral-sh/uv:python3.12-bookworm


Настройка переменных:
ENV UV_COMPILE_BYTECODE=1
ENV UV_LINK_MODE=copy
ENV VIRTUAL_ENV=/venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"


Установка зависимостей:
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
set -ex \
&& uv venv $VIRTUAL_ENV \
&& uv sync --active --locked --no-install-project --no-dev --group deploy


6️⃣ Подключаем pre-commit

В .pre-commit-config.yaml:
- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.7.12
hooks:
- id: uv-lock


7️⃣ GitHub Actions

- uses: astral-sh/setup-uv@v1
with:
python-version: 3.12
enable-cache: true
cache-dependency-glob: "uv.lock"

- run: uv sync --locked
- run: uv run pre-commit run --all-files
- run: uv run pytest


Обновление зависимостей

Обновить конкретный пакет:
  uv lock --upgrade-package <package-name>
uv sync --locked


Обновить всё:
  uv lock --upgrade
uv sync --locked


Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥3😁1
💡 Python-разработчик и хочешь выйти за пределы типовых задач?

Переход в LLM-инжиниринг — мощный горизонтальный шаг с реальным спросом, влиянием и перспективами роста.

Компании ищут специалистов, которые работают с реальными пайплайнами и продакшен-инфраструктурой. Хочешь стать одним из них? Приходи за практикой и знаниями на курс «Инженер LLM» от тех, кто уже строит это сегодня.

Преподаватели — топы индустрии:
— Кристина Желтова, директор по разработке моделей в Газпромбанке
— Александр Потехин, NLP Lead в X5 Tech
— Евгений Кокуйкин, CEO Raft, эксперт по LLM-инфраструктуре

Это не лекции «про будущее», а опыт тех, кто уже создает LLM-системы для банков, ритейла и платформ с миллионами пользователей.

Курс разработан GIGASCHOOL совместно с крупнейшей магистратурой по ИИ AI Talent Hub.


Ты научишься:
➡️дообучать модели (fine-tuning, PEFT, RLHF);
➡️работать с LangChain, LangGraph и векторными базами;
➡️строить RAG‑системы, внедрять инфопоиск и защищать LLM;
➡️собирать пайплайны, деплоить, трекать, вести версионирование;
➡️проектировать мультиагентные решения и ассистентов.

▪️ 252 часа теории и практики
▪️ диплом о профессиональной переподготовке
▪️ старт 14 июля, 18 недель онлайн с продуманными каникулами
▪️ 29 667 ₽/мес в рассрочку
▪️ повышение цены — 11 июля


Смотри программу и оставляй заявку 🔗

Обучение у тех, кто уже запускает LLM в продакшене — лучший вклад в твою AI-карьеру 😎


Реклама. АНО "ЦЕНТР РАЗВИТИЯ ИТ-КОМПЕТЕНЦИЙ «ГИГА ШКОЛА»", ИНН 7453352684. Erid 2VtzqwqX9Z1
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
Уже успех, если он существует 🤣

Библиотека питониста #развлекалово
💯19😁4❤‍🔥1👍1
📱 Промпт для анализа безопасности и устойчивости Python-кода

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

Промпт:
Проверь мой Python-код на предмет безопасности и устойчивости.
Дай рекомендации по:
• Обработке исключений и предотвращению сбоев
• Валидации и санитации входных данных
• Безопасному хранению и работе с конфиденциальной информацией
• Защите от распространённых уязвимостей (инъекции, XSS, CSRF и др.)
• Использованию инструментов для статического анализа безопасности (bandit, safety)
• Логированию ошибок и предупреждений


📌 Что получите:
• План по улучшению безопасности кода
• Методы повышения устойчивости и отказоустойчивости
• Инструменты для автоматического обнаружения уязвимостей

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👏1😁1
Первый вебинар нашего курса по AI-агентам уже прошёл!

Запись уже выложили на обучающей платформе — можно влетать и догонять с комфортом.

Первые слушатели уже оставили фидбэки — и, кажется, мы попали в точку:
— «теперь наконец понял, как выбирать модели под задачу — раньше брал первую попавшуюся»
— «без лишнего, по делу, в лайве — кайф»
— «огонь, ожидания 100% оправданы лично у меня»

Если хотели вписаться, но сомневались — ещё не поздно. Вебинары идут вживую, записи сохраняются, чат работает, материалы открыты.

Ещё можно догнать и пройти всё вместе с потоком.

👉 Залетай на курс
3👍2
🔥 Python 3.14 официально поддерживает многопоточность без GIL

Большой шаг для Python-разработчиков:
С релизом Python 3.14, свободнопоточная сборка CPython (free-threaded build) официально поддерживается и больше не является экспериментальной.

📌 Это означает:
— Реальная многопоточность без GIL.
— Free-threaded Python — поддерживаемая, но пока опциональная сборка.
— Это фаза II. Переход к GIL-free по умолчанию — дело будущего.

👉 PEP 779: Free-threaded CPython

📌 Пример: сравнение GIL vs Free-threaded

Запуск CPU-bound задачи в двух потоках:
from concurrent.futures import ThreadPoolExecutor
import time

def cpu_bound_task():
start = time.time()
sum(1 for _ in range(10**7))
end = time.time()
print(f"Finished in {end - start:.2f} seconds")

with ThreadPoolExecutor() as e:
e.submit(cpu_bound_task)
e.submit(cpu_bound_task)


Результат:
$ uv run -p 3.14 a.py 
Finished in 1.01 seconds
Finished in 1.02 seconds

$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.49 seconds
Finished in 0.51 seconds


> Потоки реально работают параллельно — ускорение почти в 2 раза!

📌 Но не всё так просто

Попытка работать с общими объектами (например, добавлять в список) может замедлить код:
# Вставка элемента в общий список
shared = []
def task():
for i in range(10**5):
shared.append(i)


Результат:
$ uv run -p 3.14 a.py 
Finished in 0.10 seconds
Finished in 0.11 seconds
172214
$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.48 seconds
Finished in 0.49 seconds
1865


> Без GIL нужна синхронизация, иначе возможны конфликты и деградация производительности.

📌 Выводы

— Python наконец-то движется к реальной многопоточности.
— Free-threaded CPython уже работает — и может ускорить CPU-bound задачи.
— Не забывайте: работа с общими объектами требует явной синхронизации (даже с GIL). Потокобезопасность — ваша ответственность.

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥162👍21👾1
📦 Устанавливаем Python 3.14 beta: быстрый гайд

Многие хотят попробовать Python 3.14 с новым free-threaded режимом, но не знают, как установить beta-версию.

Один из частых вопросов от подписчиков:
Хочу попробовать Python 3.14 с новым free-threaded режимом. Как его установить, если он ещё в бете?


Хороший вопрос! Несмотря на то, что Python 3.14 пока в стадии бета, вы уже можете установить его для тестирования.

👇 Вот как это сделать:

➡️ Если вы на Ubuntu

# Добавляем PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

# Устанавливаем Python 3.14
sudo apt install python3.14


➡️ Если вы на Windows

Скачайте установщик с официального сайта и просто установите .exe — он будет существовать параллельно с текущей версией.

➡️ Если у вас другая система

Скачайте исходный код с python.org и соберите вручную. Некоторые пакетные менеджеры также уже предлагают сборки бета-версий.

⚠️ Важно: это бета, не используйте её в продакшене. Только для экспериментов, например, чтобы протестировать free-threading или другие новинки.

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
2025/07/10 22:57:54
Back to Top
HTML Embed Code: