Собрали в одном месте самые важные ссылки
консультируем про IT, Python
Статья описывает использование JSON Schema для валидации JSON данных на Python
Аналогичный подход можно применять для валидации XML данных.
Интерфейс для вызова C-кода. Изменения описаны по ссылке https://allmychanges.com/p/python/cffi/#1.3.1. Скачать можно по ссылке: http://pypi.python.org/pypi/cffi/
Инструмент создания виртуального рабочего окружения. Изменения описаны по ссылке https://allmychanges.com/p/python/virtualenv/#0.8. Скачать можно по ссылке: http://pypi.python.org/pypi/virtualenv/
Фреймворк для работы с AMQP. Изменения описаны по ссылке https://allmychanges.com/p/python/kombu/#3.0.27. Скачать можно по ссылке: http://pypi.python.org/pypi/kombu/
Python клиент для Redis. Изменения описаны по ссылке https://allmychanges.com/p/python/redis/#2.10.5. Скачать можно по ссылке: http://pypi.python.org/pypi/redis/
Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.5.8. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions
Движок позволяет очень просто писать свои DSL
Confit - предоставляет общий API для конфигов. Конфиги можно комбинировать из нескольких файлов.
Статья рассказывает применение анализа данных для вычисления удачных дней для сервфинга
Статья описывает применение Emacs в качестве редактора для Python
import numpy as np import wavio rate = 22050 # samples per second T = 3 # sample duration (seconds) f = 440.0 # sound frequency (Hz) t = np.linspace(0, T, T*rate, endpoint=False) x = np.sin(2*np.pi * f * t) wavio.write("sine24.wav", x, rate, sampwidth=3)
Статья описывает соображения про систему импорта.
Автор рассматривает возможность избавиться глобального состояния, расширение возможностей импорта и другие идеи.
LOGGING = { 'handler': { 'mongolog': { 'level': 'WARN', 'class': 'mongolog.MongoLogHandler', 'connection': 'mongodb://localhost:27017/' }, }, 'loggers': { 'django': { 'handlers': ['console', 'mongolog'], 'level': 'DEBUG', 'propagate': True }, }, }
from prwlock.prwlock import RWLock rwlock = RWLock()
from __future__ import print_function import os import time from multiprocessing import Pool from prwlock.prwlock import RWLock def f(rwlock): for i in range(2): print(os.getpid(), 'Acquiring read lock') rwlock.acquire_read() print(os.getpid(), 'Sleeping for a while') time.sleep(1) print(os.getpid(), 'Releasing lock') rwlock.release() time.sleep(.1) r = RWLock() children = 20 pool = Pool(processes=children) for child in range(children): pool.apply_async(f, [r])
Django-приложение, которое облегчает перевод Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-rosetta/#0.7.8. Скачать можно по ссылке: https://pypi.python.org/pypi/django-rosetta