Выпуск 90

(07.09.2015 - 13.09.2015)

pythondigest.ru: Выпуск 90

Новости

      PEP-498 утвержден!

Этот PEP значительно расшряет возможности к формирования строк. Изучите этот стандарт, он сломает вам мозг :)

Конференции, события, встречи разработчиков

      PYCON RUSSIA 2015: финальное расписание

18-19 сентября в Екатеринбурге пройдет одно из самых ярких событий python-сообщества — конференция PYCON RUSSIA. 21 доклад от ведущих python-разработчиков из США, Франции, Германии, Чехии, Украины и России, два мастер-класса, Lightning Talks — и это только в официальной части. У вас есть еще неделя, чтобы посмотреть на программу этого года, купить билет и приехать в Екатеринбург. Все подробности ниже. 

      Подкаст Python Tesing 004 - Test Fixtures: Setup, Teardown и многое другое

Новый выпуск подкаста Python Tesing. В этом выпуске будет много слов про фикстуры.

Статьи

      Старый новый pywinauto: автоматизация Windows GUI на Python на примере install/uninstall

Однажды, в процессе поиска инструмента для автоматизации GUI тестирования, мне попался интересный питоновский пакет pywinauto. И хотя он поддерживает только нативные контролы и частично Windows Forms, для наших задач он вполне подошёл. История pywinauto берёт своё начало где-то в районе 1998 года, когда Mark McMahon написал для своих нужд GUI Automation утилиту на языке C (на это потребовалось года два), а затем, уже в 2005-м, переписал её на Python за три месяца. Мощь питона проявила себя во всей красе: интерфейс pywinauto получился простым и выразительным. Инструмент активно развивался с 2006 по 2010. В годы затишья, в 2011-2012 добрый человек moden-py написал GUI helper для просмотра иерархии окон и генерации pywinauto кода под названием SWAPY. Тем временем мир менялся. Наша команда перешла на 64-битные бинарники, и клон pywinauto заработал на 64-битном Python. В основной ветке проект не развивался четыре года и порядком устарел. В 2015 году с согласия Марка удалось вдохнуть в проект новую жизнь. Теперь pywinauto официально живёт на гитхабе, а во многом благодаря камраду airelil модульные тесты бегают на CI сервере AppVeyor. 

      Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 3

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

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

      Программа-помощник для освоения слепой печати на клавиатуре в Linux

Хочу показать и рассказать о небольшой программке, которая принесла пользу.

Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?

Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился. В итоге получилось вот что: Кому интересно, подробности ниже 

      Пишем Webkit браузер на Python

Статья рассказывает как с помощью PyQt4 написать свой браузер.

      Давайте напишем простой интерпретатор. Часть 4

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

Это уже 4 чая часть прекрасного цикла статей.

      Диагностируем "утечки" памяти в Python

Статья рассказывает как проблемы могут вызвать утечки памяти и как их можно искать.

      Группируем одинаковые приложения из разных магазинов по иконке

Однажды случилось мне несчастье обратить свой взор на одну заманчивую вакансию. Все бы ничего, но, как обычно, подкинули тестовое задание. Если кратко, то нужно было сгруппировать ссылки на одно и тоже приложение в разных маркетах. По ссылкам были такие приложения как Skype, Skype WiFi, Skype Qik, Viber, и две игры с одинаковым названием Skyward. Среди магазинов были Google Play, App Store и маркет Windows Phone. В задании было так же описание граблей, мол, не надо особо привязываться на названия приложений, название компании разработчика и т.д. «Но ведь одинаковые приложения легко узнаваемы на разных платформах тупо по иконке» — подумал я, и полез выяснять детали. Но не все так просто.

      word2vec & doc2vec: Анализ тональности на Python

Статья рассказывает о применении современных средств NLP для анализа тональности.

      Snaql. Raw SQL в Python-проектах

Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая — не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.
 

      Скачивание музыки из VK, используя VK api и Python3

Ещё совсем недавно было первое июня, а тут уже первое сентября. Осень на дворе.

Да, недавно тоже так отвернулся, а очнулся — Mail поглотил VK. И началось: видео без рекламы не посмотришь, музыку не послушаешь — запретили правообладатели. Ходят слухи, что вообще запретят. Почуял неладное. А тут как раз такое время года. Вот и подумал, а почему бы мне не собрать свои запасы? Законсервирую свою музыку на своём компе, перекину на диск — слаще любого варенья будет! А поможет мне в этом, как не странно, сам ВК, а точнее — его api. А ещё третий python, встроенная библиотека urllib и библиотека по работе с данным в формате json.

      Управление параметрами Python скрипта

Статья подробно описывает как использовать argparse. Статья - своего рода компиляция опыта использования параметров для запуска скриптов

      Композиция функция в Python

Знаете выражение f(g(x)) = f ∘ g(x)? И не знаете как такие записи можно реализовать на Python, тогда эта статья расскажет.

      Быстрое введение в нейронные сети

Статья по шагам рассказывает как создать свою первую нейронную сеть

      Как парсить бинарные данные с помощью vstruct

Это вводная статья о использовании vstruct для обработки бинарных данных.

Основная "фишка" этого модуля - декларативное описание обработки.

      Анализ данных: пять способов сделать интерактивные карты

Статья описывает как можно с помощью Python и d3.js реализовать интерактивные карты.

      Временные карты: визуализация дискретных событий во многих временных масштабах

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

      Добавляем Google Oauth2 вход в свое flask web приложение

По ссылке вы найдете готовый код для подключения Oath2 от Google в ваше Flask приложение.

      Определяем размытие на изображении

