Zen of Python
20.1K subscribers
1.21K photos
161 videos
32 files
3.16K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Лучший пет-проект 2023

Tproger запускает новый конкурс на лучший пет-проект среди наших читателей. Напишите статью об этом и получите славу, обожание плюс мерч от редакции.

Правила

#конкурс
👍2
httpx vs. requests vs. aiohttp: кто лучше?

Разобрали на примерах, какая из библиотек справляется лучше и как асинхронность влияет на скорость исполнения массовых запросов.

Статья

#http
👎4🔥2
Настраиваем DAG в Airflow так, чтобы меньше о нем думать

Разработчик из Газпромбанка рассказывает, как запускать DAG в Airflow с кастомными параметрами. Автор раскрыл, как пользоваться встроенным редактором параметров (‘Trigger DAG w/config’) и как с этим помогают Airflow Variables + sorcery.

https://tprg.ru/Vuh0

#airflow
👍5
😁61❤‍🔥4👍21
litestar для создания собственных API

Если вам посчастливилось создавать свой API, фреймворк предоставит следующие возможности:

— высокопроизводительная проверка и анализ данных;
— внедрение зависимостей;
— интеграция ORM;
— примитивы авторизации и проч.

Ссылка на репозиторий

#API
Облако слов

Одна из стадий EDA текстовых датасетов — определение самых частоиспользуемых слов. С этим поможет библиотека wordcloud.

Ссылка на репозиторий

#библиотека
Пятничный Win Share

Что интересного у вас на этой неделе из мира Python и IT? Поделитесь в комментариях.

#winshare
Как лучше писать циклы на Python

На ZProger разобрали 4 метода, как лучше писать циклы, и как вообще обходиться без медленного for.

Видео

#лучшиепрактики
pdfplumber для извлечения текста с .pdf

Утилита, считывающая текст с документов на нескольких языках, включая русский:

import pdfplumber

with pdfplumber.open("path/to/file.pdf") as pdf:
first_page = pdf.pages[0]
print(first_page.chars[0])

Репозиторий

#OCR #библиотека
👍11❤‍🔥3
Библиотеки воруют пользовательские данные

Компания Checkmarx's Supply Chain Security провела масштабное исследование с целью найти как можно больше уязвимостей. Примеры вредоносного кода можно найти в этой статье, а вот полный перечень потенциально опасных либ здесь.

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

#библиотека
1👍1
SQLiDetector для распознавания SQL-инъекций

Утилита использует regex для поиска потенциально опасных выражений в URL:

https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'

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

Репозиторий

#библиотека
👍4
Задача о лайкнувших

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

Она должна возвращать текст, как в примерах:
[] --> "no one likes this"
["Peter"] --> "Peter likes this"
["Jacob", "Alex"] --> "Jacob and Alex like this"
["Max", "John", "Mark"] --> "Max, John and Mark like this"
["Alex", "Jacob", "Mark", "Max"] --> "Alex, Jacob and 2 others like this"

#задача
🤣54👀1
Как использовать Cython в Jupyter Notebooks

Интересный англоязычный гайд для тех, кто хочет ускорить 100x свой ноутбук в JN:

#cython #jupyternotebook
​Поздравляем верно решивших задачу

Задачу о «вычитании» списка из списка верно решили:
@FriendlyWithMeat;
@Alex_Bur;
@impreza555;

Zen чествует победителей! Решение таких задач — хороший способ разогреться перед рабочим днем.

#задача
👍3
Шпаргалка BeautifulSoup

Лаконичный гайд о чтении из разных источников, методах нахождения и атрибутах.

#beautifulsoup
saleor для онлайн-магазинов

Платформа для создания онлайн-магазинов на базе Python и GraphQL. Продукт опернсорсный, среди фичей:

— встроенные интеграции (например, App Store);
— встроенный CMS;
— гибкий API для любого платёжного шлюза;
— кроссплатформенность;
— деплой с Docker и проч.

Сссылка на репозиторий

#фреймворк
👌61
У нас в самом разгаре конкурс пет-проектов. Выбирайте понравившиеся работы и продвигайте их к победе своими лайками и просмотрами

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

Агрегатор фестивального кино: код решает проблему отложенной публикации фестивального кино.
Удивительный пример того, как интерес к теме помогает разработчику годами развивать систему.

Аналог BGInfo для корректного отображения обоев на нескольких экранах: Дмитрий Беликов «лечит» программу BgInfo, исправляет режим заполнения обоев для нескольких экранов.

#diy #конкурс
👍2😁1
Как стать техническим менеджером после 18 лет в разработке

Очень непросто после стольких лет работы в одном направлении сменить должность и попробовать себя в другом амплуа. Со старыми обязанностями справляться легче и даже самая сложная задача решается без проблем. Но что делать, если хочется перемен?
В этой статье автор, который сам совершил этот нелёгкий переход, поделился, с какими вызовами ему пришлось столкнуться:

Статья

#карьера
Pyscan для поиска уязвимостей

Инструмент отыскивает бреши в зависимостях вашего проекта. Он пройдётся по логам poetry, hatch, filt, pdm и прочих менеджеров пакетов, а также прочитает requirements.txt и pyproject.toml. Запускается в прямо в директории проекта командой:

pyscan

Репозиторий на GitHub

#безопасность
👌3
R2Connect для интеграции AWS S3 и Cloudlfare R2

Библиотека предлагает простой интерфейс для CRUD-операций с объектами, а также создания, управления и синхронизации бакетов в обоих хранилищах.

Проект на PyPi

#библиотека
1👍1