Size: a a a

2016 January 09
PythonDigest
Создаем чат на websocket'ах

http://pawelmhm.github.io/python/websockets/2016/01/02/playing-with-websockets.html

Статья описывает создание chat roulette на websocket'ах
источник
PythonDigest
Разбираемся с cPython - часть 2

https://orenmn.wordpress.com/2016/01/02/understanding-cpython-by-patching-part-2/

В ппрошлом посте мы пропатчили Python. Заменили представление int'а с 10-ричного на 16-ричное. В этом посте мы пойдем дальше и попатчим Python еще. 
источник
PythonDigest
Redis + Celery: Реактивные вычисления на Django для IoT приложений

https://codesachin.wordpress.com/2016/01/04/redis-celery-reactive-computing-in-django-for-iot-applications/
источник
PythonDigest
PyAna - анализ и эмуляция кода для shell в Windows

http://github.com/PyAna/PyAna
источник
PythonDigest
Подсчет ссылок в Python

http://fengsp.github.io/blog/2016/1/ownership-in-python/

Статья описывает макросы Py_INCREF(x) и Py_DECREF(x)
источник
2016 January 11
PythonDigest
На ваших экранах анонс 107 выпуска Python Дайджест.

В этом выпуске обнаружите:

- Красивое логгирование с помощью agenda
- Архивируем сайты платформой webrecorder
- Учим Python за неделю (учебный материал)
- Разбираемся с websocket'ами создавая чат
и многое другое

Приглашаем в гости: http://pythondigest.ru/issue/107/
источник
PythonDigest
python-mss - кроссплатформенный модуль для создания скриншотов

https://github.com/BoboTiG/python-mss/tree/develop
источник
PythonDigest
cython-construct - декларативно описываем работу  с бинарными данными

http://pypi.python.org/pypi/cython-construct/

Модуль для Cython, который позволяет упростить работу с бинарными данными
>>> from construct import *
>>>
>>> PascalString = Struct("PascalString",
...     UBInt8("length"),
...     Bytes("data", lambda ctx: ctx.length),
... )
>>>
>>> PascalString.parse("\x05helloXXX")
Container({'length': 5, 'data': 'hello'})
>>> PascalString.build(Container(length = 6, data = "foobar"))
'\x06foobar'
источник
PythonDigest
ZipPy – реализация Python3 с JVM

https://bitbucket.org/ssllab/zippy
источник
2016 January 12
PythonDigest
miniboa - асинхронный, одно-поточный Telnet сервер

http://pypi.python.org/pypi/miniboa/
источник
PythonDigest
Автоматический запуск Libre/OpenOffice в режиме прослушивания из Python

http://habrahabr.ru/post/274775/

Libre/Open Office предоставляют возможность работы с офисом через UNO API. Для того, чтобы можно было обратиться к офису необходимо запустить его в режиме прослушивания. Например: soffice --accept="socket,host=localhost,port=2002;urp;" Данный подход вполне логичен и понятен с точки зрения разработчиков офиса, но несет ряд неудобств. В частности, нужно самостоятельно запускать Libre/Open Office в режиме прослушивания. Лично мне не понятно, почему разработчики поленились и не предоставили функции запуска офиса. Ну да ладно, было бы все сделано, не нужны были бы программисты. Посему будем решать задачу своими силами. 
источник
PythonDigest
coverage - 4.1b1

https://allmychanges.com/p/python/coverage/#4.1b1

Утилита позволяющая измерить процент покрытия тестами. Изменения описаны по ссылке https://allmychanges.com/p/python/coverage/#4.1b1. Скачать можно по ссылке: http://pypi.python.org/pypi/coverage/
источник
2016 January 13
PythonDigest
pddb - PandasDatabase - база данных поверх Pandas

http://pypi.python.org/pypi/pddb/

pddb - база данных для небольших проектов, которая поддерживает CRUDL операции. 

С помощью bottle добавляется REST API
источник
PythonDigest
mwclient - MediaWiki API client

http://pypi.python.org/pypi/mwclient/

# Initialize Site object
import mwclient
site = mwclient.Site('commons.wikimedia.org')
site.login(username, password)

# Edit page
page = site.Pages['Commons:Sandbox']
text = page.text()
print 'Text in sandbox:', text.encode('utf-8')
page.save(text + u'\nExtra data', summary = 'Test edit')

# Printing imageusage
image = site.Images['Example.jpg']
print 'Image', image.name.encode('utf-8'), 'usage:'
for page in image.imageusage():
        print 'Used:', page.name.encode('utf-8'), '; namespace', page.namespace
        print 'Image info:', image.imageinfo

# Uploading a file
site.upload(open('file.jpg'), 'destination.jpg', 'Image description')

# Listing all categories (don't do this in reality)
for category in site.allcategories():
        print category
источник
PythonDigest
Вышел Ansible 2.0

https://www.linux.org.ru/news/opensource/12265668

Этот релиз в первую очередь является масштабным рефакторингом, направленным на устранение technical debt, накопившегося за три года бурного роста до 1000 участников. Обещают обратную совместимость на уровне плейбуков, но API плагинов претерпел значительные изменения. Инструкция по портированию прилагается.
источник
PythonDigest
backintime - простая утилита для backup под Linux

http://github.com/bit-team/backintime
источник
PythonDigest
django-eventtools - модуль для создания и отображения событий на сайте

http://pypi.python.org/pypi/django-eventtools/

Пакет добавляет модели события(Event) и времени появления(Occurrence) с помощью которых можно создавать повторяющиеся/одноразовые события, а затем отображать их на сайте.
источник
PythonDigest
python-sinklog - передаем логи через интернет

http://Sinklog.com

Модуль состоит из CLI программы и сервера, который умеет принимать/отдавать логи. 

Запуская лог в своей программе, вы передаете данные на сервер, и одновременно с этим можете начать читать их с другого источника.
источник
PythonDigest
trimesh - пакет для работы с triangular meshes (треугольными сетками)

http://pypi.python.org/pypi/trimesh/
источник
PythonDigest
graphite_beacon - система оповещения для Graphite

http://pypi.python.org/pypi/graphite_beacon/
источник