Собрали в одном месте самые важные ссылки
читайте нас в Twitter
$ cat /tmp/data | histogram.py --percentage --max=1000 --min=0
# NumSamples = 60; Min = 0.00; Max = 1000.00
# 1 value outside of min/max
# Mean = 332.666667; Variance = 471056.055556; SD = 686.335236; Median 191.000000
# each ∎ represents a count of 1
0.0000 - 100.0000 [ 28]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ (46.67%)
100.0000 - 200.0000 [ 2]: ∎∎ (3.33%)
200.0000 - 300.0000 [ 2]: ∎∎ (3.33%)
300.0000 - 400.0000 [ 8]: ∎∎∎∎∎∎∎∎ (13.33%)
400.0000 - 500.0000 [ 8]: ∎∎∎∎∎∎∎∎ (13.33%)
500.0000 - 600.0000 [ 7]: ∎∎∎∎∎∎∎ (11.67%)
600.0000 - 700.0000 [ 3]: ∎∎∎ (5.00%)
700.0000 - 800.0000 [ 0]: (0.00%)
800.0000 - 900.0000 [ 1]: ∎ (1.67%)
900.0000 - 1000.0000 [ 0]: (0.00%)
import sys
import time
import daemonocle
# This is your daemon. It sleeps, and then sleeps again.
def main():
while True:
time.sleep(10)
if __name__ == '__main__':
daemon = daemonocle.Daemon(
worker=main,
pidfile='/var/run/daemonocle_example.pid',
)
daemon.do_action(sys.argv[1])
Проект - виртульная машина Python для работы из браузера.
Ansible Playbook для настройки Django application. Этот playbook устанавливает и настраиваетDjango application со следующим технологиями: Nginx, Gunicorn, Supervisor, Virtualenv и PostgreSQL
>>> jsonstr2 = ''' ... {"menu": { ... "id": "file", ... "value": "File", ... "popup": { ... "menuitem": [ ... {"value": "New", "onclick": "CreateNewDoc()"}, ... {"value": "Open", "onclick": "OpenDoc()"}, ... {"value": "Close", "onclick": "CloseDoc()"} ... ] ... } ... }} ... ''' >>> >>> rsonstr2 = ''' ... menu ... id = file ... value = File ... popup ... menuitem ... value = New ... onclick = CreateNewDoc() ... value = Open ... onclick = OpenDoc() ... value = Close ... onclick = CloseDoc() ... ''' >>> >>> jsondata2 = eval(jsonstr2) >>> rsondata2 = rsonlite.simpleparse(rsonstr2) >>> jsondata2 == rsondata2 True
Релиз нового asyncio драйвера для Riak, базирующегося на официальном python клиенте от Basho.
В данный момнет поддерживаются базовые операции с данными чтение\запись\удаление, Riak Datatypes и BucketTypes.
>>> from useful_collections.dict import ImmutableDict
>>> my_immutable_dict = ImmutableDict(key='immutable val')
# accessing dict item
>>> my_immutable_dict['key']
'immutable val'
# accessing dict item as attribute
>>> my_immutable_dict.key
'immutable val'
# trying to override dict value
>>> my_immutable_dict['key'] = 'new value'
Traceback (most recent call last):
...
useful_collections.dict.ForbiddenSetItem: __setitem__ method is forbidden for ImmutableDict objects
>>> my_immutable_dict.key = 'try again'
Traceback (most recent call last):
...
useful_collections.dict.ForbiddenSetAttr: __setattr__ method is forbidden for ImmutableDict objects
Несколько примеров сгенерированной музыки:
import handwritingio
hwio = handwritingio.Client('KEY', 'SECRET')
png = hwio.render_png({
'handwriting_id': '2D5S46A80003', # found in our catalog or by listing handwritings
'text': 'Handwriting with Python!',
'height': 'auto',
})
with open('handwriting.png', 'wb') as f:
f.write(png)
Довольно развитый аналог celery на основе Redis
Планировщик задачи может работать с разными БД, даже с обычной памятью. В качестве event loop может использовать asyncio
Инструмент разрабатывали с учетом дружелюбности к разработчику. Фреймворк работает с любыми объектами в формальном виде