Вышел Flask 3.0.0
За что любить осень? Языки, фреймворки и библиотеки активно релизят обновления.
Создатели популярнейшего веб-фреймворка проапгрейдили его сразу до версии 3.0.0.
Среди обновлений
— для работы теперь требуется werkzeug >= 3.0.0;
— депрекатнули атрибут __version__
. Теперь используемimportlib.metadata.version("flask")
;
— с url_for
теперь работает self
и проч.
Описание релиза
#flask
Протоколы в Python. О них мало говорят, а зря
Рассказали, зачем нужны протоколы, почему о них так мало говорят и зачем нужен статический анализатор mypy.
Статья
Поздравляем верно решивших задачу про животных Ноя
Задаче на выделение парных животных верное решение предложили подписчики:
— wh173_cr0w;
— Лев Выскубов.
Поздравляем победителей!
#задача
Задача на поиск чисел
Напишите функцию, которая в массиве целых чисел найдёт такое, что встречается нечётное количество раз. Всегда будет только одно целое число, которое появляется нечётное количество раз.
Примеры:
— [7]
должно возвращать 7, поскольку оно встречается 1 раз (что нечётно);
—[1,1,2]
должно возвращать 2, поскольку оно встречается 1 раз;
—[0,1,0,1,0]
должно возвращать 0, поскольку оно встречается 3 раза
—[1,2,2,3,3,3,4,3,3,3,2,2,1]
должно возвращать 4, поскольку оно появляется 1 раз.
#задача
Свой GPT на Django
Фаундер FosterFlow разобрал в статье свой Django-проект, которые позволяет не только использовать GPT без VPN, но и навешивать собственную дополнительную логику вроде собственного датасета.
#django #gpt
3 простых способа ускорить код на Python
Разобрали на примере несложной программы, как ускорить её исполнение в 4 с лишним раза. Не всегда встроенный компонент ЯП отрабатывает быстрее сторонней библиотеки. В статье вы узнаете, кто опередил в скорости лямбда-функцию.
https://tprg.ru/PjyX
#факты
«Python для всех» Чарльза Северанса
Книга помогает плавно начать программировать. Она представляет собой курс программирования. Краткий и четкий стиль изложения и многочисленные упражнения позволят достаточно быстро овладеть основными навыками программирования и методами обработки данных. Издание предназначено широкому кругу читателей, которые не являются программистами и хотели бы освоить язык с нуля.
Профиль книги на Livelib
#книга
Fake2db для игрушечных баз данных
Библиотека позволяет создавать базы и заполнять их фейковыми данными, что крайне полезно для тестирования. Поддерживает работу с sqlite, mysql, postgresql, mongodb, redis, couchdb.
Репозиторий на GitHub
#библиотека
Инженер команды SQL в AvitoTech в рамках проекта avito.code подготовил серию роликов про PostgreSQL и DBA
В первой части эксперт рассказывает о инициализации реплик без прямого использования pg_basebackup. Она уже доступна на канале AvitoTech.
Смотрите, ставьте пальцы вверх и стройте отказоустойчивую инфраструктуру: https://tprg.ru/uBnI
Реклама ООО «Авито Тех» LjN8KPaB2
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
#библиотека
drf_yasg: автоматическая документация API для Django
Начиная с Django 2.2, Django Rest Framework 3.10 и Python 3.6 вы можете автоматически генерировать документацию API Django REST Framework.
Репозиторий на GitHub
#django
Пятничный Win Share
Что интересного получилось у вас в Python и IT в целом за прошедшую неделю? Поделитесь в комментариях.
#winshare
Умение работать с FastAPI является важным навыком для Python разработчиков, занимающихся веб разработкой
Этот фреймворк позволяет быстро разрабатывать надежные и эффективные веб-сервисы с автоматической генерацией документации, поддержкой асинхронной работы и встроенной валидацией данных, что упрощает процесс разработки и обеспечивает высокую производительность веб-приложений на Python.
Начните знакомство с этим инструментом с открытого урока «Создание веб-приложения на FastAPI» от OTUS. Преподаватель Сурен Хоренян — опытный Python-разработчик из МТС ИИ. Занятие пройдёт 28 сентября в 20:00 мск в рамках онлайн-курса «Web разработчик на Python».
На открытом уроке рассмотрят структуру проекта, аннотации типов, валидацию данных, инъекцию зависимостей при создании веб-приложения на FastAPI.
Занятие будет полезно тем, кто хочет познакомиться с фреймворком и посмотреть на валидацию данных при помощи аннотаций типов
Пройдите вступительный тест для регистрации и ставьте событие в календарь, чтобы не пропустить.
Реклама ООО «Отус онлайн-образование» ОГРН 1177746618576
Кто лучше: pip или его дочки / альтернативы?
Из тех, кто пользовался нестандартными менеджерами пакетов (pipenv, pip-tools, pdm, poetry и проч.), какой из них вы рекомендуете и почему?
Поделитесь в комментариях.
#pip #библиотека
Метаэвристические решения Задачи коммивояжёра
В данной статье рассматриваем и реализуем на Python различные подходы (GA, ACO, SA) к решению задачи коммивояжёра.
#гайд
Flet для полноценных интерфейсов
Часовая серия видеоуроков на английском, посвящённая Flet — инструменту для построения UI. С её помощью вы узнаете, как реализовать:
— поля ввода;
— Drag'n'Drop;
— анимацию элементов;
— PubSub (если упрощённо — отправку сообщений) и проч.
#UI
PyScript для исполнения Python в HTML
Инструмент позволяет исполнять скрипты прямо в одноименном теге:<body>
<div id="output"></div>
<script type="py" src="./main.py" config="./pyscript.toml"></script>
</body>
Документация
#библиотека
Reflex для полноценных приложений и сайтов
Фреймворк на Python избавляет от необходимости связывать фронтенд / бэкенд и предлагает:
— набор популярных компонентов (слайдеры, формы, Flex'ы, графики);
— сэлф-хостинг на поддомене (myapp.reflex.app);
— полную кастомизацию с CSS;
reflex.dev
#библиотека
Пятничный Win Share
Что интересного получилось у вас в Python и IT в целом за прошедшую неделю? Поделитесь в комментариях.
#winshare
Как вызвать звук колокольчика в bash
Удобный способ оповестить разработчика об окончании работы скрипта.sh:echo $'\a'
tput bel
printf '\a'
Наверное, стоит повторить вызов несколько раз, чтобы не пропустить.
#bash
PyWebCopy для бэкапинга / слива сайта
PyWebCopy — бесплатный инструмент для копирования отдельных веб-страниц или же полного копирования сайта на жёсткий диск.
Модуль позволяет:
— сохранить одну страницу;
— скопировать сайт целиком.
При сохранении сайта стоит учитывать его размер и вероятную нагрузку на сервер.
Ссылка на репозиторий
#библиотека
Когда речь заходит про взаимодействие микросервисов, все сразу вспоминают о сложных архитектурных паттернах, вроде Event Bus и CQRS
В статье Антон Щербак, разработчик Selectel, рассказывает, как выполнить простенькую задачку для двух микросервисов без навороченной архитектуры.
Скорее читайте статью:
https://habr.com/ru/companies/selectel/articles/724278/
Реклама ООО «Селектел» 2Vtzqwwzcf4
PonyORM для мэппинга из реляционной базы
PonyORM — библиотека, позволяющая удобно работать с объектами, хранящимися в виде строк в реляционной базе данных.
В запросе ниже мы извлекаем всех клиентов, общая сумма покупок которых превышает 1000, причем с использованием лямбда-функции:Customer.select(lambda c: sum(c.orders.total_price) > 1000)
Документация
#библиотека
Задача о животных Ноя
Как и в библейские времена, нам нужно доставлять животных в ковчег парами. Мы заинтересованы только в том, чтобы получить по одной паре каждого животного, и не заинтересованы в животных, которых меньше двух… в конце концов, им нужно спариваться, чтобы заново заселить планету!
Вам будет предоставлен список животных, в котором нужно проверить, каких животных по двое, а затем вернуть словарь, содержащий название животного и их четное количество:>>> 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'])
...{}
Ждем ваши решения в комментариях.
#задача
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
#библиотека
PandaSQL, чтобы обращаться к датафрейму на SQL
Инструмент позволяет использовать язык запросов SQL для обработки табличных данных pandas:
Вместо customers[customers["age"] <= 25]
Теперь можно фильтровать датафрейм так:import pandasql as ps
sql_query = '''SELECT * FROM customers WHERE "age" <= 25'''
ps.sqldf(sql_query)
#библиотека
Книга «Django 3 на примерах» (2020)
Автор: Антонио Меле
Следуя за автором, вы создадите несколько проектов на базе фреймворка и познакомитесь с возможностями Django 3.
Репозиторий книги
#django
PyAutoGUI для снимков экранаimport pyautogui
screen = pyautogui.screenshot()
screen.save("my_image.png")
Скриншот всего экрана ляжет в текущий рабочий каталог, но путь можно изменить. Помимо этого инструмент поддерживает симуляцию нажатия клавиш, набора текста в поле ввода и проч.
Репозиторий на GitHub
#библиотека