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

Список наших каналов: https://yangx.top/proglibrary/9197

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?

Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.

Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.

👉 Ссылка на опрос 👈

Прохождение займёт примерно 4 минуты
👍6🔥1
🐍 С основной веткой Python слили выключатель GIL

GIL (Global Interpreter Lock) — это механизм, используемый в CPython, который ограничивает выполнение кода только одним потоком за раз. Это мешает задействовать многозадачность и использовать полностью потенциал многоядерных процессоров.

Смёрдженный пулл-реквест добавляет возможность отключить GIL для free-threaded сборок. Сделать это можно двумя способами:
▫️ PYTHON_GIL=0
▫️ -X gil=0

Предусмотрена также возможность повторного включения GIL.

Ранее разработчики Python предупреждали, что отключение GIL сломает некоторые части текущего кода.

«Мы ожидаем, что отключение GIL поначалу будет довольно глючным. Поэтому, даже если мы собираемся отключить GIL по умолчанию в версии 3.13, мы, вероятно, захотим, чтобы GIL оставался включённым по умолчанию какое-то время».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍205
🐍🗺 Создавайте захватывающие интерактивные карты с помощью Python

В новой статье разберём библиотеку визуализации данных Plotly. Шаг за шагом научимся создавать и настраивать простые и интерактивные карты, а также работать с картами Хороплета — особым типом карт, в которых используется цветовое кодирование для обозначения данных по конкретным географическим областям, таким как страны, штаты или города.

🔗 Читать статью
🔗 Зеркало
👍133
💬 Аннотации типов в Python: нужны ли?

Автор нового поста на «Хабре» рассуждает о том, зачем использовать аннотации типов и даёт ли это преимущество.

Справка:
Аннотации типов были введены в Python в версии 3.5. Они помогают обозначать типы для переменных и функций. При этом они не обеспечивают проверку типов на уровне интерпретатора.

Вот так код на Python выглядит без аннотации типов:
def add(a, b):
return a + b


А вот так с аннотацией:
def add(a: int, b: int) -> int:
return a + b


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

🔗 Прочесть его мнение целиком можно здесь

А что вы думаете по этому поводу? Используете аннотацию типов в работе?
Please open Telegram to view this post
VIEW IN TELEGRAM
👏13👍92🔥2😁1
🐍🎸 Курс Django. Часть 3: Основы работы с формами

В новой части курса разбираем основные методы создания, кастомного рендеринга и кастомной валидации форм.

🔗 Читать статью
🔗 Зеркало

Предыдущие части:
Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
Часть 2: ORM и основы работы с базами данных
11🔥6
📊 Визуализируем данные с помощью Seaborn

Это новый туториал от Real Python. В статье объясняется, как:
▫️установить и начать работать с Seaborn,
▫️какие типы графиков есть в библиотеке,
▫️что такое Seaborn Objects.

🔗 Ссылка на статью
👍163
⚠️ Как работать с предупреждениями (warnings) в Python

Наверняка вы сталкивались с предупреждениями при исполнении программы. Чаще всего они говорят о том, что какие-то функции устарели. Но что если вам самим нужно создать такое предупреждение для потенциальных пользователей вашей программы?

☑️ Для этого в стандартной библиотеке Python есть модуль warnings. Создать предупреждение с его помощью очень легко:
import warnings
warnings.warn("Something wrong!")


Этот код выведет следующее: <ipython-input-2-f9c3380a9245>:2: UserWarning: Something wrong!
warnings.warn("Something wrong!")


Вы можете самостоятельно выбрать тип предупреждения вместо типа по умолчанию UserWarning:
warnings.warn("Oops!", category=RuntimeWarning)


✍️ Также в warnings есть контекстный менеджер для временного подавления предупреждений:
with warnings.catch_warnings():
warnings.simplefilter("ignore")
warnings.warn("Something wrong!")


В менеджере контекста все предупреждения просто игнорируются, что может пригодиться в некоторых случаях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍236👾3🥰1
Обновите Django: вышли патчи безопасности

Команда Django выпустила Django 5.0.3, Django 4.2.11 и Django 3.2.25. Эти релизы закрывают дыру в безопасности, которая была найдена ранее.

Речь идёт о проблеме CVE-2024-27351, которая позволяла провести атаку типа «отказ в обслуживании», вызванную регулярным выражением. Уязвимость касалась метода django.utils.text.Truncator.words() (при использовании параметра html=True) и фильтра шаблона truncatewords_html. При обработке специальной строки, которая подаётся на вход этому методу или фильтру, может возникнуть чрезмерное потребление ресурсов системы из-за особенностей работы регулярных выражений.

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

🔗 Прочесть подробности
👍18🎉32
Awesome Python

Это репозиторий со списком лучших библиотек и фреймворков для множества задач. Включает в себя такие подразделы:
🔸Инструменты командной строки
▫️pgcli — PostgreSQL CLI с подсветкой синтаксиса;
▫️doitlive — инструмент для проведения презентаций в терминале.
🔸Разработка игр
▫️Arcade — фреймворк для создания игр с графикой и звуком;
▫️Pygame — набор модулей для написания игр.
🔸Обработка изображений
▫️pillow — библиотека для преобразования изображений;
▫️scikit-image — библиотека для научной обработки изображений.

