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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
📘 PyCharm 2025.3: обновление без сюрпризов (в хорошем смысле)

Мы обычно скептически относимся к апдейтам IDE (ну серьёзно, кто читает все release notes), но тут JetBrains правда постарались.

Что понравилось нам:
🧬 Один PyCharm вместо двух. Больше не надо помнить, где Community, где Pro и чего там «не хватает». Открыл — работаешь.
🧬 Remote Jupyter наконец перестал быть болью. Подключения к серверам и кластерам выглядят почти как локал. Почти магия.
🧬 uv по умолчанию. Маленькая деталь, которая экономит кучу нервов и времени. Очень рады, что его приняли официально.
🧬 Ruff, Pyright и компания встроены нормально, а не «через костыли». IDE стала строже, но справедливее.
🧬 Работа с данными стала приятнее — меньше кликов, меньше «а почему тут так».
🧬 AI-штуки есть, но без фанатизма. Это не «замени разработчика», а «помоги не тупить».

В целом ощущение такое: PyCharm стал спокойнее, цельнее и чуть менее раздражающим в мелочах. А это, если честно, лучше любого «вау».

📌 Если работаете с Python регулярно — обновление точно стоит того: https://clc.to/E3q_GQ

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

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍169🔥2🥰1🤩1🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
🗺 Карта Python-мира, по которой реально гулять

PyAtlas — это интерактивная карта 10 000 самых популярных пакетов PyPI, где каждый пакет — точка в 2D-пространстве.

Фишка в том, что пакеты с похожими описаниями оказываются рядом. В итоге видно кластеры экосистемы: веб, дата-сайенс, ML и всё вот это.

Можно:
⏩️ просто залипнуть и «погулять» по карте
⏩️ найти знакомый пакет
⏩️ посмотреть, что живёт рядом — и открыть альтернативы, о которых вы не знали

Автор честно признаётся: «полезно — может быть, может и нет». Зато интересно и отлично показывает, как embeddings, UMAP и кластеризация могут превращаться в наглядные штуки, а не только в статьи.

Подойдёт Python-разработчикам, любопытным исследователям экосистемы и тем, кто любит смотреть на данные глазами, а не таблицами.

🔗 pyatlas.io
📱 GitHub

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥3
Хватит использовать `fit()` иватит использвслепую

Можно долго делать вид, что математика в Data Science не нужна, и полагаться на готовые реализации в sklearn. Но на первом же серьезном собеседовании или при попытке оптимизировать кастомную лосс-функцию этот миф рушится.

Мы обновили курс «Математика для разработки AI-моделей». Теперь это не просто лекции, а полноценный интерактив.

Что изменилось:

— мы добавили живые вебинары;

— первый уже прошел, но второй стартует сегодня (9 декабря);

— вы ещё успеваете влиться в поток и закрыть пробелы в фундаменте.

В программе:

— линейная алгебра и матанализ в контексте ML;

— теория вероятностей и статистика без воды;

— практика на реальных кейсах.

Перестаньте бояться формул и начните их применять.

Ссылка на регистрацию
😁3
This media is not supported in your browser
VIEW IN TELEGRAM
От первой строчки кода — до миллионов запросов в секунду.

В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
1👾1
Зато понятно, что предстоит работать в цирке 😆
😁33🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Летим зимовать ✈️

Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.

Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!

Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:

😎 Типичный программист
🐸 Библиотека программиста
🟢 Ostrovok! Tech

Теперь осталось нажать на кнопку участия под этим постом и вы в игре!

Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.

Всем удачи!

Участников: 111
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (3 дня)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
🤖 IR-Sim — лёгкий способ проверить идеи в робототехнике

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

IR-Sim как раз про это. Лёгкий симулятор на Python, который удобно использовать для прототипирования идей в роботонавигации и AI.

Почему стоит обратить внимание:
быстро устанавливается и не тянет гору зависимостей
сценарии описываются обычным YAML
наглядная визуализация в реальном времени
есть детекция столкновений
хорошо подходит для RL-экспериментов

Что можно попробовать:
избегание столкновений между несколькими роботами
навигацию по данным лидара
динамические сцены с движущимися препятствиями
тестирование логики поведения до перехода к «тяжёлым» симуляторам

📱 GitHub: https://clc.to/-isAIQ

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
👀 Язык ABC — прародитель Python, который почти никто не видел

Небольшой исторический экскурс для питонистов 👇
До Python был… ABC. И это не метафора.

