Библиотека питониста | Python, Django, Flask – Telegram
Библиотека питониста | Python, Django, Flask
39.3K subscribers
3.01K photos
82 videos
52 files
4.65K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://news.1rj.ru/str/proglibrary/9197

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🧊Frozen dict в Python: PEP 814

Интересная новость из Python-мира: на обсуждение вынесен PEP 814, предлагающий добавить в стандартный язык frozendict — неизменяемый словарь как встроенный тип.

Почему это важно?

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

👉 PEP 814 пытается решить именно эту проблему.

Что такое frozendict?

Это иммутабельный словарь, не наследующий dict, а реализующий интерфейс Mapping.

Создаётся привычными способами:

fd = frozendict(a=1, b=2)
fd = frozendict({'a': 1, 'b': 2})
fd = frozendict([('a', 1), ('b', 2)])


Если все значения внутри тоже неизменяемые, то frozendict становится хэшируемым, значит:
✔️ его можно использовать как ключ в словаре
✔️ добавлять в set
✔️ кешировать через functools.lru_cache

Поддерживаются и объединения:
frozendict(x=1) | frozendict(y=1)


— всегда создаётся новый объект, что исключает побочные эффекты.

Сообщество PEP восприняло идею в целом тепло. Больше всего споров вызвало желание добавить O(1) заморозку словаря — например, через d.freeze().

Но менять тип существующего объекта в рантайме признали слишком рискованным: возможны сюрпризы для других потоков, держащих ссылку на словарь. Поэтому оптимизации отложили «на потом», чтобы не мешать движению самого PEP.

Учитывая актуальность темы для free-threaded Python, шанс принятия выглядит высоким.

🔗 Подробнее

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥4
PythonNotesForProfessionals.pdf
6.1 MB
➡️ Python: заметки и шпаргалка

Делимся полезным ресурсом для всех, кто учит Python или хочет держать его под рукой: Python Complete Notes.

🎯 Отлично подходит для учебы, быстрой проверки и повторения материала.

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126🤩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
👍9🔥61
📱 Python новости за последние 7 дней

tyro 1.0 — CLI из type hints
Релиз tyro 1.0 — генерация CLI-интерфейсов напрямую из аннотированного Python-кода. Минимум бойлерплейта, максимум типизации. Наконец-то инструмент, который не заставляет выбирать между «быстро» и «аккуратно». Type hints реально начинают работать на вас, а не просто радовать линтер.

RoadMap по Python: с нуля до middle
Подробный маршрут обучения Python с акцентом на практику и реальные навыки. Полезно не только новичкам — хороший чек-лист, чтобы понять, где у вас пробелы, даже если вы уже «давно в профессии».

Django 6.0: эволюция фреймворка в деталях
Разбор ключевых изменений Django 6.0 и того, куда движется фреймворк. Django всё дальше уходит от образа «только для CRUD». Фоновые задачи и архитектурные улучшения — сигнал, что фреймворк взрослеет вместе с проектами.

Python + Fortran: когда NumPy уже мало
Как ускорить Python-код в 150 раз с помощью Fortran, не погружаясь в C++. Отличный пример того, что Python — это не про «медленно», а про правильную композицию инструментов.

Что нового в PyCharm 2025.3
Обновления IDE: улучшения анализа кода, AI-фичи и удобства для больших проектов.я

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека питониста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
🛠 Python 3.14 официально научили сжимать по-взрослому

В Python 3.14 появился новый пакет compression — и это тот редкий случай, когда «объединили старое и добавили новое» получилось реально полезно.

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

В пакете compression собрали сразу 5 алгоритмов:
➡️ bz2
➡️ gzip
➡️ lzma
➡️ zlib
➡️ zstd — вот он тут главный новичок: ZstdCompressor и ZstdDecompressor

Причём первые четыре и раньше были в стандартной библиотеке, но теперь их рекомендуют импортировать через compression, чтобы всё было в одном стиле:


from compression import gzip, zstd


👍 Почему это круто

1️⃣ Единый API

У всех модулей есть:

compress(data)
decompress(data)


Можно буквально перебрать алгоритмы в цикле и сравнить результат. Да, Python теперь позволяет выбрать компрессию так же просто, как сортировку.

2️⃣ `zstd` — новый любимчик

На тестовых данных zstd сжимает в 2+ раза лучше, чем старые алгоритмы.

