IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Telegram

     09.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

RealWorld: aiohttp, Tortoise ORM

На Real World отсутствует пример для aiohttp, и я решил его сделать. Опытным разработчикам, похоже, некогда этим заниматься, а начинающим в aiohttp непонятно как делать правильно. Я начал его делать с помощью Tortoise ORM. Пока начал делать аутентификацию.

 

Хочется сделать этот проект правильно, поэтому под катом очень много вопросов опытным aiohttp разработчкам.

     10.02.2020       Выпуск 321 (10.02.2020 - 16.02.2020)       Статьи

Видео с облачным детектором объектов на Raspberry Pi

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

     08.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Анализ рынка недвижимости на основе данных с msgr.ru

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

     08.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

3D картинка на питоне с (почти) нормальной производительностью

Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности.

После прочтения статьи у меня возникла идея повторить написанную автором программу. Я знаком с C++, но никогда не писал на нем сколь-нибудь сложных программ, предпочитая python. Вот тут и родилась идея писать на нем. Особенно интересовала производительность — я был почти уверен, что пара-тройка кадров в секунду это предел для python. Я ошибался.

     08.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Измерение расстояния до объектов с помощью RealSense D435

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

Результаты обнаружения объекта могут быть дополнены информацией о том, насколько далеко расположен данный объект. Задачу измерения расстояния можно решить с помощью камеры глубины Intel RealSense D435, измеряющей глубину в каждой точке.

В данной статье мы решим задачу измерения расстояния до объекта в режиме реального времени с помощью библиотеки OpenCV и технологии RealSense.

     07.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Под капотом бота-клиента Яндекс.Музыки

Вновь я с уже второй статьей, затрагивающей API Яндекс.Музыки. Дело запланированное и упоминалось в первой статье.

Руки дошли, дело сделано. Сегодня я расскажу об интересных, на мой взгляд, моментах, которые присутствуют в кодовой базе моего Telegram бота, позиционирующего себя как полноценный клиент я.музыки. Ещё мы затронем API для распознавания музыки от Яндекс.

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

     06.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Опыт создания web-приложения с Pony ORM

Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flask, так что сразу отметается Django ORM и выбор изначально пал в сторону SQLAlchemy. С одной стороны эта ORM почти всемогущая, но за счет этого она довольно тяжела в освоении. Помучившись с алхимией какое-то время, я решил найти более простой вариант, чтоб разработка пошла быстрее. В итоге для проекта была выбрана Pony ORM.

     06.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Creating searchable widget dashboards in PyQt5/PySide2

Make dashboard UIs easier to use with widget search & text prediction

     06.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Чистое зло Python

Темные силы не дремлют. Они пробираются в дивное королевство Python и используют черную магию, чтобы осквернить главную реликвию — чистый код. Однако опасны не только злые чары.

 

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

     06.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Аналитика для Telegram-ботов, написанных на Python

На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бота. Поэтому решил написать скрипт для всех ботов на Python. Статистику будем получать, логируя действия пользователей и обрабатывая логи в удобный вид.

     05.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Реализация алгоритмической теории игр на Python с Nashpy

Теория игр — это метод изучения стратегических ситуаций, когда результаты зависят не только от ваших действий, но и от того, что предпримут другие.

Что такое стратегическая ситуация? Вспомним типы рыночных структур: есть совершенная конкуренция, когда все компании являются ценообразующими, то есть им не нужно беспокоиться о стратегии формирования цены, и есть монополия, когда на рынке только одна компания, которая устанавливает свои цены. Так вот: все, что между совершенной конкуренцией и монополией, является стратегической ситуацией.

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

Под катом короткий рассказ про то, как можно задействовать теорию игр на Python при помощи библиотеки Nashpy.

     05.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Python Gateway в InterSystems IRIS

Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использовать многочисленные готовые библиотеки для быстрого создания адаптивных, роботизированных аналитических AI/ML-решений на платформе InterSystems IRIS. В этой статье я покажу как InterSystems IRIS может оркестровать процессы на языке Python, эффективно осуществлять двустороннюю передачу данных и создавать интеллектуальные бизнес-процессы.

     04.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Как использовать PyMySQL с Django

Об использовании альтернативной библиотеке для MySQL/MariaDB

     04.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Typed Functional Dependency Injection

Dependency Injection с учетом типов

     04.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Обучение и оценка модели с Keras

Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях:

 

  • При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использование встроенных циклов обучения и оценки»
  • При написании кастомных циклов с нуля с использованием eager execution и объекта GradientTape. Эти вопросы рассматриваются в разделе «Написание собственных циклов обучения и оценки с нуля».

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

QR генератор на python

Простой генератор qr кодов на python. В статье будет предложена версия консольная и с графическим интерфейсом

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Авто-дополнение кода и проверка типов для boto3

Сейчас мало кто пишет большие проекты на Python без аннотации типов. Это и просто, и позволяет отловить кучу ошибок еще на этапе написания кода, да и работает очень шустро. Но стоит добавить в зависимости boto3, и mypy начинает пестрить сообщениями о том, что аннотаций типов для boto3 не существует в природе.

 

Не страшно, существует же официальный генератор аннотаций для boto3 botostubs. Только он официально не выпускался, не обновляется и с mypy не работает.

Есть и замечательный boto3-type-annotations, но тоже немного заброшен, и поддержки mypy всё еще нет.

Как же проверять типы для boto3, а бонусом получить автодополнение кода?

     03.02.2020       Выпуск 320 (03.02.2020 - 09.02.2020)       Статьи

Python для тестировщика: как маленькие скрипты c pandas помогают в тестировании больших наборов данных

Я работаю тестировщиком на проекте, суть которого состоит в сборе и хранении различных данных и формировании на их основе разных отчетов и файлов-выгрузок. При формировании таких отчетов учитывается большое количество условий для отбора данных и поэтому при тестировании приходится много работать с SQL-запросами в БД. Но для проверки правильности отбора данных и поиска лишних/пропавших данных этого зачастую не хваетает, поэтому пришлось искать дополнительные инструменты для этого.

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