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

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

     24.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

timeoutcontext - timeout context manager

Модуль реализован на основе модуля signal

from timeoutcontext import timeout, TimeoutException
from time import sleep

try:
    with timeout(1):
        sleep(2)
except TimeoutException:
    print('timeout')

     23.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

simiki - простой wiki framework

Демо по ссылке http://demo.simiki.org/

     22.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

easy-class - модуль для создание классов с проверкой типов

from easy_class import EasyClass, StringVariable, IntegerVariable


class MyClass(EasyClass):
    attr1 = IntegerVariable()
    attr2 = StringVariable()

     20.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

django-vimeo - приложение для вставки vimeo видео

{% load django_vimeo_tags %}

The video tag:
{% vimeo instance.video width=600 as video %}
   <video width="600" loop="loop" autoplay="autoplay" poster="{{ video.optimal_picture.link }}">
       <source src="{{ video.optimal_file.link_secure }}" type='{{ video.optimal_file.type }}'>
       {% trans 'tag "video" not supported by your browser' %}
       <a href="{{ video.optimal_download.link }}">{% trans 'download video' %}</a>.
   </video>
{% endvimeo %}

Or embed shortcut:
{% vimeo instance.video width=600 %}

     20.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

pickleshare - небольшая 'shelve'-like БД с поддержкой параллельных запросов

from pickleshare import *
db = PickleShareDB('~/testpickleshare')
db.clear()
print "Should be empty:",db.items()
db['hello'] = 15
db['aku ankka'] = [1,2,313]
db['paths/are/ok/key'] = [1,(5,46)]
print db.keys()

     20.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

zini - парсер INI-файлов с поддержкой схем и типов

Библиотека поддерживает несколько базовый типов данных. Ниша библиотеки - хранение сложных структур данных

     19.01.2016       Выпуск 109 (18.01.2016 - 24.01.2016)       Интересные проекты, инструменты, библиотеки

streamexpect - кроссплатформенная библиотека для потоков и сокетов

import serial
import streamexpect

# timeout=0 is essential, as streams are required to be non-blocking
ser = serial.Serial('COM1', baudrate=115200, timeout=0)

with streamexpect.wrap(ser) as stream:
  stream.write('\r\nuname -a\r\n')
  match = stream.expect_bytes('Linux', timeout=1.0)
  print(u'Found Linux at index {}'.format(match.start))