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

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

     02.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

django-github-webhook - обрабатываем GitHub webhook на Django

Модуль позволяет принять Github webhook для последующей удобной обработки

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Видео

Django tutorial

Дельные видосы от sentdex по питону на английском языке. Недавно стартовала серия уроков по джанго. Уровень 0+

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Статьи

collections — Container Data Types — PyMOTW 3

Модуль collections содержит разные типы коллекций по-мимо встроенных list, dict, tuple

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

keyboard - перехват и симуляция нажатий на клавиатуру на Windows и Linux

import keyboard

# Press PAGE UP then PAGE DOWN to type "foobar".
keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar'))

# Blocks until you press esc.
wait('esc')

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

djangocms_portfolio - приложение "Портфолио" для djangoCMS

Модуль содержит набор моделей, view's. Можно адаптировать под обычную Django

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Статьи

Сериализация объектов в Python (schematics + ciso8601)

Статья описывает способы ускорить сериализацию объектов - уменьшить вариативность данных, убрать валидацию, использовать С библиотеки.

     31.01.2016       Выпуск 110 (25.01.2016 - 31.01.2016)       Интересные проекты, инструменты, библиотеки

dtags - утилита для сохранения путей до git репозиториев в виде тегов

~$ tag ~/frontend @frontend
~$ tag ~/backend @backend
~$ tag ~/frontend ~/backend @work
~$ tag ~/db @vm
~$ tag ~/web @vm

# Or equivalently
~$ tag ~/frontend @frontend @work ~/backend @backend @work ~/db ~/web @vm

# All tag names must begin with the @ symbol
# Execute 'git fetch origin' in all directories tagged @project
~$ run @project git fetch origin

# Execute 'git status -sb' in all directories tagged @frontend and @backend
~$ run @frontend @backend git status -sb

# Execute 'vagrant status' in all directories tagged @vms
~$ run @vms vagrant status

# Directory paths can be specified along with tags
~$ run @backend ~/scripts ~/redis ls -la

# The command can be executed in parallel as long as it doesn't wait for input
~$ run -p @backend 'sleep 5 && echo done'
~$ run -p @project git pull
~$ run -p @vms vagrant up

     31.01.2016       Выпуск 110 (25.01.2016 - 31.01.2016)       Релизы

Pyramid 1.6

Вышла новая версия веб фреймворка Pyramid. Из особенностей можно отметить поддержку Cache busting.

     31.01.2016       Выпуск 110 (25.01.2016 - 31.01.2016)       Интересные проекты, инструменты, библиотеки

Signaller - реализация механизма "сигналы-слоты" с поддержкой asyncio

from signaller import Signal

logging.basicConfig(level=logging.DEBUG)

def slot(arg):
    print('slot:', arg)

# Creating signals (you can set signal name, but it is not required,
# signals can be anonymous):
sig_test = Signal('sig_test')

# Connecting signals to slots (uses weak references by default,
# but you can force strong references by specifying weak=False):
sig_test.connect(slot)
sig_test.connect(lambda arg: print('slot_lambda:', arg), weak=False)

# You can also use decorators for connecting signals to slots:
@sig_test.connect
def slot2(arg):
    print('slot2:', arg)

# And weak=False can be specified when using decorators too:
@sig_test.connect(weak=False)
def slot3(arg):
    print('slot3:', arg)

# Slots are automatically disconnected from signals
# when using weak references:
del slot2

# Or you can disconnect slots manually:
sig_test.disconnect(slot3)

# Emitting signals (you can send positional and keyword
# arguments to connected slots):
sig_test.emit('Hello world!')

     31.01.2016       Выпуск 110 (25.01.2016 - 31.01.2016)       Интересные проекты, инструменты, библиотеки

mattermost_bot - простой бот для MatterMost

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

Мы консультируем по написанию ботов - обращайтесь https://t.me/axsapronov. Подскажем как разработать бота наиболее быстро