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

Собрали в одном месте самые важные ссылки
читайте авторский блог

     24.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

DeepLearningVideoGames - deep learning на видео-играх

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

     24.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

schema - валидация данных с помощью Schema

>>> from schema import Schema, And, Use, Optional

>>> schema = Schema([{'name': And(str, len),
...                   'age':  And(Use(int), lambda n: 18 <= n <= 99),
...                   Optional('sex'): And(str, Use(str.lower),
...                                        lambda s: s in ('male', 'female'))}])

>>> data = [{'name': 'Sue', 'age': '28', 'sex': 'FEMALE'},
...         {'name': 'Sam', 'age': '42'},
...         {'name': 'Sacha', 'age': '20', 'sex': 'Male'}]

>>> validated = schema.validate(data)

>>> assert validated == [{'name': 'Sue', 'age': 28, 'sex': 'female'},
...                      {'name': 'Sam', 'age': 42},
...                      {'name': 'Sacha', 'age' : 20, 'sex': 'male'}]

     24.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

dill - модуль для сериализации всех объектов в Python

Инструмент позволяет сериализовать встроенные типы данных, списки, словари, массивы, функции, классы, модули, встроенные методы и многое другое. 

(Список правда большой)

     23.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

joblib - реализация pipeline в Python

Модуль добавляет возможность организовать pipe's в коде. При этом они будут выглядеть как обычные функции.

Модуль реализован с помощью multiprocessing

     23.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

linty_fresh - автоматизируем code review с помощью lint

Утилита позволяет в автоматическом режиме проверять коммиты с помощью lint

Linty Fresh

     22.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

TwitterPiBot - twitter бот для Raspberry Pi

Бот может самостоятельно отслеживать твитты с определенным хэштегом и читать их.

     22.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

ispy - подключаемся к терминалам и процессам для получения данных

Модуль позволяет подключиться к процессу (по его номеру) и мониторить выходные данные

ispy demo

     21.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

pyautocad - AutoCAD автоматизация на Python

from pyautocad import Autocad, APoint


acad = Autocad()
acad.prompt("Hello, Autocad from Python\n")
print acad.doc.Name

p1 = APoint(0, 0)
p2 = APoint(50, 25)
for i in range(5):
    text = acad.model.AddText('Hi %s!' % i, p1, 2.5)
    acad.model.AddLine(p1, p2)
    acad.model.AddCircle(p1, 10)
    p1.y += 10

dp = APoint(10, 0)
for text in acad.iter_objects('Text'):
    print('text: %s at: %s' % (text.TextString, text.InsertionPoint))
    text.InsertionPoint = APoint(text.InsertionPoint) + dp

for obj in acad.iter_objects(['Circle', 'Line']):
    print(obj.ObjectName)

     21.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Интересные проекты, инструменты, библиотеки

mrfh - реализация logger.RotatingFileHandler для мультипроцессинга

from mrfh import MultiprocessRotatingFileHandler

logger = logging.getLogger('my_logger')
handler = MultiprocessRotatingFileHandler('my_log.log', maxBytes=2000, backupCount=10)
logger.addHandler(handler)

logger.debug('Some debug message!')

     19.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Интересные проекты, инструменты, библиотеки

pyrobuf - реализация Google's Python Protobuf на Cython

pyrobuf - генерирует Cython код для работы с protobuf. Что ускоряет работа библиотеки на чистом Python в 20-40 раз, а С++ реализацию протобафа в 2-4 раза.

> python tests/perf_test.py

Google took 1.649168 seconds to serialize

Pyrobuf took 0.825525 seconds to serialize

Google took 1.113041 seconds to deserialize

Pyrobuf took 0.466113 seconds to deserialize

     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Интересные проекты, инструменты, библиотеки

ntfy - утилита для посылки push notifications


# send a notification
ntfy send "Here's a notification!"

# send a notification with custom title (default is $USER@$HOST)
ntfy send -t 'ntfy' "Here's a notification with a custom title!"

# send a notification when the command `sleep 10` finishes
# this send the message '"sleep 10" succeeded in 0.2 minutes'
ntfy done sleep 10