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

Собираем в одном месте самые важные ссылки.
консультируем про Python

Python Дайджест. Выпуск 124

(02.05.2016 - 08.05.2016)

uvloop - (asyncio + libuv)

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

поделиться выпуском 
Дайджест python,

Статьи

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

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

  Debugger Interview с PyDev и PyCharm PyCharm debug PyDev interview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Видео

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

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

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

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

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

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

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

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

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

  SPA на Django + React.js Django React SPA

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

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

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

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

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

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

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

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

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

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

  databench - Realtime data analysis tool. Flask websocket data analysis

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

Релизы

  ptpython - 0.34

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

  aiohttp - 0.21.6

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

  django-extensions - 1.6.7

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

  Анонс Scrapy Cloud 2.0 scrapy scraping

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