Size: a a a

2016 February 08
PythonDigest
источник
PythonDigest
Учебные материалы: A Byte of Python - отличная книга для начала

http://pynsk.ru/blog/2016/02/07/A-Byte-of-Python/

“A Byte of Python” – это свободная книга по программированию на языке Python. Она может служить учебным пособием или руководством по языку Python для начинающей аудитории. Если ваши знания о компьютере ограничиваются тем, как сохранять текстовые файлы, эта книга для вас.

Книга короткая - 150 страниц и рассказывает самые-самые важные аспекты для начала.
источник
PythonDigest
virtualenv  - 14.0.6

https://allmychanges.com/p/python/virtualenv/#14.0.6

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

http://github.com/LINKIWI/modern-paste

Проект позиционируется как красивый аналог pastebin (сервиса хранения исходников). Чтобы работать с проектом надо запускать у себя на машине 
источник
PythonDigest
records - SQL для людей - простая библиотека для SQL запросов

http://pypi.python.org/pypi/records/
источник
PythonDigest
py-ubjson - Universal Binary JSON encoder/decoder

http://pypi.python.org/pypi/py-ubjson/
источник
PythonDigest
Мониторинг выполнения задач в IPython Notebook

https://habrahabr.ru/post/276725/

Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 10 000 урлов», «прочитать файл на 2Гб, и что-то сделать с каждой строчкой», «распарсить 10 000 html-файлов и достать заголовки». Долго смотреть в зависший терминал тревожно, поэтому долгое время я использовал следующий гениальный код:
источник
2016 February 09
PythonDigest
ballpark - человеко-понятное представление чисел

http://pypi.python.org/pypi/ballpark/

>>> from ballpark import human, scientific, engineering, business
>>> business([11234.22, 233000.55, 1175125.2])
['11K', '233K', '1,180K']
>>>
>>> # or use the shortcut functions
>>> from ballpark import H, S, E, B
>>> B([11234.22, 233000.55, 1175125.2])
['11K', '233K', '1,180K']
>>>
>>> # all notations accept single numbers too, but then we can't
>>> # guarantee that all numbers will have the same prefix (kilo, mega etc.)
>>> [B(value) for value in [11234.22, 233000.55, 1175125.2]]
['11.2K', '233K', '1.18M']
источник
PythonDigest
ipytest - Unit тесты в IPython notebooks.

http://pypi.python.org/pypi/ipytest/

Модуль позволяет упростить написание unit-тестов в IPython 
источник
PythonDigest
pyfastcopy - модуль для ускорения операции shutil.copyfile

http://pypi.python.org/pypi/pyfastcopy/

Модуль ускоряет работу shutil.copyfile с помощью системного вызова sendfile
источник
PythonDigest
sortedmap - реализация sortedmap из С++

http://pypi.python.org/pypi/sortedmap/
источник
PythonDigest
Интересные концепции: REPL (Read-eval-print loop)

http://pynsk.ru/blog/2016/02/08/repl-intro/

REPL (Read-eval-print loop) — простая интерактивная среда программирования.

В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Название read-eval-print loop происходит от имён примитивов языка Lisp, которые реализуют подобную функциональность

Зачем нужен REPL? Очевидно что REPL нужен для обучения, проверки каких-то идей/кода, чтобы вспомнить как работает какой-то метод, для замены калькулятора, иными словаи когда цикл "Написал код -> запустил -> посмотрел результат" должен быть минимальным по времени.
источник
PythonDigest
Полноценный REST API для перфекционистов за 5 минут

https://habrahabr.ru/post/276731/

Речь пойдёт об инструменте, который позволит вам построить полноценный и простой в использовании REST API за минимальное количество времени. Называется он – Python Eve.

К сожалению в Интернете очень много инструкций на эту тему, но все они вводят в заблуждение. Начинающие разработчики, начитавшись подобных статей, думают, что REST API это GET/POST/PUT/DELETE. Заказчики думают, что это дело пары часов. А когда они встречаются вместе, происходят магия в виде Express.js/Mongoose/Passport и ещё кучи хлама, который течёт и временами блокирует event-loop. Всё это запускается с помощью какого-нибудь supervisor, потому что иногда падает и надо как-то перезапускать. 
источник
PythonDigest
pyqtool - утилита поиска Python кода с помощью jQuery-подобных селекторов

http://pypi.python.org/pypi/pyqtool/

❯ pyq3 'class:extends(IntegerField)' django/forms
django/forms/fields.py:278 class FloatField(IntegerField):
django/forms/fields.py:315 class DecimalField(IntegerField):
источник
PythonDigest
asyncio — Asynchronous I/O, event loop, and concurrency tools — PyMOTW 3

https://doughellmann.com/blog/2016/02/08/asyncio-asynchronous-io-event-loop-and-concurrency-tools-pymotw-3/

Модуль предоставляет средства для создания параллельных приложений с использованием сопрограмм. 
источник
2016 February 10
PythonDigest
Определяем фигуры с помощью OpenCV

http://www.pyimagesearch.com/2016/02/08/opencv-shape-detection/

Это вторая часть о поиске объектов. Сегодня мы будем использовать контуры чтобы идентифицировать фигуры в изображение.
источник
PythonDigest
hdu - утилита для создания сводки использования дискового пространства

http://pypi.python.org/pypi/hdu/
источник
PythonDigest
arduinoserial - интерфейс для работы с serial портами на Arduino

http://pypi.python.org/pypi/arduinoserial/

import arduinoserial

arduino = arduinoserial.SerialPort('/dev/ttyUSB0', 19200)
print arduino.read_until('\n')
arduino.write('a5050')
источник
PythonDigest
gmusicapi - неофициальный API для Google Play Music

http://pypi.python.org/pypi/gmusicapi/

from gmusicapi import Mobileclient

api = Mobileclient()
api.login('user@gmail.com', 'my-password', Mobileclient.FROM_MAC_ADDRESS)
# => True

library = api.get_all_songs()
sweet_track_ids = [track['id'] for track in library
                  if track['artist'] == 'The Cat Empire']

playlist_id = api.create_playlist('Rad muzak')
api.add_songs_to_playlist(playlist_id, sweet_track_ids)
источник
PythonDigest
Сравниваем цены в книжных интернет магазинах c помощью python, pandas и matplotlib

https://habrahabr.ru/post/276745/

Сегодня мы попробуем найти самый дешевый и самый дорогой интернет магазин книг.
Сравнивать будем бумажные книги, которые есть в наличии. В разных магазинах очень разное количество книг. Где-то менее 1000, а где-то более 200 000 книг. 
источник