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

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

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы

pymongo - 2.9.1

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9.1. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     03.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы

virtualenv - 14.0.4

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

     02.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Новости

С юбилеем: Scrapinghub исполняется 5 лет

Scrapinghub - компания, которая поддерживает несколько инструментов для парсинга. По ссылке вы найдете планы на будущее

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

django_minimal_log - небольшой сервер и клиент для логгирования на основе Django

Проект представляет собой Django-модуль, который позволяет организовать агрегацию логов на основе Django.

Django выступает в роли сервера, который принимает запросы логгирования, а клиент отправляет POST запросы на этот сервер.

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

CFFIpp - CFFI модуль для вызова из C++ кода в Python

ffi = FFIpp()
ffi.cdef("""
    class testClass {
    public:
        testClass();
        void test(int);
        int returnsInt(int);
    private:
        void shouldNotBeInModule();
    };
    """)
self.assertTrue(ffi.has_class("testClass"))

ffi.set_source("example_module", """
    class testClass {
    public:
        testClass(){}
        void test(int){/*nop*/}
        int returnsInt(int){return 1;}
    private:
        void shouldNotBeInModule() {/*nop*/}
    };""")
ffi.compile()
import example_module
c = example_module.testClass()
self.assertEqual(c.returnsInt(5), 1)

     01.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы
     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