Меньше байтов — меньше боли при хранении, передаче и бэкапах:

from compression import zstd

compressor = zstd.ZstdCompressor()

result = b""
bytes_processed = 0
for chunk in incoming_data_stream():
# `chunk` is a new batch of data.
bytes_processed += len(chunk)
# We compress this batch.
result += compressor.compress(chunk)
result += compressor.flush()

ratio = len(result) / bytes_processed
print(f"{100 * ratio:>.2f}%") # 0.56%


3️⃣ Обычная работа с файлами

Например:

with zstd.open("data.zst", "wt") as f:
f.write("Hello, world!" * 1000)


4️⃣ Потоковое (инкрементальное) сжатие

Для стримов, логов и больших данных есть компрессоры и декомпрессоры:
➡️ сжимаешь кусками
➡️ читаешь чанками
➡️ память не умирает

Например:

compressor = zstd.ZstdCompressor()
compressor.compress(chunk)
compressor.flush()


📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185😁2🔥1
import knowledge as power

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

Акция 1 + 2:

Забирай три курса по цене одного. Платишь за самый дорогой, остальные — None (в смысле, бесплатно).

Топ выбор:

— алгоритмы и структуры данных;
— математика для Data Science (если тянет в ML).

Обновить зависимости

До 31 декабря.
Помощь в консоли: @manager_proglib
🤔 Единый стандарт для «служебных» комментариев в коде

В Python куча инструментов — линтеры, форматтеры, анализаторы покрытия, type-checkers.

И почти каждый из них использует специальные комментарии в коде: # noqa, # type: ignore, # fmt: off, # nosec и так далее.

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

Metacode вводит простой и понятный формат машиночитаемых комментариев, основанный на подмножестве синтаксиса Python:

# key: action[arg1, arg2]


Например:

# type: ignore[error-code]
# fmt: off


Такой формат:
— легко читать человеку
— легко парсить машине
— позволяет несколько комментариев в одной строке
— не привязан к конкретному инструменту

У библиотеки минимальный API:
▪️ parse() — читает комментарии и возвращает структурированный результат
▪️ insert() — аккуратно добавляет комментарии в код


Поддерживаются строки, числа, bool, None, ..., а при желании — даже AST.

🔗 Github

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5
Почему Python — лучший shell для сложных задач

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

✔️ Python проще читать, сопровождать и запускать на разных системах, поэтому он лучше подходит для сборочных и инфраструктурных скриптов, которые должны жить долго.

🔗 Ссылка на статью

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6
ℹ️ Pyrefly теперь понимает Pydantic — прямо в редакторе

В Pyrefly появилась экспериментальная поддержка Pydantic — и это большой шаг для статической проверки Python-кода.

Что это даёт:
Статическую валидацию Pydantic-моделей во время набора кода, а не только на рантайме
Без плагинов и конфигов — просто пишешь Pydantic, Pyrefly всё распознаёт сам
Анализ учитывает реальное поведение Pydantic: strict / lax режимы, Field, extra=forbid, конфигурацию моделей
Мгновенный фидбек в IDE — ошибки видны сразу

Поддержка сторонних библиотек вроде Pydantic — сложная задача для тайпчекеров. До сих пор полноценную поддержку предлагал в основном Mypy (через отдельный плагин). Pyrefly идёт другим путём — минимум трения, максимум соответствия рантайму.

Как протестить:
1. Установить Pydantic (лучше v2)
2. Установить Pyrefly v0.33.0+
3. Писать модели как обычно

Поддержка пока экспериментальная, но команда активно собирает фидбек и уже планирует расширение на Django и SQLAlchemy.

➡️ Ссылка на новость

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
This media is not supported in your browser
VIEW IN TELEGRAM
🔍 Browse PyPI по типам пакетов — удобный способ искать библиотеки

Если вам когда-то было сложно найти нужный пакет на PyPI (например, по категории, функциональности или типу), может быть полезно это альтернативное представление PyPI:
👉 https://clc.to/_Sl_yA

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

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54😁2
🖥 Топ-вакансий для питонистов за неделю

Senior Full-Stack Python Developer — до 300 000₽, удалёнка

Python Backend-разработчик, офис (Ростов-на-Дону)

LLM Application Engineer — от 4 500$, удалёнка

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

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1