ABC — самый прямой предшественник Python. Над ним Гвидо ван Россум работал в CWI примерно с 1983 по 1986 год. Многие идеи, которые мы сегодня считаем «питоновскими», выросли именно оттуда.

Что это вообще было:
➡️ Учебный, простой, читаемый язык
➡️ Ориентирован на думать о задаче, а не о машине
➡️ Минимум синтаксического шума
➡️ Но… слишком закрытый для расширений

Python во многом появился как ответ на ограничения ABC.

Что любопытно:
🔴это оригинальные исходники языка ABC
🔴большая часть кода последний раз трогалась в начале 90-х
🔴проект делался под 32-битные системы (да, другой мир)
🔴лицензии формально нет — привет академическим проектам прошлого века
🔴среди авторов — сам Guido van Rossum

Если хочется посмотреть, каким мог бы быть Python в альтернативной вселенной — рекомендовано к чтению и листанию.

📱 Репозиторий: https://clc.to/CdlKIw

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🤩1
✔️ Гайд по форматированию строк в Python: почему мы до сих пор спорим между %, .format() и f-строками

Python проповедует «должен быть один очевидный способ».
Но когда дело доходит до форматирования строк, у нас их целых четыре.
И все живы. И все работают. И все почему-то до сих пор используются.

Разбираемся, зачем Python столько лет собирал «зоопарк» способов форматирования и какой из них реально использовать в 2025 году.

🦖 C-style форматирование (%)

Самый старый способ, наследие времён динозавров и языка C.

Работает, но читать это — страдание:
"Error in %s at %d" % (module, line)


А если случайно перепутать аргументы — привет, дебаг.

Лучше не использовать в новом коде. Но logging до сих пор на нём живёт — там он действительно нужен.

🔧 .format() — попытка навести порядок

Пришло в Python 3 и казалось, оно победит. Фигурные скобки, именованные аргументы, красота:
"{host}:{port}".format(host="localhost", port=8080)


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

Использовать: можно, но есть лучше.

🚀 F-строки — любовь разработчиков с первого взгляда

Появились в Python 3.6 и моментально стали стандартом. Лаконично, быстро, удобно:
print(f"Hello, {user_name}")


Даже вычисления внутри строки:
f"Pi = {math.pi:.3f}"


И лучший инструмент для отладки — =
print(f"{user_id=}")


Использовать: по умолчанию.

🧙 Сила Format Mini-Language

Настоящее волшебство начинается после двоеточия:
f"{price:,.2f}"   # 1,234,567.89
f"{value:08b}" # бинарный с ведущими нулями
f"{date:%Y-%m-%d}" # форматирование дат


Это отдельный маленький язык, и он мощнее, чем многие думают.

Когда f-строки — плохая идея:

1️⃣ Логи

F-строка вычислится всегда, даже если лог не будет выведен:
logging.debug(f"Result: {heavy_calc()}")


Правильно:
logging.debug("Result: %s", heavy_calc)


2️⃣ SQL

Не вздумайте:
f"SELECT * FROM users WHERE name = '{user_input}'"


Лучше используйте параметры запросов.

Итоговая шпаргалка:
➡️ Используй f-строки всегда, если можно
➡️ .format() — когда шаблон живёт отдельно от кода
➡️ % — только для logging
➡️ SQL — только параметризованный
➡️ Mini-Language — must-know для красивого вывода

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍138🔥2
📍 Paper2Slides — красивые слайды за одну команду

Если вы когда-нибудь делали презентацию по научной статье, то знаете боль: копируй текст, вырезай картинки, выравнивай заголовки… и так по кругу.

Paper2Slides приходит, чтобы забрать эту карму себе.

Что умеет Paper2Slides:
➡️ Поддерживает всё подряд: PDF, Word, Excel, PPT, Markdown — кидайте всё в топку, разберётся.
➡️ Умный RAG-экстрактор: вытаскивает идеи, а не просто переписывает статью.
➡️ Ссылки на источники: каждый слайд знает, откуда взята информация.
➡️ Настраиваемые темы
➡️ Умные сессии: можно остановиться, сменить тему, продолжить.

Одна команда — и готово:
python -m paper2slides --input paper.pdf --output slides --style doraemon --length medium --fast --parallel 2



📱 Github

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4😁1🤩1
🧊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🔥51
📱 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
👍164😁2
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
4👍4