temsorflow
вместо tensorflow
, requyests
вместо requests
, asyincio
вместо asyncio
и т.п. При проведении подобных атак злоумышленники рассчитывают на невнимательных пользователей, совершивших опечатку или не заметивших отличий в названии при поиске или переходе по ссылке из форумов и чатов, в которых злоумышленники оставляют обманные инструкции.Будьте аккуратнее, когда качаете что-то через
pip
)@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36😢6🔥2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥6❤5
Forwarded from Zen of Python
Бенчмарк Wi-Fi сетей на wifi-heat-mapper
wifi-heat-mapper — питонская версия Wi-Fi Analyzer, позволяющая не только визуализировать силу сигнала, но и рассчитывать мощность в любой точке помещения
#библиотека
@zen_of_python
wifi-heat-mapper — питонская версия Wi-Fi Analyzer, позволяющая не только визуализировать силу сигнала, но и рассчитывать мощность в любой точке помещения
#библиотека
@zen_of_python
🔥9❤2👍1
files.pypihosted[.]org
) походил на легитимное зеркало files.pythonhosted.org.@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9😱7👍1🔥1
requests
:import requests
response = requests.get('https://api.example.com/end-point')
data = response.json()
Замените
'https://api.example.com/end-point'
на необходимый API endpoint. Прежде чем приступить к обработке данных, проверьте, был ли запрос успешным.requests.get()
используя словарь, чтобы избежать конкатенации строк:params = {'origin': 'Нарния', 'destination': 'Хогвартс', 'waypoints': 'Средиземье|Мордор', 'sensor': 'false'}
response = requests.get('https://maps.googleapis.com/maps/api/directions/json', params=params)
Важно: значение
waypoints
должно быть указано в виде одной строки, например, 'Средиземье|Мордор'.После получения ответа, преобразуйте JSON с помощью метода
.json()
и проверьте код ответа:data = response.json()
if response.status_code == 200:
from pprint import pprint
pprint(data) # Выведем данные структурированно для удобства
else:
print("Ошибка HTTP-запроса:", response.status_code)
Обработка вложенных структур в JSON требует внимательного подхода. На Python это выполнимо:
for route in data['routes']:
for leg in route['legs']:
for step in leg['steps']:
print(step['html_instructions'])
Используйте циклы для перемещения по структуре данных.
— Всегда проверяйте статус ответа.
— Применяйте метод
.json()
, а при необходимости — json.loads(response.content)
.— Не ограничивайтесь в использовании параметров запроса: чем больше их, тем лучше.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3❤1
⚡️ MindGraph
Демонстрационный прототип концепции для создания и обработки запросов к постоянно расширяющемуся графу знаний с помощью искусственного интеллекта.
▪ Github
Демонстрационный прототип концепции для создания и обработки запросов к постоянно расширяющемуся графу знаний с помощью искусственного интеллекта.
▪ Github
❤8👍6🔥2
После того, как вы всё настроете по примеру из статьи останется только нажать F1, и в появившейся строке ввода ввести "Open folder in container". После этого выбрать корневую папку проекта. После чего запустится сборка контейнера и папка откроется внутри контейнера.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤8👍4
Вышла Django 5.0 🔥
Что добавили/обновили/исправили?
• В предыдущих версиях мы использовали nulls_last=False. Теперь nulls_first и nulls_last могут быть True или None. Поэтому теперь в некоторых местах вместо значения по умолчанию находится nulls_last = None
• В сигналах появился новый тип асинхронных ресиверов async_receivers. Его добавили в класс SignalBlocker, теперь он временно отключает сигнал.
• Если после refresh_from_db надо дальше по коду использовать закешированные значения из базы данных, появился такой хак:
https://docs.djangoproject.com/en/5.0/releases/5.0/
@pythonl
Что добавили/обновили/исправили?
• В предыдущих версиях мы использовали nulls_last=False. Теперь nulls_first и nulls_last могут быть True или None. Поэтому теперь в некоторых местах вместо значения по умолчанию находится nulls_last = None
- nulls_last = False
+ nulls_last = None
if ordering_by == OrderingField.FIELD_START_AT:
nulls_last = True
• В сигналах появился новый тип асинхронных ресиверов async_receivers. Его добавили в класс SignalBlocker, теперь он временно отключает сигнал.
• Если после refresh_from_db надо дальше по коду использовать закешированные значения из базы данных, появился такой хак:
my_model_obj._meta.private_fields = []
my_model_obj.refresh_from_db()
https://docs.djangoproject.com/en/5.0/releases/5.0/
@pythonl
👍10❤5🔥1😁1🤩1
В конце статьи есть все исходники запросов, чтобы вы смогли взять их за основу при написании собственной программы.
• Создание проекта
• Быстрый запуск API
• Добавление сервисного аккаунта в Google Analytics 4
• Загрузка приватного ключа на Google Диск
• Подготовка программы
• Выгрузка данных по отчетам
— Источники трафика (User acquisition)
— Привлечение трафика (Traffic acquisition)
— События (Evemts)
— Конверсии (Conversions)
— Страницы и экраны (Pages and screens)
— Целевая страница (Landing Page)
— Совершённые покупки (Ecommerce purchases)
— Демографические данные (Demographic details)
— Технические данные (Tech details)
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4👍4🤩1
Относительно недавно состоялся релиз Nuitka 2.0. Это проект компилятора для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython.
В программном решении используются штатные средства CPython для управления объектами.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥6❤2