🔗 Другие библиотеки смотрите в репозитории
👍74
🇺🇸 Белый дом призвал переходить на языки, обеспечивающие безопасную работу с памятью (как Python)

Такой призыв в конце февраля выпустил Office of the National Cyber Director (ONCD). Утверждается, что использование определённых языков программирования устраняет целый класс уязвимостей.

В самом пресс-релизе ONCD нет прямого указания на Python, однако ранее Cybersecurity and Infrastructure Security Agency (CISA) опубликовал список языков, обеспечивающих безопасную работу с памятью, и в него был включён Python. Помимо него в перечне есть C#, Go, Java, Rust и Swift.
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2
🐍 Итоги недели в мире Python и обзоры новых инструментов

У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на 📰.

Ниже — небольшая часть выпуска, а целиком читайте здесь 👈

😏 Мнение: пора переключаться с бэкенда на ИИ

Общемировой тренд — увеличение спроса на ИИ-разработчиков. И у Python-специалистов есть огромное преимущество — они без особых усилий могут переключиться с бэкенда на машинное обучение. Автор этой публикации рассказал, с чего проще всего начать — с изучения супервостребованной RAG-технологии.

🎩 Hatchet — эффективная альтернатива Celery

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

🌐 Niquests — продвинутая альтернатива Requests

Новая библиотека лишена некоторых недостатков старой, а также имеет дополнительные фичи. Какие — подробно рассказываем в статье на vc.

Вы можете подписаться на email-рассылку здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥4
🃏Harlequin — SQL IDE прямо в терминале

Как пишут авторы о библиотеке: «Функции, которые вы ожидаете от IDE, прекрасно работают прямо в вашем терминале». Среди этих функций перечисляют:

▫️Каталог данных. Позволяет видеть таблицы, столбцы и их типы.
▪️Редактор запросов.
▫️Окно для просмотра результатов (может вывести 1M+).
▪️Экспорт результатов и история запросов.

🔗 Ссылка на репозиторий
👍26🥱2🔥1👏1
🐍🚀 Niquests: новый стандарт HTTP-клиентов в Python, превосходящий Requests

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

В новой статье рассказываем обо всех преимуществах Niquests.

🔗 Читать статью
🔗 Зеркало
8👍8🤔3
🔢 Зачем использовать ndarray из NumPy вместо списков Python

Автор блога The Python Coding Stack объясняет, что такое массивы типа ndarray в NumPy и чем они отличаются от списков. Он отмечает, что:
▪️Из общего у ndarray и списков есть следующее: по ним можно итерироваться, они изменяемые.
▪️В списки вы можете положить объекты разных типов и они будут там храниться. Однако если попытаться провернуть такое с ndarray, то объекты разных типов преобразуются к одному (например, float).
▪️Использовать цикл for с ndarray в большинстве случаев бессмысленно. Массивы используют векторизацию, что позволяет им выполнять одну операцию на всех значениях сразу, вместо того чтобы выполнять её поэлементно. В результате ndarray работают намного быстрее, чем списки.

Кстати, nd в названии ndarray означает n-dimensional, то есть объекты ndarray могут иметь больше чем одно измерение.

🔗 Подробнее об этом можно прочесть в статье
9🤔3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍🎩 Hatchet: новый король распределения задач, который затмит Celery

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

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

👉Обо всех преимуществах Hatchet рассказали в статье👈
🔗 Зеркало
🔥12❤‍🔥4🥱3
💬 Чем вы в основном занимаетесь после работы в свободное от питона время?

❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня есть свободное время

👇 Пишите в комментариях собственные варианты

#интерактив
🤔6854👍26🔥26🥰11😁1
Основы программирования на Python

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

Начните обучение с вводных занятий – https://proglib.io/w/3fb35fb3

Вводные занятия содержат:

– лекцию по условным инструкциям if/else и зачем они нужны;
– лекцию по операциями с целыми и вещественными числами;
– практические задания для закрепления материала, которые научат работать с условными операторами и создавать вложенные инструкции.

👉 Переходите на страницу и активируйте доступ к вводным занятиям: https://proglib.io/w/3fb35fb3
6👍2🔥1
🧠🤖 Как создать память для вашего чат-бота на Python с
помощью графов знаний


Хотите, чтобы ваш чат-бот давал более точные и релевантные ответы, избегая «галлюцинаций»? Графы знаний в помощь!

В статье и туториале разбираем, что такое графы и как создать память на примере данных из Википедии.

🔗 Читать статью
🔗 Зеркало
👍9😁2🤔2🔥1
🐍⚙️ Rust vs Python: битва титанов в мире программирования

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

В новой статье сравниваем Rust и Python: рассматриваем ключевые особенности, преимущества и недостатки.

🔗 Читать статью
🔗 Зеркало
🥱177👍6❤‍🔥3🤔3