Выпуск 124

(02.05.2016 - 08.05.2016)

uvloop - (asyncio + libuv)

Тенденция недели

pythondigest.ru: Выпуск 124

Статьи

      Uvloop (asyncio): молниеностный Python в сети asyncio

Спустя несколько месяцев разработки был представлен рабочий вариант loop'а для asyncio на основе libuv. В статье вы найдете информацию о том какой был получен прирост.

      Вышел uvloop — продвинутая реализация цикла событий для asyncio в Python asyncio uvloop libuv

В стандартной библиотеке Python 3.4 в своё время появился модуль asyncio, позволивший удобно и быстро писать асинхронный код. А уже к Python 3.5 в синтаксис были добавлены конструкции async/await, окончательно оформившие асинхронность «из коробки» как красивую и гармоничную часть языка.

Один из авторов упомянутого PEP-492 (async/await) Юрий Селиванов (на Хабре — 1st1его твиттер) взялся за разработку альтернативной реализации цикла событий для asyncio — uvloop. Вчера вышла первая альфа-версия модуля, о чём автор написал развёрнутый пост.

Если вкратце, то uvloop работает примерно в 2 раза быстрее Node.js и практически не уступает программам на Go.

      Debugger Interview с PyDev и PyCharm debug interview PyCharm PyDev

Команда PyCharm взяла интервью у двух разработчиков ( Fabio Zadrozny, creator of PyDev, and Dmitry Trofimov, Team Lead for PyCharm) - всячески помучала разными вопросами по поводу дебаггеров

      Чем заменить ELK для просмотра логов? ELK sentry logging

Что обычно делает python-программист, когда его отправляют воевать с ошибкой?
Сначала он лезет в sentry. Здесь можно найти время, сервер, подробности сообщения об ошибке, traceback и, может быть, какой-нибудь полезный контекст. Затем, если этих данных недостаточно, программист идет c бутылкой к админам. Те залезают на сервер, ищут это сообщение в файловых логах, и, может быть, находят его и некоторые предшествующие ошибке записи, которые в редких случаях могут помочь в расследовании.
А что делать, если в логах только loglevel=ERROR, а ошибка настолько крута, что ее локализация требует сопоставления логики поведения нескольких различных демонов, которые запущены на десятке серверов?

      Как отслеживать Google Analytics pageviews с помощью non-web запросов Web development Django Mozilla

Статья рассказывает как можно обманывать Google Analytics

      Meduza.io: а как же лайки?

Как-то раз, читая новости на Медузе, я обратил внимание на то, что у разных новостей разное соотношение лайков из Facebook и ВКонтакте. Какие-то новости мегапопулярны на fb, а другими люди делятся только во ВКонтакте. Захотелось присмотреться к этим данным, попытаться найти в них интересные закономерности. Заинтересовавшихся приглашаю под кат! 

      Как подружить Slack и VK с помощью Python? Slack VK API

Slack обладает прекрасным потенциалом расширения стандартных возможностей. Но, на практике возникают сложности с интеграцией некоторых соц. сетей в чаты. Для того, чтобы подружить Вконтакте и Slack мы воспользуемся Python и API. Ниже будет рассматривать базовый рецепт того, как сделать так, чтобы Slack-бот мог получать данные по последним комментариям из постов на стенах сообществ или групп Вконтакте. 

      Как использовать API сайта, когда его нет

В этой статье мы разберем, как получить и использовать API сайта, если по нему нет документации или оно еще не открыто официально. Руководство написано для новичков, которые еще не пробовали зареверсить простой API. Для тех же кто сам занимался подобным ничего нового здесь нет. Разбор проведем на примере API сервиса https://www.captionbot.ai/ который недавно открыл Microsoft (спасибо им за это). Многие могли прочитать о нем в статье на Geektimes. Сайт использует ajax запросы в формате JSON, поэтому скопировать их будет легко и приятно. Поехали! 

Видео

      Ctypes в игровых приложениях на Python games ctypes steam

Не секрет, что Питон, благодаря своим свойствам, имеет широчайшую область применения. Не являются исключением и мультимедийные (в том числе игровые) приложения. В ходе этого выступления: 1. вы узнаете о некоторых средствах и принципах их построения, а также о том, как упомянутые средства могут использовать функции внешних библиотек, написанных на других языках программирования; 2. а я получу, наконец, достижение из одной известной игры, не запуская её.

      Как Python Дайджест работает с внешней статикой PyNSK

В мини-докладе я рассмотрю простой велосипед (django-remdow), который позволяет в автоматическом режиме скачивать внешнюю статику. А также приведу простые инструменты для автоматической оптимизации вашего сайта.

      Python масштабирование: удобная правда PySpark Hadoop data analysis scalability Spark

Travis Oliphant рассматривает базовые понятия, которые необходимы для масташирования Python и развеивает мифы о пределах производительности. Travis рассмотрит распространенные проблемы, которые возникают при интеграции Python с Hadoop и Spark. Будет продемонстированы примеры реального кода

      Behave + Selenium Webdriver для тестирования web-проектов

Современные веб-проекты представляют из себя совсем не набор статических страниц, что повышает сложность их функционального тестирования. В докладе будет рассмотрена связка инструментов behave+webdriver, способе их применения, возможные проблемы и пути их решения.

Учебные материалы

      SPA на Django + React.js SPA Django React

Вкратце. Для того, чтобы сделать модное одностраничное приложение, нужно: создать REST-API; настроить систему сборки для фронтэнда; написать скрипты и стили. Всего-то навсего.

Интересные проекты, инструменты, библиотеки

      toil - движок для написания workflows

Масштабируется, работает с разными кластерами и системами. Production-ready штука

      databench - Realtime data analysis tool. websocket data analysis Flask

Пакет предоставляет web-интерфейс на flask+d3.js и вебсокетах для анализа данных в реальном времени.

      httptools - быстрый HTTP parser libuv

Эта библиотека использовалась в бенчмарке libuv+asyncio

      RouterSploit - аналог Metasploit для роутеров

Подробности о библиотеке на русском языке в журнале Хакер - https://xakep.ru/2016/04/27/routersploit/

      manylinux - wheels, которые работают на (почти) любом linux pip wheels PEP pypi

Это важная веха в развитии Python. Стоит следить за этим репозиторием и связанными PEP'ами

Релизы

      aiohttp - 0.21.6

http клиент/сервер для asyncio. Изменения описаны по ссылке https://allmychanges.com/p/python/aiohttp/#0.21.6. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp/

      Анонс Scrapy Cloud 2.0 scrapy scraping

Scrapy Cloud был с ScrapingHub с самого начала, но мы решили провести небольшую уборку. С этой целью мы с гордостью рады объявить о Scrapy Cloud 2.0. Это обновление поможет улучшить и расширить свои web scraping проекты. 

      django-extensions - 1.6.7

Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.6.7. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions

      ptpython - 0.34

Хороший REPL для Python. Изменения описаны по ссылке https://allmychanges.com/p/python/ptpython/#0.34. Скачать можно по ссылке: https://pypi.python.org/pypi/ptpython

      Mypy 0.4 mypy





Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus