tqdm для прогресс-баров на Python
Если вы создаёте свою библиотеку или автоматизируете процессы с помощью bash-скриптов, отобразить ход исполнения запущенных команд можно с помощью tqdm.
Репозиторий на GitHub
#библиотека
Если вы создаёте свою библиотеку или автоматизируете процессы с помощью bash-скриптов, отобразить ход исполнения запущенных команд можно с помощью tqdm.
Репозиторий на GitHub
#библиотека
👍9
FreezeGun: заморозка времени для тестов
С помощью библиотеки freezegun можно «заморозить» время до определённой точки, обеспечив точную проверку тестируемых функций.
Репозиторий на GitHub
#библиотека
С помощью библиотеки freezegun можно «заморозить» время до определённой точки, обеспечив точную проверку тестируемых функций.
Репозиторий на GitHub
#библиотека
🔥8💩3
Задача о вычурном регистре
Напишите функцию, которая принимает строку и возвращает её же, причём все чётные символы в каждом слове записаны в верхнем регистре, а нечётные — в нижнем.
Пример:
Первый символ слова имеет нулевой индекс и является чётным, поэтому он должен быть в верхнем регистре. Вам предстоит начинать отсчёт заново для каждого слова.
Переданная строка будет состоять только из букв алфавита и пробелов. Пробелы будут присутствовать только в том случае, если слов несколько. Слова будут разделены одним пробелом.
#задача
Напишите функцию, которая принимает строку и возвращает её же, причём все чётные символы в каждом слове записаны в верхнем регистре, а нечётные — в нижнем.
Пример:
"Строка" => "СтРоКа"
Первый символ слова имеет нулевой индекс и является чётным, поэтому он должен быть в верхнем регистре. Вам предстоит начинать отсчёт заново для каждого слова.
Переданная строка будет состоять только из букв алфавита и пробелов. Пробелы будут присутствовать только в том случае, если слов несколько. Слова будут разделены одним пробелом.
#задача
👍5❤1
GIL: зачем он нужен и как с ним жить
Тимлид Evrone Григорий Петров очень доступно знакомит с Глобальной блокировкой интерпретатора в своей 35-минутной лекции. С помощью видео можно узнать на доступном языке:
— как засыпают и просыпаются потоки;
— от чего защищает GIL;
— как GIL работает изнутри.
#GIL
Тимлид Evrone Григорий Петров очень доступно знакомит с Глобальной блокировкой интерпретатора в своей 35-минутной лекции. С помощью видео можно узнать на доступном языке:
— как засыпают и просыпаются потоки;
— от чего защищает GIL;
— как GIL работает изнутри.
#GIL
🔥9👍1
Unicaps: API для решения CAPTCHA
Инструмент поддерживает несколько десятков видов капчи и асинхронность:
Репозиторий на GitHub
#библиотека
Инструмент поддерживает несколько десятков видов капчи и асинхронность:
>>> 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
#библиотека
🤣5❤2👍1
whois для домена на Python
Библиотека позволяет выводить те же сведения о сайте, что и одноимённый сервис.
Репозиторий на GitHub
#библиотека
Библиотека позволяет выводить те же сведения о сайте, что и одноимённый сервис.
>>> 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
#библиотека
👍7
Типы копирования в Python
Лаконичная статья, рассказывающая о типах копирования (поверхностном и глубоком). С её помощью вы познакомитесь с разницей в поведении составляющих копируемого объекта, а также с поведением
#факты
Лаконичная статья, рассказывающая о типах копирования (поверхностном и глубоком). С её помощью вы познакомитесь с разницей в поведении составляющих копируемого объекта, а также с поведением
copy()
/ deepcopy()
.#факты
🔥1
PyAutoGUI для снимков экрана
Скриншот всего экрана ляжет в текущий рабочий каталог, но путь можно изменить. Помимо этого инструмент поддерживает симуляцию нажатия клавиш, набора текста в поле ввода и проч.
Репозиторий на GitHub
#библиотека
import pyautogui
screen = pyautogui.screenshot()
screen.save("my_image.png")
Скриншот всего экрана ляжет в текущий рабочий каталог, но путь можно изменить. Помимо этого инструмент поддерживает симуляцию нажатия клавиш, набора текста в поле ввода и проч.
Репозиторий на GitHub
#библиотека
👍8❤🔥2
Книга «Django 3 на примерах» (2020)
Автор: Антонио Меле
Следуя за автором, вы создадите несколько проектов на базе фреймворка и познакомитесь с возможностями Django 3.
Репозиторий книги
#django
Автор: Антонио Меле
Следуя за автором, вы создадите несколько проектов на базе фреймворка и познакомитесь с возможностями Django 3.
Репозиторий книги
#django
🌭6💩5👍4
PandaSQL, чтобы обращаться к датафрейму на SQL
Инструмент позволяет использовать язык запросов SQL для обработки табличных данных pandas:
Вместо
Теперь можно фильтровать датафрейм так:
#библиотека
Инструмент позволяет использовать язык запросов SQL для обработки табличных данных pandas:
Вместо
customers[customers["age"] <= 25]
Теперь можно фильтровать датафрейм так:
import pandasql as ps
sql_query = '''SELECT * FROM customers WHERE "age" <= 25'''
ps.sqldf(sql_query)
#библиотека
🤔18👍8🔥4💩3🦄3
drf_yasg: автоматическая документация API для Django
Начиная с Django 2.2, Django Rest Framework 3.10 и Python 3.6 вы можете автоматически генерировать документацию API Django REST Framework.
Репозиторий на GitHub
#django
Начиная с Django 2.2, Django Rest Framework 3.10 и Python 3.6 вы можете автоматически генерировать документацию API Django REST Framework.
Репозиторий на GitHub
#django
❤6👎3👍1
PyDork для сбора результатов из поисковиков
Утилита позволяет автоматизировать сбор поисковых результатов для Google, Bing, DuckDuckGo, Baidu и Yahoo Japan:
Репозиторий на GitHub
#библиотека
Утилита позволяет автоматизировать сбор поисковых результатов для 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
#библиотека
👍4
functime для построения прогнозирования временных рядов
Утилита принимает многостолбцовые датафреймы, «дружит» с OpenAI и поддерживает метрики MASE, SMAPE и другие:
Анализируем тренд и сезонность двух товаров:
Сравним группы товаров:
Репозиторий на GitHub
#библиотека
Утилита принимает многостолбцовые датафреймы, «дружит» с 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
#библиотека
👍3❤1
Задача о животных Ноя
Как и в библейские времена, нам нужно доставлять животных в ковчег парами. Мы заинтересованы только в том, чтобы получить по одной паре каждого животного, и не заинтересованы в животных, которых меньше двух… в конце концов, им нужно спариваться, чтобы заново заселить планету!
Вам будет предоставлен список животных, в котором нужно проверить, каких животных по двое, а затем вернуть словарь, содержащий название животного и их четное количество:
Если список животных пуст, нужно вернуть False:
Если у животного нет пары, нужно вернуть пустой словарь:
Ждем ваши решения в комментариях.
#задача
Как и в библейские времена, нам нужно доставлять животных в ковчег парами. Мы заинтересованы только в том, чтобы получить по одной паре каждого животного, и не заинтересованы в животных, которых меньше двух… в конце концов, им нужно спариваться, чтобы заново заселить планету!
Вам будет предоставлен список животных, в котором нужно проверить, каких животных по двое, а затем вернуть словарь, содержащий название животного и их четное количество:
>>> 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'])
...{}
Ждем ваши решения в комментариях.
#задача
👎2👍1👌1
PonyORM для мэппинга из реляционной базы
PonyORM — библиотека, позволяющая удобно работать с объектами, хранящимися в виде строк в реляционной базе данных.
В запросе ниже мы извлекаем всех клиентов, общая сумма покупок которых превышает 1000, причем с использованием лямбда-функции:
Документация
#библиотека
PonyORM — библиотека, позволяющая удобно работать с объектами, хранящимися в виде строк в реляционной базе данных.
В запросе ниже мы извлекаем всех клиентов, общая сумма покупок которых превышает 1000, причем с использованием лямбда-функции:
Customer.select(lambda c: sum(c.orders.total_price) > 1000)
Документация
#библиотека
👍3
Fake2db для игрушечных баз данных
Библиотека позволяет создавать базы и заполнять их фейковыми данными, что крайне полезно для тестирования. Поддерживает работу с sqlite, mysql, postgresql, mongodb, redis, couchdb.
Репозиторий на GitHub
#библиотека
Библиотека позволяет создавать базы и заполнять их фейковыми данными, что крайне полезно для тестирования. Поддерживает работу с sqlite, mysql, postgresql, mongodb, redis, couchdb.
Репозиторий на GitHub
#библиотека
🔥1
Poetry заметки.pdf
81.9 KB
👍16👎4🔥2
PyWebCopy для бэкапинга / слива сайта
PyWebCopy — бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жёсткий диск.
Модуль позволяет:
— сохранить одну страницу;
— скопировать сайт целиком.
При сохранении сайта стоит учитывать его размер и вероятную нагрузку на сервер.
Ссылка на репозиторий
#библиотека
PyWebCopy — бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жёсткий диск.
Модуль позволяет:
— сохранить одну страницу;
— скопировать сайт целиком.
При сохранении сайта стоит учитывать его размер и вероятную нагрузку на сервер.
Ссылка на репозиторий
#библиотека
👍5