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

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

     29.03.2016       Выпуск 119 (28.03.2016 - 03.04.2016)       Интересные проекты, инструменты, библиотеки

django-enums - EnumField для Django модели

from django.db import models
from django_enums import enum

class MyEnum(enum.Enum):

    __order__ = 'FOO BAR FOOBAR' # for python 2

    FOO = ('f', 'Foo')
    BAR = ('b', 'Bar')
    FOOBAR = ('fb', 'FooBar')


class MyModel(models.Model):

    enum_field = enum.EnumField(
        MyEnum, # required
        default=MyEnum.FOO, # optional
        )

     28.03.2016       Выпуск 119 (28.03.2016 - 03.04.2016)       Интересные проекты, инструменты, библиотеки

tsukkomi - простой модуль для проверки typing типов в Runtime

Используются аннотации и модуль typing. Т.е. только для 3.3+

     26.03.2016       Выпуск 118 (21.03.2016 - 27.03.2016)       Интересные проекты, инструменты, библиотеки

yoton - декоратор добавляющий кэш для функций

@yoton.cache(key_pattern="dummy_cache_key", expire_seconds=60)
def dummy_func():
    return "hello"

>> dummy_func()  # call the function
"hello" set in the cache

     26.03.2016       Выпуск 118 (21.03.2016 - 27.03.2016)       Интересные проекты, инструменты, библиотеки

python-diskcache - кэш на базе файлов для Python

In [1]: import pylibmc
In [2]: client = pylibmc.Client(['127.0.0.1'], binary=True)
In [3]: client[b'key'] = b'value'
In [4]: %timeit client[b'key']

10000 loops, best of 3: 25.4 µs per loop

In [5]: import diskcache as dc
In [6]: cache = dc.Cache('tmp')
In [7]: cache[b'key'] = b'value'
In [8]: %timeit cache[b'key']

100000 loops, best of 3: 11.8 µs per loop