zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

19037

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Шпаргалка PySpark от DataCamp

#pyspark

Читать полностью…

Zen of Python

«Python для всех» Чарльза Северанса

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

Профиль книги на Livelib

#книга

Читать полностью…

Zen of Python

Шикарная шпаргалка по poetry — усовершенствованному наследнику pip.

#факты

Читать полностью…

Zen of Python

Fake2db для игрушечных баз данных

Библиотека позволяет создавать базы и заполнять их фейковыми данными, что крайне полезно для тестирования. Поддерживает работу с sqlite, mysql, postgresql, mongodb, redis, couchdb.

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

#библиотека

Читать полностью…

Zen of Python

Инженер команды SQL в AvitoTech в рамках проекта avito.code подготовил серию роликов про PostgreSQL и DBA

В первой части эксперт рассказывает о инициализации реплик без прямого использования pg_basebackup. Она уже доступна на канале AvitoTech.

Смотрите, ставьте пальцы вверх и стройте отказоустойчивую инфраструктуру: https://tprg.ru/uBnI

Реклама ООО «Авито Тех» LjN8KPaB2

Читать полностью…

Zen of Python

functime для построения прогнозирования временных рядов

Утилита принимает многостолбцовые датафреймы, «дружит» с OpenAI и поддерживает метрики MASE, SMAPE и другие:

import polars as pl
import functime.llm

y = pl.read_parquet("../data/commodities.parquet")
context = "Этот датасет содержит данные о стоимости товаров за период 1980 - 2022."

Анализируем тренд и сезонность двух товаров:

analysis = y_pred.llm.analyze(
context=dataset_context,
basket=["Aluminum", "Banana, Europe"]
)
print("Analysis:\n", analysis)

Сравним группы товаров:

basket_a = ["Aluminum", "Banana, Europe"]
basket_b = ["Chicken", "Cocoa"]
comparison = y_pred.llm.compare(
basket=basket_a,
other_basket=basket_b
)
print("Comparison:\n", comparison)

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

#библиотека

Читать полностью…

Zen of Python

drf_yasg: автоматическая документация API для Django

Начиная с Django 2.2, Django Rest Framework 3.10 и Python 3.6 вы можете автоматически генерировать документацию API Django REST Framework.

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

#django

Читать полностью…

Zen of Python

Пятничный Win Share

Что интересного получилось у вас в Python и IT в целом за прошедшую неделю? Поделитесь в комментариях.

#winshare

Читать полностью…

Zen of Python

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

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

Начните знакомство с этим инструментом с открытого урока «Создание веб-приложения на FastAPI» от OTUS. Преподаватель Сурен Хоренян — опытный Python-разработчик из МТС ИИ. Занятие пройдёт 28 сентября в 20:00 мск в рамках онлайн-курса «Web разработчик на Python».

На открытом уроке рассмотрят структуру проекта, аннотации типов, валидацию данных, инъекцию зависимостей при создании веб-приложения на FastAPI.

Занятие будет полезно тем, кто хочет познакомиться с фреймворком и посмотреть на валидацию данных при помощи аннотаций типов

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

Реклама ООО «Отус онлайн-образование» ОГРН 1177746618576

Читать полностью…

Zen of Python

Типы копирования в Python

Лаконичная статья, рассказывающая о типах копирования (поверхностном и глубоком). С её помощью вы познакомитесь с разницей в поведении составляющих копируемого объекта, а также с поведением copy() / deepcopy().

#факты

Читать полностью…

Zen of Python

Unicaps: API для решения CAPTCHA

Инструмент поддерживает несколько десятков видов капчи и асинхронность:

>>> from unicaps import CaptchaSolver, CaptchaSolvingService

>>> solver = CaptchaSolver(CaptchaSolvingService.TWOCAPTCHA, api_key="<API_KEY>")
>>> solved = solver.solve_image_captcha(open("captcha.jpg", "rb"), is_phrase=False, is_case_sensitive=True)

>>> solved.solution.text
... 'w93Bx'

>>> solved.report_good()
... True

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

#библиотека

Читать полностью…

Zen of Python

SQL-запросы, которые вы рано или поздно погуглите

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

#SQL

Читать полностью…

Zen of Python

FreezeGun: заморозка времени для тестов

С помощью библиотеки freezegun можно «заморозить» время до определённой точки, обеспечив точную проверку тестируемых функций.

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

#библиотека

Читать полностью…

Zen of Python

atexit для завершающей логики

Хэндлер позволяет исполнять хуки при закрытии программы. Это подойдёт:

— для завершения ожидающих процессов;
— для отправки ожидающих сообщений в логи;
— для сохранения истории интерпретатора.

В примере ниже создаётся счётчик падений программы:

try:
with open('counterfile') as infile:
_count = int(infile.read())
except FileNotFoundError:
_count = 0

def incrcounter(n):
global _count
_count = _count + n

def savecounter():
with open('counterfile', 'w') as outfile:
outfile.write('%d' % _count)

import atexit

atexit.register(savecounter)

#факты

Читать полностью…

Zen of Python

Пятничный Win Share

Чем занимались на неделе, связанным с Python и IT в целом?

Поделитесь в комментариях.

#winshare

Читать полностью…

Zen of Python

Как вызвать звук колокольчика в bash

Удобный способ оповестить разработчика об окончании работы скрипта.sh:

echo $'\a'
tput bel
printf '\a'

Наверное, стоит повторить вызов несколько раз, чтобы не пропустить.

#bash

Читать полностью…

Zen of Python

PyWebCopy для бэкапинга / слива сайта

PyWebCopy — бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жёсткий диск.

Модуль позволяет:
— сохранить одну страницу;
— скопировать сайт целиком.

