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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE


Новый материал в ленте
  How to Drop Null Values in pandas

Learn how to use .dropna() to drop null values from pandas DataFrames so you can clean missing data and keep your Python analysis accurate.


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

(20.03.2017 - 26.03.2017)

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

Статьи

  Соревнование mlbootcamp от mail.ru, кратко о рецепте второго места

Добрый день, читатель! Данная статья расскажет о пути получения второго места на соревновании MLBootCamp III. Для тех, кто не в курсе — это соревнование по машинному обучению и анализу данных от Mail.Ru Group, проходило с 15 февраля по 15 марта.

В статье будет коротко про историю построения решения, немного советов про то, на чем набил шишек и благодарности) Итак, поехали. 

  Обзор uniset2-testsuite — небольшого велосипеда для функционального тестирования. Часть 2

В первой части был обзор возможностей. А в этой части рассмотрим, какие уже реализованы интерфейсы тестирования и как добавить свой…

  Как использовать generic relations для одного поля в разных моделях Django

В Django есть интересная функциональность - Generic Relation и Generic Foreign Key. В статье автор покажет, как использовать эти конструкции, чтобы добавить одинаковое поле в совершенно разные модели, а потом делать выборки по этому полю.

  Нерегулярные ошибки в импортах

Сегодня я поделюсь очередной болью в поддержке проекта на 0.7 милионов строчек кода на Python'е. Кажется, с этим багом в разных формах мы сталкиваемся уже несколько лет, и он приводит в совершенное замешательство даже опытных разработчиков.

  Переводы документации Python

О новом предложении по улучшению Питона.

  Переработка авто-подстановки для Django Django

Автор рассказывает, как можно реализовать авто-подстановку элементов из БД для Django.
 

  Molotov - нагрузочное тестирование в Mozilla

В статье вы найдете описание пакета для нагрузочного тестирования - Molotov

  Предсказываем будущее с помощью библиотеки Facebook Prophet

Прогнозирование временных рядов — это достаточно популярная аналитическая задача. Прогнозы используются, например, для понимания, сколько серверов понадобится online-сервису через год, каков будет спрос на каждый товар в гипермаркете, или для постановки целей и оценки работы команды (для этого можно построить baseline прогноз и сравнить фактическое значение с прогнозируемым).

  Вызов функций Go из других языков

 

В статье мы рассмотрим компилирование пакетов Go в библиотеки Си. В этом режиме сборки компилятор генерирует стандартный бинарный файл объекта (shared object) (.so), передавая функции Go в качестве API в стиле Си. Мы поговорим о том, как создавать библиотеки Go, которые можно вызывать из C, Python, Ruby, Node и Java.

  Как получить координаты маршрута между двумя городами в Python

Представим, что нам нужно получить координаты маршрута между Винницей и Одессой. Для этого воспользуемся Google Directions API и модулем googlemaps.

  Yapf — причесываем код Python автокорректором

В эпоху все большей популярности различных js и css linter'ов, не удивительно появление удобного линтера с автокоррекцией для Python.

Приветствуйте, Yapf — готовое решение, для превращения каши из строк во вполне читаемый код. И поверьте, он вам пригодится.

  Как я SQLAlchemy удобной сделал SQLAlchemy

Не секрет, что SQLAlchemy — самая популярная ORM на Python. Она позволяет писать куда более продвинутые вещи, чем большинство Active Record собратьев. Но плата за это — более сложный код, и в простых задачах вроде CRUD это напрягает.

О том, как я сделал Алхимию удобной, воспользовавшись опытом лучших Active Record ORM, читайте под катом.

  Открытый курс машинного обучения. Тема 4. Линейные модели классификации и регрессии

Сегодня мы детально обсудим очень важный класс моделей машинного обучения – линейных.
Ключевое отличие нашей подачи материала от аналогичного в курсах эконометрики и статистики – это акцент на практическом применении линейных моделей в реальных задачах (хотя и математики тоже будет немало).

  Python функции как объекты первого рода

Автор показывает, что функции это тоже объекты и их можно модифицировать, передавать в функции, дергать внутренние методы и тд

  Использование ArcGIS API for Python в Jupiter Notebook

 

Я работаю в департаменте Больших Данных, где занимаюсь разработкой высоконагруженных геоинформационных систем и сервисов на базе движков для распределенных вычислений. О высоких материях мы еще поговорим, а сегодня плавно начнем погружение в ГИС.

Вопросы и обсуждения

  Podcast.__init__ Episode 101 - Crossbar.io с Tobias Oberstein и Alexander Gödde

Подкаст.
Crossbar.io - платформа для распределенных и микросервисных приложений. Реализует протокол  Web Application Messaging Protocol (WAMP).

Видео

  Проектирование абстрактной архитектуры приложения на Python

Александр Ковалёв (Positive Technologies) @ MoscowPython 43

