Библиотека питониста | Python, Django, Flask
40.4K subscribers
2.79K photos
75 videos
51 files
4.37K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Уже успех, если он существует 🤣

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

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

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


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

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142👏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
🔥1962👍2👾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
👍82🔥1
Media is too big
VIEW IN TELEGRAM
Как относитесь к созданию своего жпт не через конструктор, а хардкорно через код?

🔥 — я своего завайбкодил

🏃‍♀️ Ссылка на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🧰 Фишка инструмента: сериализация dataclass в JSON (и обратно)

Если вы используете dataclasses в Python и часто работаете с JSON, попробуйте библиотеку dataclasses-json. Она позволяет автоматически сериализовать и десериализовать dataclass-объекты без ручного парсинга.

Установка:
pip install dataclasses-json


Пример использования:
from dataclasses import dataclass
from dataclasses_json import dataclass_json

@dataclass_json
@dataclass
class Person:
name: str

person = Person(name="lidatong")
person.to_json() # '{"name": "lidatong"}'
Person.from_json('{"name": "lidatong"}') # Person(name="lidatong")


Поддерживает:
— Вложенные dataclass'ы
— UUID, Decimal, datetime
— camelCase поля (LetterCase.CAMEL)
— Валидацию через .schema() (если важно типобезопасное создание)
— Python 3.6+ (через backport dataclasses)

Полезно, если вы:
– работаете с API
– сериализуете/десериализуете конфиги
– пишете пайплайны, где важно сохранение структуры

Библиотека питониста #буст
👍94🔥1
🎭 Design Patterns в Python: что стоит забыть

Поищите «design patterns in Python» — и вы утонете в туториалах по классическим паттернам из «Gang of Four».

Там будет всё: диаграммы классов, фабрики внутри фабрик, километры шаблонного кода. Вы будто пишете «серьёзное» ПО. Профессиональное. Enterprise-ready.

▶️ Но есть одна проблема: большинство этих паттернов решают проблемы, которых в Python просто нет. Они придуманы для C++ и Java.

Слепое копирование этих паттернов в Python делает код:
— сложнее,
— запутаннее,
— и больнее для того, кто будет его читать.

В статье:
Какие паттерны из GoF плохо переносятся в Python
Почему они имели смысл в 2001-м, но не сегодня
И как решить те же задачи по-питонически — проще, чище, лучше

📖 Читайте полную статью здесь: https://clc.to/sw706A

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥1😁1
Самые догадливые, пишите ответ в комментах 👇

Небольшая подсказка — это термин относится к Python.

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

Библиотека питониста #междусобойчик
6👍1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
12👍4🔥3
📱 Свежие релизы Python‑пакетов за последние 7 дней

📍 Главные релизы
Python 3.14.0b4 — последний бета-релиз перед финалом
pybind11 3.0.0 — мост между C++11 и Python теперь стабильный
Datasets 4.0.0 — масштабный апдейт библиотеки датасетов от HuggingFace
Modin 0.34.0 — ускоряем Pandas

📦 Полезные библиотеки
SQLGlot 27.0.0 — кастомизируемый SQL-парсер и транспайлер
Pandera 0.25.0 — валидация и тестирование датафреймов

🤖 AI-инфраструктура и агенты
mcp 1.11.0 — Model Context протокол SDK
google-adk 1.6.1 — Agent Development Kit от Google
browser-use 0.5.x — делаем сайты доступными для AI-агентов

🛠 Для разработчиков и железа
pyOCD 0.37.0 — отладка Cortex‑M микроконтроллеров на Python

🔥 Опыт других
Изучение Python за 2 недели через боль и дедлайн: личная история
Как писать красивый и чистый код питонистам

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥2
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!

Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам для DS-специалистов).

Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!

👉 Выбрать курс
4🥱2
📎 Топ-вакансий для питонистов за неделю

Python-разработчик, гибрид (Москва)

Разработчик Python (Junior+ | Middle) — от 150 000 ₽, удалёнка

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

