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

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

     27.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Интересные проекты, инструменты, библиотеки

categorical_encoding - набор различных кодеров для sklearn

import category_encoders as ce

encoder = ce.BackwardDifferenceEncoder(cols=[...])
encoder = ce.BinaryEncoder(cols=[...])
encoder = ce.HashingEncoder(cols=[...])
encoder = ce.HelmertEncoder(cols=[...])
encoder = ce.OneHotEncoder(cols=[...])
encoder = ce.OrdinalEncoder(cols=[...])
encoder = ce.SumEncoder(cols=[...])
encoder = ce.PolynomialEncoder(cols=[...])

     26.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Интересные проекты, инструменты, библиотеки

bytecode - модуль для модификации байткода

from bytecode import Instr, Bytecode

bytecode = Bytecode()
bytecode.extend([Instr("LOAD_NAME", 'print'),
                 Instr("LOAD_CONST", 'Hello World!'),
                 Instr("CALL_FUNCTION", 1),
                 Instr("POP_TOP"),
                 Instr("LOAD_CONST", None),
                 Instr("RETURN_VALUE")])
code = bytecode.to_code()
exec(code)
Hello World!

     25.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Интересные проекты, инструменты, библиотеки

syncer - преобразуем асинхронные функции в синхронные

from syncer import sync
async def async_fun():
    ...
    return 1
b = sync(async_fun)  # now b is synchronous
assert 1 == b()

     25.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Интересные проекты, инструменты, библиотеки

workdir - изолированный временный файл

import workdir
import shutil
workdir.options.path = '~/.myfilecache'
with workdir.as_cwd():
    download_remote_archive('somefile')
    unpack_archive('somefile', 'somedir')
shutil.copy(workdir.path_to_file('somedir', 'unpackedfilefromarchive'),
            os.path.join('otherdir', 'unpackedfilefromarchive'))