Size: a a a

2015 December 25
PythonDigest
Marshmallow - де/сериализация для сложных объектов

https://github.com/marshmallow-code/marshmallow

Модуль представляет собой своего-рода ORM для построения структуры данных. После создания модели появляется возможность всячески сериализовать данные
from datetime import date
from marshmallow import Schema, fields, pprint

class ArtistSchema(Schema):
   name = fields.Str()

class AlbumSchema(Schema):
   title = fields.Str()
   release_date = fields.Date()
   artist = fields.Nested(ArtistSchema)

bowie = dict(name='David Bowie')
album = dict(artist=bowie, title='Hunky Dory', release_date=date(1971, 12, 17))

schema = AlbumSchema()
result = schema.dump(album)
pprint(result.data, indent=2)
# { 'artist': {'name': 'David Bowie'},
#   'release_date': '1971-12-17',
#   'title': 'Hunky Dory'}
источник
PythonDigest
Дилема новогодних подарков

http://vknight.org/unpeudemath/code/2015/12/15/The-Prisoners-Dilemma-of-Christmas-Gifts/

Этот пост дает теоретико-игровое объяснение традиции дарить подарки на НГ. 
источник
PythonDigest
[Видео] Строим оптимизированные модели и запускаем с помощью Gurobi и Anaconda

https://www.youtube.com/watch?v=N4nWBthN6xA

В этом докладе мы рассмотрим: зачем выбирать Gurobi, почему выбрали Python в качестве языка программирования, зачем выбирать Anaconda в качестве аналитической платформы, как Gurobi и Python может быть использован вместе, чтобы построить модели и приложения.
источник
PythonDigest
sophy - быстрый биндинг для Sophia Database

http://charlesleifer.com/blog/announcing-sophy-fast-python-bindings-for-sophia-database/

Sophia - встраемая KV-база данных.
источник
2015 December 26
PythonDigest
Как попасть в deadlock с getaddrinfo()

https://emptysqua.re/blog/getaddrinfo-deadlock/

Что случится, если запустить этот код?
import os
import socket
import threading


def lookup():
   socket.getaddrinfo('python.org', 80)

t = threading.Thread(target=lookup)
t.start()
if os.fork():
   # Parent waits for child.
   os.wait()
else:
   # Child hangs here.
   socket.getaddrinfo('mongodb.org', 80)
источник
PythonDigest
Визуализация статистики NBA-игроков

http://ratherreadblog.com/visualizing-nba-player-statistics/
источник
PythonDigest
источник
PythonDigest
Python Anti-Patterns

http://docs.quantifiedcode.com/python-code-patterns/latex/The-Little-Book-of-Python-Anti-Patterns-1.0.pdf

Небольшая книга про Anti-Patterns и плохие практики
источник
2015 December 27
PythonDigest
Таинство стандартной библиотеки: пути до файлов

http://pynsk.ru/posts/2015/Dec/27/tainstvo-standartnoi-biblioteki-puti-do-failov/

Python прикладывает множество усилий чтобы скрыть все различия операционных систем. Если смотреть на файлы, а точнее на пути файлов, то легко можно заметить различия между Linux и Windows:

C:\Program Files (x86)

/home/user/documents
источник
PythonDigest
Полезные инструменты: virtualenv + pip

http://pynsk.ru/posts/2015/Dec/25/poleznye-instrumenty-virtualenv-pip/

Опыт показывает, что каждый проект обладает своими зависимостями (библиотеками), а если и одинаковыми, то версии не совпадают. Чтобы упростить запуск и настройку проекта разработчики пишутINSTALL.mdREADME.md, make-файлы и что более важно - requirements.txt.

Файл requirements.txt - это правило хорошего тона для Python проектов. Файл содержит список необходимых библиотек для запуска с указанием версий:
источник
PythonDigest
Пишем web-проекты: исправляем битый HTML с помощью Tidy

http://pynsk.ru/posts/2015/Dec/23/pishem-web-proekty-ispravliaem-bityi-html-s-pomoshchiu-tidy/

При парсинге возникают совсем странные ошибки - одна из них - не валидный HTML. Т.е. с ошибками. Верстальщик забыл закрыть таблицу или body. Еще бывает что вставляют HTML из Word, а там тааккккооооой код.

Чтобы очистить HTML от мусора можно применять инструмент Tidy.
источник
2015 December 28
PythonDigest
pytest-json - генератор отчетов для тестов в виде JSON

http://pypi.python.org/pypi/pytest-json/
источник
PythonDigest
towncrier - утилита для создания новостных файлов для проекта

http://pypi.python.org/pypi/towncrier/
источник
PythonDigest
Py-Videocore - библиотека для GPGPU на Raspberry Pi

https://github.com/nineties/py-videocore
источник
PythonDigest
programming-talks - удивительные и интересные рассказы о тонкостях программирования

http://github.com/hellerve/programming-talks

Сборник видео для различных языков (в том числе и Python). 
источник
2015 December 29
PythonDigest
luapatt - реализация Lua-style pattern matching

http://pypi.python.org/pypi/luapatt/
источник
PythonDigest
poyo - YAML парсер

http://pypi.python.org/pypi/poyo/
источник
PythonDigest
lobotomy - Android Reverse Engineering Framework & Toolkit

http://github.com/rotlogix/lobotomy
источник
PythonDigest
django-nose - 1.4.3

https://allmychanges.com/p/python/django-nose/#1.4.3

Django-nose – приложение упрощающее тестирование в django.
Основными фишками является то, что:
– позволяет запускать только твои тесты, и пропускать системные тесты в django
– позволяет выполнять отдельные тесты в отдельных файлах  и причем файл не обязан называться tests.py
– позволяет создать визуальное покрытие тестами кода (создает html файлик, в котором отдельным цветом выделены участки кода покрытые тестами). Изменения описаны по ссылке https://allmychanges.com/p/python/django-nose/#1.4.3. Скачать можно по ссылке: https://pypi.python.org/pypi/django-nose
источник
PythonDigest
Python в научных вычислениях

https://www.linux.org.ru/news/doc/12226425

Доктор физико-математических наук Андрей Грозин прочитал цикл лекций об использовании Python в целях ликвидации безграмотности среди студентов, аспирантов и прочих.
источник