Мини-гайд по отправке сообщений из Google Таблицы или базы данных с Python
https://ift.tt/WKCbnLy
Допустим, есть заранее приготовленная база данных в CMS, куда попадают заявки от покупателей — возможно, это заказ товаров или в ресторане. Наша задача: используя указанный номер телефона, уведомить пользователя о том, что его заказ готов к выдаче. Добавим, что нам потребуется имя покупателя и адрес пункта выдачи.
[Видео] Расширяем возможности стандартной библиотеки
https://www.youtube.com/watch?v=v7rAhUXHQ8U
Иногда мы хотим написать что-то свое, но так, чтобы оно осталось совместимым с кодом, который опирается на стандартную библиотеку. Так можно!
LLMOps with DSPy: Build RAG Systems Using Declarative Programming
https://ift.tt/YGlSPFH
django-cms - 3.11.8
https://ift.tt/AJVYUms
Легкая в использовании и удобная для разработки CMS. Скачать можно по ссылке: https://pypi.python.org/pypi/django-cms/
Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 2
https://ift.tt/8rYSbC2
Это вторая часть цикла о DDD. В ней расскажу, как добавить к проекту событийно-ориентированную архитектуру. Код подопытного приложения ищите в репозитории по ссылке.
Django: hoist repeated decorator definitions
https://ift.tt/utCnlpZ
Django provides us with a rich set of view decorators.In this post, we’ll look at a technique for hoisting repeated use of these decorators to reduce repetition.Repeated @cache_control callsHere are two public views with the same @cache_control decorator:from django.views.decorators.cache import cache_control@cache_control(max_age=60 * 60, public=True)def about(request): ...@cache_control(max_age=60 * 60, public=True)def contact_us(request): ...To avoid this repetition, we can call cache_control once at the top of the module and use that result as the decorator:from django.views.decorators.cache import cache_controlcache_public = cache_control(max_age=60 * 60, public=True)@cache_publicdef about(request): ...@cache_publicdef team(request): ...This works because cache_control is technically not a decorator but a function that returns a decorator.So we can separate the call of cache_control from the decorating.Aside from reducing redundant repetition, this technique also saves a tiny bit of time and memory when importing the module, because cache_control is only called once.Repeated @require_http_methods callsHere’s another example, instead using @require_http_methods:from django.views.decorators.http import require_http_methodsrequire_GET_POST = require_http_methods(("GET", "POST"))@require_GET_POSTdef contact_us(request): ...@require_GET_POSTdef store_feedback(request): ...(Actually, it would be neat if Django provided require_GET_POST out of the box…)Hoisting @method_decorator calls for class-based viewsThis technique is particularly beneficial for class-based views, where view decorators mostly need extra wrapping with method_decorator:from django.utils.decorators import method_decoratorfrom django.views.decorators.cache import cache_controlfrom django.views.generic import TemplateViewcache_public = method_decorator(cache_control(max_age=60 * 60, public=True))@cache_publicclass AboutView(TemplateView): ...@cache_publicclass TeamView(TemplateView): ...I also like to use this technique with decorators that don’t take arguments, such as the new @login_not_required from Django 5.1:from django.contrib.auth.decorators import login_not_requiredfrom django.utils.decorators import method_decoratorfrom django.views.generic import TemplateViewlogin_not_required_m = method_decorator(login_not_required, name="dispatch")@login_not_required_mclass AboutView(TemplateView): ...@login_not_required_mclass TeamView(TemplateView): ...I like adding an “m” suffix to the variable name to indicate that it’s a method decorator version of the original.Test decoratorsThis deduplication technique can also dramatically improve test readability, where many tests often need the same decorator applied.For example, third-party apps may mark version-restricted tests with unittest’s @skipIf or pytest’s @pytest.mark.skipif:from unittest import skipIfimport djangodjango_5_1_plus = skipIf(django.VERSION < (5, 1), "Django 5.1+ required")class AcmeAuthMiddlewareTests(TestCase): ... @django_5_1_plus def test_view_login_not_required(self): ... @django_5_1_plus def test_view_login_required(self): ...FinMay your decorators be DRYer than the Kalahari,—Adam
Обучающий телеграм бот. Пример задачника по математике
https://ift.tt/Oa9HwNn
Рассмотрим вариант телеграм бота, представляющего собой фрагмент задачника по математике для 4 класса.
WindowsHostsManager: Консольная утилита для работы с файлом hosts в Windows на Python
https://ift.tt/yEUzkWc
Иногда возникает необходимость внести изменения в файл hosts в Windows. Вместе с этой потребностью родилась идея создать небольшую утилиту на Python, которая бы упростила процесс редактирования этого файла. В результате появился WindowsHostsManager — инструмент, созданный всего за 30 минут и предназначенный для удобного управления файлом hosts.
Автоматизация сканирования открытых сетевых портов
https://ift.tt/EbLwUIH
С ростом числа кибератак и угроз безопасности информационных систем автоматизация процесса анализа уязвимостей становится критически важной задачей.С ростом объемов обрабатываемых данных, расширения информационных систем, сервисов и приложений возникает все больше проблем с точки зрения информационной безопасности. Исходя из этого встает острый вопрос о том, как это все контролировать, и преждевременно предотвращать угрозы информации.
Задача коммивояжёра в общем виде. Наибыстрейшее точное решение
https://ift.tt/li3pXWm
Эта работа является заключением пятилетнего марафона по поиску самого быстрого способа нахождения минимального точного решения для задачи коммивояжёра в общем виде.Тут я хочу подытожить все опробованные подходы и выбрать лучший по моему мнению.
#python #pydigest
IT-новости про Python перед вами.
Часть материалов из выпуска Python Дайджест:
- Винтик и Шпунтик осваивают квантовые вычисления
- Страсти опенсорса: мафия, стилеры и багхантинг проектов
- Как ускорить A/B тесты: несколько способов
- Проблемы вызова Python кода из C кода
- Шлепа — Большой Русский Бенчмарк
- Апи версионирование по-взрослому
- PromptMage - LLM Workflows
- Wave - Create Web Apps with Python
Заходите в гости - https://pythondigest.ru/issue/560/
Python в Rye-у
https://ift.tt/wYf1sug
Rye — это пакетный менеджер для Python, написанный на Rust. Но Rye — это не только пакетный менеджер, но и удобный инструмент, который позволяет управлять проектами, зависимостями, виртуальными окружениями и версиями Python. Под капотом у Rye находится uv — более быстрый аналог pip, который, как и Rye, написан на Rust. Автором Rye является небезызвестный Armin Ronacher.
[Видео] Python нельзя Go: меня не зацепил новый тренд
https://www.youtube.com/watch?v=jkem38kdX50
Будучи Python разработчиком я познакомился с Go и не нашёл причин переходить на Go для веб-разработки и прикладных задач. Возможно, я чего-то не понял. В докладе поделюсь наблюдениями и расскажу, почему Go меня не очаровал.
kombu - 5.4.1
https://ift.tt/dDfvZAq
Фреймворк для работы с AMQP. Скачать можно по ссылке: https://pypi.python.org/pypi/kombu/
Поиск открытых сетевых ресурсов и их права доступа
https://ift.tt/XkAsnV5
Общие сетевые ресурсы в домене Active Directory используются для упрощения и централизации доступа к файлам, папкам, принтерам и другим ресурсам в корпоративной сети. Это может привести к нарушению одной из основ информационной безопасности – конфиденциальности
greenlet - 3.1.0
https://ift.tt/Xkxz1EU
Модуль для легковесных потоков в Python. Скачать можно по ссылке: https://pypi.python.org/pypi/greenlet/
pytest - 8.3.3
https://ift.tt/fkS3OJL
Простой мощный инструмент тестирования в Python. Скачать можно по ссылке: https://pypi.python.org/pypi/pytest/
Доплеровское Cмещение Несущей Спутников GPS
https://ift.tt/F3TtGUv
В этом тексте я намерен выяснить, как быстро меняется частота несущей спутников GPS в результате эффекта Доплера. Также намерен выяснить в каких диапазонах стоит ожидать варьирование значения несущей частоты для GPS спутников и почему. Задачу буду решать в упрощенном виде, численно. Для решения этой задачи достаточно обыкновенной школьной математики и физики.
django-cms - 3.11.7
https://ift.tt/lT6AdJX
Легкая в использовании и удобная для разработки CMS. Скачать можно по ссылке: https://pypi.python.org/pypi/django-cms/
Апи версионирование по-взрослому
https://ift.tt/NyISeD7
В разработке API вы рискуете сломать код ваших пользователей с каждым новым обновлением. Я расскажу на нашем примере, насколько глубока кроличья нора и как сильно можно упороться на пути к идеальному версионированию.
Сводка от pythonz 01.09.2024 — 08.09.2024
https://ift.tt/ZnUxBV0
А теперь о том, что происходило в последнее время на других ресурсах.