При сохранении сайта стоит учитывать его размер и вероятную нагрузку на сервер.

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

#библиотека

Читать полностью…

Zen of Python

Когда речь заходит про взаимодействие микросервисов, все сразу вспоминают о сложных архитектурных паттернах, вроде Event Bus и CQRS

В статье Антон Щербак, разработчик Selectel, рассказывает, как выполнить простенькую задачку для двух микросервисов без навороченной архитектуры.

Скорее читайте статью:
https://habr.com/ru/companies/selectel/articles/724278/

Реклама ООО «Селектел» 2Vtzqwwzcf4

Читать полностью…

Zen of Python

PonyORM для мэппинга из реляционной базы

PonyORM — библиотека, позволяющая удобно работать с объектами, хранящимися в виде строк в реляционной базе данных.

В запросе ниже мы извлекаем всех клиентов, общая сумма покупок которых превышает 1000, причем с использованием лямбда-функции:

Customer.select(lambda c: sum(c.orders.total_price) > 1000)

Документация

#библиотека

Читать полностью…

Zen of Python

Задача о животных Ноя

Как и в библейские времена, нам нужно доставлять животных в ковчег парами. Мы заинтересованы только в том, чтобы получить по одной паре каждого животного, и не заинтересованы в животных, которых меньше двух… в конце концов, им нужно спариваться, чтобы заново заселить планету!

Вам будет предоставлен список животных, в котором нужно проверить, каких животных по двое, а затем вернуть словарь, содержащий название животного и их четное количество:

>>> two_by_two(['goat', 'goat', 'rabbit', 'rabbit', 'rabbit', 'duck', 'horse', 'horse', 'swan'])
... {'goat': 2, 'horse': 2, 'rabbit': 2}

Если список животных пуст, нужно вернуть False:
>>> two_by_two([])
... False

Если у животного нет пары, нужно вернуть пустой словарь:

>>> two_by_two(['goat'])
...{}

Ждем ваши решения в комментариях.

#задача

Читать полностью…

Zen of Python

PyDork для сбора результатов из поисковиков

Утилита позволяет автоматизировать сбор поисковых результатов для Google, Bing, DuckDuckGo, Baidu и Yahoo Japan:

>>> pydork search -n 10 -t google -- 'super mario'
... Google: Text Search: super mario
... Google: Finally got 10 links.
... [GoogleSearch]: https://www.nintendo.co.jp/character/mario/
... [GoogleSearch]: https://www.nintendo.co.jp/software/smb1/index.html
... [GoogleSearch]: https://www.nintendo.co.jp/switch/adala/index.html

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

#библиотека

Читать полностью…

Zen of Python

PandaSQL, чтобы обращаться к датафрейму на SQL

Инструмент позволяет использовать язык запросов SQL для обработки табличных данных pandas:

Вместо
customers[customers["age"] <= 25]

Теперь можно фильтровать датафрейм так:

import pandasql as ps

sql_query = '''SELECT * FROM customers WHERE "age" <= 25'''
ps.sqldf(sql_query)

#библиотека

Читать полностью…

Zen of Python

Книга «Django 3 на примерах» (2020)

Автор: Антонио Меле

Следуя за автором, вы создадите несколько проектов на базе фреймворка и познакомитесь с возможностями Django 3.

Репозиторий книги

#django

Читать полностью…

Zen of Python

PyAutoGUI для снимков экрана

import pyautogui

screen = pyautogui.screenshot()
screen.save("my_image.png")

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

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

#библиотека

Читать полностью…

Zen of Python

whois для домена на Python

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

>>> import whois
>>> domain = whois.query('google.com')

>>> print(domain.__dict__)

... {
... 'expiration_date': datetime.datetime(2020, 9, 14, ... 0, 0),
... 'last_updated': datetime.datetime(2011, 7, 20, 0, 0),
... 'registrar': 'MARKMONITOR INC.',
... 'name': 'google.com',
... 'creation_date': datetime.datetime(1997, 9, 15, 0, 0)
... }

>>> print(domain.expiration_date)
... 2024-09-14 00:00:00

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

#библиотека

Читать полностью…

Zen of Python

GIL: зачем он нужен и как с ним жить

Тимлид Evrone Григорий Петров очень доступно знакомит с Глобальной блокировкой интерпретатора в своей 35-минутной лекции. С помощью видео можно узнать на доступном языке:

— как засыпают и просыпаются потоки;
— от чего защищает GIL;
— как GIL работает изнутри.

#GIL

Читать полностью…

Zen of Python

Задача о вычурном регистре

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

Пример:
"Строка" => "СтРоКа"

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

Переданная строка будет состоять только из букв алфавита и пробелов. Пробелы будут присутствовать только в том случае, если слов несколько. Слова будут разделены одним пробелом.

#задача

Читать полностью…

Zen of Python

tqdm для прогресс-баров на Python

Если вы создаёте свою библиотеку или автоматизируете процессы с помощью bash-скриптов, отобразить ход исполнения запущенных команд можно с помощью tqdm.

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

#библиотека

Читать полностью…

Zen of Python

Gooey: из CLI-приложения в GUI

Gooey превратит вашу консольную программу в полноценное графическое приложение всего одной строкой кода.

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

#библиотека

Читать полностью…

Zen of Python

Как устроиться в престижную компанию, когда тебе 18?

Несмотря на отсутствие большого опыта, есть возможность попасть в крупную IT-компанию, если проявить настойчивость и упорство.

Молодой специалист Александр поделился своей историей о том, как стал разработчиком, придумал идею проекта, опоздав на 40 минут на пару в колледже, и получил позицию в отделе AI Газпромбанка.

#карьера

Читать полностью…
Subscribe to a channel