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

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

     08.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Колонка автора

Синтаксис Python: strip, rstrip, lstrip

Не редко возникает задача убрать лишние пробелы с начала/конца строки. Например

a = 'Доброе утро, Иван'
message, name = a.split(',') 
print(name)
> ' Иван' # (лишний пробел сначала строки)

     08.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Калибровка Kinect v2 с помощью OpenCV на Python

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

До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего, а еще нам нужна популярная статья для галочки в отчетности.

     08.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Интересные проекты, инструменты, библиотеки

vycro - обертка над VBA для Microsoft Excel.

from vycro import MacroWrapper

mw = MacroWrapper()
wb_kwargs = {"ReadOnly":"True"}
m_args = ["arg1", "True", "111"]
with mw.open_workbook("/full/path/with.extension", **wb_kwargs):
    mw.run_macro("macro_name", *m_args)  # See declaration for function args

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Django: Как быстро получить ненужные дубликаты в простом QuerySet

Только что обнаружил интересный баг (баг с точки зрения человеческой логики, но не машины), и решил им поделиться с сообществом. Программирую на django уже довольно долго, но с таким поведением столкнулся впервые, так что, думаю, кому-нибудь да пригодится. Что ж, к делу!

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Разбираемся с бинарными данными на Python

Статья содержит довольно подробный вводный материал для работы с бинарными данными. Рассказывается про Bytearray, как читать бинарные данные, как конвертировать между типами данных, как использовать struct

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Интересные проекты, инструменты, библиотеки

nzbhydra - мета-поиск по NZB индексаторов

NZB - это XML формат для пересылки постов из Usenet'а

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Интересные проекты, инструменты, библиотеки

braindump - исходники органайзера заметок - https://braindump.pw/

Проект https://braindump.pw/ - это органайзер заметок

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Используем JSON Schema для валидации JSON данных

Статья описывает использование JSON Schema для валидации JSON данных на Python

Аналогичный подход можно применять для валидации XML данных.

     08.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Релизы

cffi - 1.3.1

Интерфейс для вызова C-кода. Изменения описаны по ссылке https://allmychanges.com/p/python/cffi/#1.3.1. Скачать можно по ссылке: http://pypi.python.org/pypi/cffi/

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Релизы

virtualenv - 0.8

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

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Релизы

kombu - 3.0.27

Фреймворк для работы с AMQP. Изменения описаны по ссылке https://allmychanges.com/p/python/kombu/#3.0.27. Скачать можно по ссылке: http://pypi.python.org/pypi/kombu/

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Релизы

redis - 2.10.5

Python клиент для Redis. Изменения описаны по ссылке https://allmychanges.com/p/python/redis/#2.10.5. Скачать можно по ссылке: http://pypi.python.org/pypi/redis/

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Релизы

django-extensions - 1.5.8

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

     06.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Интересные проекты, инструменты, библиотеки

cinje - шаблон движка DSL

Движок позволяет очень просто писать свои DSL

     05.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Статьи
     05.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Интересные проекты, инструменты, библиотеки

Confit - система конфигурации на YAML

Confit - предоставляет общий API для конфигов. Конфиги можно комбинировать из нескольких файлов.