"На материале одного из открытых проектов нашей компании расскажу, как абстрагироваться от конкретных параметров задачи и окружения, чтобы создать универсальный инструмент. Покажу конкретные примеры и поделюсь мыслями".

Слайды: http://www.moscowpython.ru/meetup/43/proektirovanie-abstraktnoj-konfiguriruemoj-arhitek/

  Алексей Кутепов - 18 Оттенков I18N

Алексей Кутепов (Revel Systems) - 18 Оттенков I18N
Слайды: https://www.slideshare.net/AlekseyKutepov/18-i18n

Проекты становятся глобальными, когда этого никто не ждёт. Проблема перевода возникает не только у переводчиков, но и у инженеров. Разговор об основных трудностях перевода с точки зрения Web разработчика. Усвоенные уроки, инструменты и life hacks.
 

  Нагрузочное тестирование сервиса на Python инструментами Яндекса

Дмитрий Кузнецов (Яндекс) @ MoscowPython 43

"Я расскажу о возможностях Tank и Overload — общедоступных инструментов нагрузочного тестирования от Яндекса. Также поговорим о базовых методиках нагрузочного тестирования на примере известных фреймворков".

Слайды: http://www.moscowpython.ru/meetup/43/nagruzochnoe-testirovanie-servisa-na-python-instru/

  «А какой на самом деле этот Python?», Сергей Матвеенко

За последние несколько лет Python, как язык программирования и технология, шагнул так далеко, что люди, которые видели его лет 5 назад, уже безнадежно отстали. Возможности использования Python сейчас сильно преобразились. Senior Developer DataArt Сергей Матвеенко на встрече IT talk в Петербурге рассказывает об эволюции от Python 2 к Python 3.6, статической типизации в разных вариантах и о других современных возможностях разработки на Python. Получилось "с юморком":)

  Docker swarm mode — как с этим жить

Ринат Хабибиев (Zvooq.com) @ MoscowPython 43

"Версия 1.12 подарила адептам Docker возможность разрабатывать автоматически масштабируемые и отказоустойчивые сервисы. Давайте разберём, как это работает, и научимся при помощи Fabricio быстро разворачивать сервисы Docker на произвольной инфраструктуре".

Слайды: http://www.moscowpython.ru/meetup/43/docker-swarm-mode-kak-s-etim-zhit/

  Артем Малышев - Правильные пчёлы

Артем Малышев - Правильные пчёлы
Слайды: http://proofit404.github.io/talks/the-right-bees/slides/

Доклад о многообещающем проекте BeeWare, который находится в стадии интенсивной разработки. Если у вашей программы есть пользователи, то они скорее всего хотят графический интерфейс. Причём хотят они его в родном для платформы исполнении, будь то десктоп, браузер, телефон или умные часы. Целью проекта BeeWare и является эта самая возможность написания изоморфных приложений на Python, используя предоставленные системой возможности. О том как и почему устроен проект и пойдёт речь.

  Антон Шрамко - Обзор Tarantool и его использования в приложениях

Антон Шрамко - Обзор Tarantool и его использования в приложениях
Слайды: http://slides.com/friktor/tarantool

Мы все давно привыкли использовать Redis в качестве основной in-memory базы для наших приложений. В этом докладе будет рассказано о удобной и практичной альтернативе Redis и том, как это можно использовать в Python, а так же зачем это может быть нужно.
 

  Александр Мокров - Асинхронный RPC с помощью Gevent и RabbitMQ gevent

Александр Мокров (Positive Technologies) - Асинхронный RPC с помощью Gevent и RabbitMQ
Слайды: https://www.slideshare.net/AleksandrMokrov/gevent-rabbit-rpc

Я расскажу о том, как мы начали путь постепенного ухода от Celery и о причинах такого решения. Поведаю о первом шаге, в котором мы для более гибкого управления задачами отказались от встроенного workflow и отвязались от БД, используемой для обмена данными между задачами. Более подробно остановлюсь на библиотеке gevent и RabbitMQ, как на их основе построить асинхронный RPC и долгоживущие управляющие задачи, которые помогли нам на этом этапе.

Релизы

  PyDev 5.6.0

Повышена скорость работы отладчика, улучшено выведение типов для методов super() 

  pgcli - 1.5.1

REPL для Postgres. Изменения описаны по ссылке https://allmychanges.com/p/python/pgcli/#1.5.1. Скачать можно по ссылке: https://pypi.python.org/pypi/pgcli/

  Новые релизы PyPy2 и PyPy3 (Python 3.5) PyPy

Были выложены новые версии PyPy2 5.7 и PyPy3 5.7 (с поддержкой Python 3.5 и f строками)

  aiohttp - 1.3.5

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

  lxml - 3.7.4

Мощный и быстрый модуль для обработки XML/HTML. Изменения описаны по ссылке https://allmychanges.com/p/python/lxml/#3.7.4. Скачать можно по ссылке: http://pypi.python.org/pypi/lxml/