Полезные библиотеки: freezegun - замораживаем время

В модуле datetime есть now() - метод, который возвращает текущее время. Применяется метод часто, например, создаем новую запись в базе данных - в лог пишем запись от текущего времени.

Вот только такой код оттестировать не всегда просто - иногда надо чтобы now() возвращал конкретное время. Для этого случая есть freezegun:

from freezegun import freeze_time
import datetime
import unittest

@freeze_time("2012-01-14")
def test():
    assert ...
more ...

Полезные библиотеки: где брать модули для django?

Django - самый популярный web-фреймворк для Python. Этому доказательство - количество библиотек расширяющих возможности.

От этого множество авторов пишут статьи с названиями "Мой топ 10 django-модулей", мы не исключение и будем такие писать.

Представим ситуацию, начали проект, придумали функционал, а затем начинаете гуглить готовый модуль. Вот чтобы не гуглить, есть сайт/список awesome-django

http://awesome-django.com/

На этом сайте представлен удачный список ...

more ...

Полезные библиотеки: RPC и nameko

Всем привычно, когда управление и данные внутри программы перемещаются на одной машине. Все хорошо и ясно (в какой-то мере), но что делать если данных становится много и возникает желание распределить вычисления?

Берем 2 компьютера, а дальше... А дальше нам надо как-то из программы на одном компьютере запустить метод на другом, да еще и данные перекинуть. Вот здесь на помощь и ...

more ...

Полезные библиотеки: bokeh - библиотека визуализации данных

Bokeh- это библиотека для интерактивной визуализации адаптированная под отображение в браузере. В этом и суть этой библиотеки.

Image

bokeh имеет биндинги к самым различным языкам - R, Lua, Python, Julia. Вы пишите код визуализации на своем языке, а затем с помощью BokehJS отображаете в браузере. Возможности у инструмента огромные, прям как D3.js

Image

Ссылки для изучения:

more ...

Полезные библиотеки: swig - запускаем C-код из Python

Для работы с С-библиотеками есть несколько способов: - Писать программу на С/C++ и подключать DLL (.so) файлы - Попытаться напрямую запустить C код из нужного языка.

Перед тем как продолжить - зачем нужно запускать C/C++ код? Все просто - например, работаем с железом, а значит и с драйверами (а их пишут на C). Вот здесь и появляется необходимость взаимодействовать с С кодом ...

more ...

Полезные библиотеки: langid.py

Представим ситуацию: есть блог, в котором публикуются посты на двух языках (а может и на 10). Необходимо рассортировать посты по языкам в разные RSS. (постов очень много, пускай 1000)

Вопрос к аудитории - как вы решили бы такую задачу?

Чтобы решить подобную задачу можно воспользоваться библиотекой langid.py. Это небольшой инструмент, который без доступа в Интернет(!!!) может определить язык текста (и ...

more ...

Полезные библиотеки: gensim - библиотека для моделирования над текстами

Gensim - библиотека Python для моделирования, тематическое моделирование документов и извлечения подобия с больших корпусов.

Целевая аудитория является обработка естественного языка (НЛП) и IR сообщество.

В Gensim реализованы популярные алгоритмы НЛП. Например, word2vec. Большинство реализаций алгоритмов умеет использовать несколько ядер.

https://github.com/piskvorky/gensim/

more ...

Полезные библиотеки: funcy - набор конструкций, которые упрощают код

Полезные библиотеки: funcy - набор конструкций, которые упрощают код

Есть ряд модулей, которые стоит ставить первыми. Этот набор у каждого свой. В моем наборе есть место для funcy. funcy - это набор мелких полезностей при работе с данными.

Например, можно создать бесконечный список, объединить список списков, объединение словарей, можно превращать вложенные структуры в плоские и наоборот.

Это не весь список возможностей - а ...

more ...

Полезные библиотеки: генерация html с помощью Yattag

В PyPi репозитории не один шаблонизатор HTML. Но далеко не всегда хочется тащить его за собой. В этом случае нам поможет модуль Yattag - это библиотека (DSL по сути), которая позволяет в Python-way формате писать HTML/XML файлы

Ознакомьтесь с туториалом: http://www.yattag.org/#tutorial

more ...

Полезные библиотеки: plot.ly (plotly)

Понятное представление информации - это вечная задача. Причем она свойственна всем.

Хочется упомянуть графики. Вот собрали мы данные, задача была не простая, а теперь надо их представить. Графики бывают разных типов, их очень много. Даже если какой-то график сделали, а как поделиться? Можно скинуть картинку, да только придется потом с "линейкой" вычислять значения, а можно пойти по другому пути - https://plot ...

more ...