Статья рассказывает как с помощью opencv можно определить размытие на изображении

      Анализ комментариев с Reddit с помощью Dask и Castra

Новая статья про анализ данных. В этой статье анализируются комментарии с сайта Reddit

      Начинаем работать с API на Python

Процесс использования API сопряжен с некоторыми трудностями. Это статья рассказывает с какими, также вы найдете ответ на вопрос как начать использовать API популярных сервисов. 

      Сравнение Argparse, Docopt, и Click - библиотек для создания консольных утилит

В статье вы найдете подробный анализ базовых возможностей библиотек для создания консольных утилит

      Реализуем горячие звонки с помощью Python, Flask и Twilio Voice

Сейчас очень популярно встравивать в свой сервис возможность "Оставьте номер, мы вам перезвоним через N секунду". Эта статья покажет, как можно реализовать подобный функционал на  Python, Flask и Twilio Voice  

      Python или Perl быстрее чем R?

Короткая статья в которой вы найдете ответ какой язык на практике быстрее Python или R

      Создаем красивый REST API на Flask

Это длинная презентация в которой вы найдете очень подробное описание как сделать REST API на Flask. Рассмотрены самые различные аспекты этого процесса.

Советуем

      Последовательности против итераторов против генераторов

Маленький карманный справочник по последовательностям, итераторам и генераторам.

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

      BDA_py_demos - репозиторий демонстраций для книги Bayesian Data Analysis

Книга Bayesian Data Analysis ведет повествование про использование Python для анализа данных. А в данном репозитории вы найдете код из этой книги

Колонка автора

      Полезные библиотеки: funcy - набор конструкций, которые упрощают код

Есть ряд модулей, которые стоит ставить первыми. Этот набор у каждого свой.
В моем наборе есть место для funcy.
funcy - это набор мелких полезностей при работе с данными.
Например, можно создать бесконечный список,...[Продолжение]

      Учебные материалы: Python. Подробный справочник

Не так редко спрашивают "Какую книжку почитать". Ответить на такой вопрос не просто, ибо зависит от человека. Однако, есть и универсальные книги - справочники. Сегодня хочу представить аннотацию к книге - Python. Подробный справочник от...[Продолжение]

      Тесты тесты тесты: coverage - узнаем сколько процентов кода покрыто тестами

Юнит-тесты хороши, когда покрывают весь ключевой код. Однако если проект чуть больше, чем "Hello, world!", то оценить степень покрытия весьма проблематично. Существуют инструменты, которые помогают это делать. Например - ...[Продолжение]

      Hardcore Python: Конкурентность в Питоне с нуля. Вживую

http://www.youtube.com/watch?v=ys8lW8eQaJQ">http://www.youtube.com/watch">http://www.youtube.com/watch?v=ys8lW8eQaJQ

      Синтаксис Python: генераторы

Генераторы это итерируемые объекты, которые можно прочитать лишь один раз. Это связано с тем, что они не хранят значения в памяти, а генерируют их на лету:
»> mygenerator = (x*x for x in range(3))
»> for i in mygenerator...[Продолжение]

      Таинство стандартной библиотеки: textwrap для сокращения текста

При работе над Python Дайджестом - http://pythondigest.ru/ ">http://pythondigest.ru/ а именно при работе над "Колонкой автора"...[Продолжение]

      Извлечение информации: скачиваем список ссылок с помощью asyncio

Порой возникают рутинные задачи, которые не хочется делать руками. Примером такой задачи может являться - скачать множество страниц по ссылкам. Если 5 ссылок еще вручную сохранить можно, а если их 1000? или 6250, как было в моем случае....[Продолжение]

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

      Реализация блочного шифра Simon и Speck

Этот репозиторий содержит код для реализации блочного шрифта Simon и Speck. Что это такое вы можете узнать по ссылке

      Django JET - обновление панели администратора Django

Современное обновление панели администратора Django с дополнительной и улучшенной функциональностью

      ped - небольшая утилита, которая унифицирует открытие файлов в редакторе

Эта утилита позволяет открыть Python модуль в вашем редакторе (какой редактор - указывается в конфиге).

      Dangler - скрипт, который превращает html только с открытыми тегами в текст с закрытыми

Скрипт умеет превращать:

<!DOCTYPE html>
<html>
   <body>
       <div>
           Here is some content

В код:

<!DOCTYPE html>
<html>
    <body>
        <div>
            Here is some content
        </div>
    </body>
</html>

      Искрографик на pandas dataframe

Эта статья расскажет как создать такие графики:

IndexDayValueChange
Dow Jones
10765.45−32.82 (−0.30%)
S&P 500
1256.92−8.10 (−0.64%)
Example sparklines of the Dow Jones Industrial Average and S&P 500 on February 7, 2006

      channels - дружественная асинхронность для Django

Модуль расширяет привычную работу Django (request -> response) добавляя возможность писать асинхронный код для синхронного Django

      sync-engine - Nylas — email платформа нового поколения

Nylas обеспечивает современную платформу для приложений с электронной почтой, контактами, и календарем. 

Релизы

      Релиз LibreOffice 5.1 добавил больше возможностей в PyUNO

Теперь в LibreOffice работать с UNO объектами стало более питонячим. Как именно? По ссылке доступен Changelog

      Релиз python-oauth2 после 4 лет не активности

Этот релиз добавил поддержку Python 3


Нас поддерживает


Python Software Foundation



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

Пиши: mail@pythondigest.ru

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

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

Система Orphus