Разработчик Python (Django, DRF) — до 270 000 ₽, удалёнка

Python Developer — от 250 000 ₽, гибрид (Москва)

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

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁1
⚡️ Как ускорить Django-запросы: .values() вместо .only()

Если запросы в Django работают медленно, проблема может быть не в базе данных, а в самом ORM.

Один из запросов выполнялся 25 секунд через Django ORM, тогда как тот же SQL-запрос — всего за 2 секунды. После замены .only() на .values() время выполнения тоже сократилось до 2 секунд, а потребление памяти — на 70%.

Что было:
books = (
Book.objects.filter(published_at__year=2025)
.select_related("author__publisher")
.only(
"title",
"published_at",
"author__first_name",
"author__publisher__name",
)
)


Итог: ~240 000 записей, но 25 секунд работы.

Что стало:
from django.db.models import F

books = (
Book.objects.filter(published_at__year=2025)
.values(
"title",
"published_at",
author_name=F("author__name"),
publisher_name=F("author__publisher__name"),
)
)


Те же данные — всего за 2 секунды.

В чём разница:
🚩 .only() не так экономичен, как кажется: Django всё равно создаёт полноценные объекты моделей и подтягивает связанные данные. Это означает лишнюю работу на уровне Python и большее потребление памяти.

🚩 .values(), напротив, возвращает обычные словари и не тратит ресурсы на создание объектов. Особенно эффективно на больших выборках и в read-only сценариях — API, экспорты и отчёты.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍128❤‍🔥21
🐕‍🦺 Пет-проекты в резюме: как превратить фриланс и side-проекты в карьерный козырь

Если вы до этого фрилансили, делали pet-проекты, вели свой стартап или писали код «в стол» — это всё не мусор, а ваш актив.

Рассказываем, как оформить это в резюме так, чтобы HR и тимлиды увидели не «опыт вне офиса», а результаты, скиллы и инициативу.

🔹 Что точно можно (и нужно) указывать:
— Внятные pet-проекты с кодом на GitHub
— Коммерческий фриланс (даже без ИП)
— Контрибьюты в open source
— Побочные продукты, MVP, тестовые стартапы
— Консалтинг, ревью чужого кода, наставничество
— Технические блоги, курсы, публикации

👍 Главное — оформлять их как рабочий опыт, а не как «увлечения по выходным».

👉 Подробнее в новой статье:
https://proglib.io/sh/TSpGKgMUCE

Библиотека питониста #буст
7👍2😁1
🔎PyPy теперь ещё стабильнее: вышел релиз 7.3.20

Команда PyPy выпустила новую версию 7.3.20! Это микро-релиз, совместимый с предыдущими 7.3.x, но с важными улучшениями:

Что нового:
— Исправлены баги в ctypes и OrderedDict
— Поддержка будущей версии Cython для PyPy 3.11
— Обновлён stdlib до CPython 2.7.18+ и 3.11.13

В составе:
— PyPy2.7 — полная поддержка Python 2.7
— PyPy3.11 — быстрая альтернатива Python 3.11

PyPy остаётся одним из самых быстрых интерпретаторов Python благодаря встроенному JIT-компилятору. Отличный выбор для ускорения Python-приложений без переписывания кода.

Поддерживаются сборки для:
— Linux/macOS (x86 и ARM)
— Windows (x64)

➡️ Подробнее: https://clc.to/_uYbNg

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64😁3🤩3
🍝 Почему ваш Python-код превращается в спагетти — и как это исправить

В свежем и полезном видео автор показывает, как даже простой проект на Python может быстро стать нечитаемым… если не использовать абстракции.

Что в ролике:
▶️ Когда и зачем использовать ABC, Protocol и Callable
▶️ Почему абстракции — это не про сложность, а про порядок
▶️ Как снизить связанность и избавиться от «чудовищных импортов»
▶️ Структурная типизация без наследования
▶️ Практические советы даже для маленьких pet-проектов

📹 Смотреть на YouTube: https://clc.to/vt15-w

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5😁3🔥2❤‍🔥1