IT-новости про Python, которые стоит знать

Собираем в одном месте самые важные ссылки.
консультируем про Python

Python Дайджест. Выпуск 89

(31.08.2015 - 06.09.2015)

поделиться выпуском 
Дайджест python,

Новости

  PyCharm Educational Edition 2.0 уже на подходе

Уже в сентябре выйдет новый мажорный релиз PyCharm Educational Edition. В этом релизе будет много нового, например, интеграция с Stepic

  Django 1.9 получит новый дизайн админки

Вероятно многие из нас сдавая очередной Django-проект ловили себя на мысли о том, что интерфейс администратора выглядит, мягко говоря, непрезентабельно и несовременно. Однажды мне стало стыдно отдавать хороший Django-проект хорошему заказчику именно по причине убогости админки, и я решил обновить ее внешний вид, вдохновившись обновленным сайтом Django.

Конференции, события, встречи разработчиков

  Программа PyCon Russia 2015 почти сформирована

Программа третьего российского PyCon почти готова. Выступают python-разработчики из США, Франции, Чехии, Германии, Украины и России. В программе: чем аннотации типов могут быть полезны, полнотекстовый поиск с помощью Python, работа с памятью в Python, «Интернет вещей» на Python, как скачать испанский интернет с помощью фреймворка Frontera, чем интересны библиотека для научных вычислений на Python NumPy и самая популярная asyncio-совместимая библиотека Aiohttp. 18-19 сентября, Екатеринбург

  PyNSK #2 - встреча новосибирского Python-сообщества. 13 сентября

Живете рядом с Новосибирском? Приглашаем на встречу Python-сообщества в Новосибирске - PyNSK.
Встреча состоится 13 сентября в "Самоваре". Все подробности по ссылке - https://vk.com/pynsk_13_09_2015.

Статьи

  Centrifuge + Go = Centrifugo – harder, better, faster, stronger

В сентябре прошлого года была опубликована последняя статья о Центрифуге — сервере с открытым исходным кодом для обмена сообщениями в режиме реального времени. Теперь в списке хабов, в которые публикуется этот пост, присутствует Go. И неспроста, как можно понять уже из заголовка, Центрифуга была портирована с Python на Go — так появилась Centrifugo. О причинах миграции, о плюсах и минусах Go, а также о том, как эволюционировал проект с момента предыдущей публикации – читайте под катом.

  Сложные свойства плагинов для Django CMS

Недавно уже было описано, как создать свой плагин для CMS. И упомянуто, что у плагина могут быть настройки. Поскольку эти настройки хранятся в самой обыкновенной джанговской модели, в них и может быть размещено всё, что может быть размещено в модели. Но если с полями вроде CharField или TextField работать очень просто, то бывают и менее очевидные ситуации.

  Стоимость жилья как функция координат

Цены на жильё формируются из многочисленных факторов, основные из которых — это близость к центру города и наличие рядом различной инфраструктуры. Но реальные цены только в бумажных газетах и риэлторских сайтах. Мы будем строить свою карту с ценами на недвижимость в Москве при помощи python, яндекс API и matplotlib, специальный репортаж с места событий под катом

  Работа с текстовыми данными в scikit-learn (перевод документации) — часть 2

Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn. Начало статьи вы можете прочесть в части 1. Обучение классификатора Теперь, когда мы выделили признаки, можно обучать классификатор предстазывать категорию текста. Давайте начнем с Наивного Байесовского классификатора, который станет прекрасной отправной точкой для нашей задачи. scikit-learn включает в себя несколько вариантов этого классификатора. Самый подходящий для подсчета слов — это его поли номинальный вариант: >>> from sklearn.naive_bayes import MultinomialNB >>> clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target)

  Почему не все так просто с MongoDB

В последнее несколько лет MongoDB приобрела огромную популярность среди разработчиков. То и дело в интернете появляются всякие статьи как очередной молодой популярный проект выкинул на свалку истории привычные РСУБД, взял в качестве основной базы данных MongoDB, выстроил инфраструктуру вокруг неё, и как все после этого стало прекрасно. Даже появляются новые фреймворки и библиотеки, которые строят свою архитектуру целиком на Mongo (Meteor.js например). По долгу работы я примерно 3 года занимаюсь разработкой и поддержкой нескольких проектов, которые используют MongoDB в качестве основной БД, и в этой статье хочу рассказать, почему на мой взгляд с MongoDB далеко не все так просто, как написано в мануалах, и к чему вы должны быть готовы, если вдруг решите взять MongoDB в качестве основной БД в ваш новый модный стартап :-) Все что описано ниже можно воспроизвести с использованием библиотеки PyMongo для работы с MongoDB из языка программирования Python. Однако скорее всего с аналогичными ситуациями вы можете столкнуться и при использовании других библиотек для других языков программирования.

  Программа конференции PYCON RUSSIA 2015

Привет, Хабр! Осталось три недели до третьей международной конференции python-разработчиков Pycon Russia 2015, которая пройдет в Екатеринбурге 18-19 сентября. Мы доделываем итоговую сетку и обговариваем детали последних докладов, но 90% программы готово. Итак, что вас ждет в этом году.

  Страницы Django CMS и контроль версий

Часто спрашивают, как отслеживать изменение структуры сайта на Django-CMS в системах контроля версий.

  Байесовские корреляции с PyMC

В статье показано как определить коэффициент корреляции. И будет рассмотрена возможность замены традиционного коэффициента корреляции Пирсона на этот коэф.

  10 причин полюбить SQLAlchemy

В статье перечислено 10 особенностей SQLAlchemy, которые делают работу с этим модулем приятной.

  Анализ данных: работаем с Craigslist с помощью Python

Крейглист это сайт электронных объявлений.

  Разработка абстрактной модели графа зависимости, её визуализация и применение

Автор рассказывает разработке нодового виджета на PySide, и о том с какими проблемами ему пришлось столкнуться.

  Вызываем функции скрипта через HTTP без сервера

Статья рассказывает как использовать StackHut для публикации ваших скриптов в Интернет

  Словарь в Python

Статья подробно описывает все операции со словарями в Python

  Добавляем SteamworksPy в свою игру

Статья описывает как использовать Steam в своем Python коде

  Определяем новое на HackerNews без RSS и API

Статья описывает как написать простой парсер для HackerNews. Код из статьи позволяет определить новинки на сайте и сохраняет страницы в БД

  Снова о вычисление факториала на Python

В статье вы найдете различные способы подсчета факториала и узнаете какой из них быстрее.

  Анализ данных: ищем выигрышные комбинации в фентези футболе

Статья рассказывает что такое фентези футбол и как можно делать обдуманные ставки

  Обработка текстов и смешные предсказания

Обработка текстов (NLP) это интересная задача, но как при другом анализе данных можно получить странные предсказания. Статья об этом.

Видео

  Mongoengine. Основы

Видео доклад про pymongo и mongoengine. О том как можно использовать MongoDB в продакшене.

  Errbot: бот для чата на Python

Err - это модульный, расширяемый бот для чата. В этом видео рассказано как писать ботов.

  Конкурентность в Питоне с нуля. Вживую.

На данный момент существуют три пользующихся популярностью подхода к реализации конкурентных вычислений в Питоне: нити, событийные циклы и сопрограммы. Каждый из этих подходов окружён своей завесой тайны и рисками. В этом докладе, на коде, который будет написан прямо по ходу, мы разберём каждый из упомянутых путей: плюсы, минусы, места, на которые следует обратить особое внимание. Не обойдётся также без вездесущей глобальной блокировки интерпретатора (GIL).

  Специальные методы и протоколы

Докладчик ведет беседу от простого к сложному, И рассматривает как можно писать безопасный код

  Виртуальный ассистент с GUI (демонстрация + короткое описание)

Ассистент умеет воспринимать команды голосом и искать ответы к ним в wikipedia

  Плейлист с видео-курсом "Автоматизируем скучные вещи"

Этот курс уроков по Python нацелен на новичков-средних. Рассказываются основы языка и способы применения языка.

  Как работают Python корутины?

В видео вы найдете базовые и не только базовые объяснения про корутины. Что это, как их готовить

  Начинаем работать с Office 365 REST API

В этом эпизоде показано как начать писать Python-приложение, которое подключается к Office 365. Показано как настраивать приложение с помощью API. В целом хорошее введение в API Office 365

  Как ускорить Python программу в 114 000 раз

В видео вы узнаете историю успеха - как была ускорена программа по сбору данных в 114 000 раз

  Почему большинству новых проектов надо использовать Custom User Model (django)

Стандартная User-модель показаться пугающей. Я покажу вам 3 простых шага-способа способа реализации Custom User Model для нового проекта, которые на самом деле довольно легко сделать, и расскажу какие преимущества в гибкости и кастомизации это дает..

  Django и Autocompl…

Django не умеет делать автозаполнение из коробки, поэтому мы можем легко его добавить. Об этом и немного другом расскажет докладчик.

Учебные материалы

  Новые курсы программирования на языке Python от Фоксфорд

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

  Python на Microsoft Virtual Academy

Курс уроков по Python на Microsoft Virtual Academy. В основном основы

Колонка автора

  Полезные инструменты: django-debug-toolbar

Разработка программ сопряжена с сложностями. Произвольно или нет лезут различные баги. Для поиска ошибок применяют различные инструменты, например дебаг. Дебаг бывает кустарным - print'ами, а есть более каноничный подход - дебаггерами....[Продолжение]

  Синтаксис Python: множества (set)

Множество в python - "контейнер", содержащий не повторяющиеся элементы в случайном порядке.
»> a = set()
»> a
set()
»> a = set('hello')
»> a
{'h', 'o', 'l', 'e'}
»> a = {'a', 'b',...[Продолжение]

  Опыт разработчиков: файл requirements.txt в каждый проект

Первой проблемой при поддержке старых проектов является понять, как запустить его.
Чтобы немного упростить эту задачу разработчики используют pip и файл requirements.txt. В этом файле записываются все необходимые для работы...[Продолжение]

  Таинство стандартной библиотеки: docstring

Docstring - (сокращение от documentation string, строка документации) встроенное средство документирования модулей, функций, классов и методов. Делается очень просто - сразу после определения указывается строковое значение, которое и...[Продолжение]

  Таинство стандартной библиотеки: itertools

Еще один стандартный модуль в Python - itertools.
Модуль itertools - сборник полезных итераторов.
В нем содержатся множество операций над итераторами, да и сами интераторы.
Например есть бесконечная арифметическая...[Продолжение]

  Синтаксис Python: оператор yield

При чтении чужого кода можно столкнутся с многими непонятными конструкциями. А сейчас хочу коротко осветить такую конструкцию как yield.
Yield - это ключевое слово которое используется так же, как и слово return. Разница в том, что...[Продолжение]

  Тесты тесты тесты: doctest

Тесты можно писать прям в коде, а точнее в docstring.
Модуль doctest ищет куски текста, которые выглядят как интерактивные сессии Python и затем выполняет эти сессии, чтобы проверить, что они работают точно так же, как показано....[Продолжение]

  Пишем web-проекты: выжимаем максимум из PostgreSQL

Postgres предоставляет много встроенных возможностей для создания эфективных приложений,
использующих базы данных. А в версии 9.4 появляется еще и полноценное JSON поле,
при правильном использовании которого, отпадает...[Продолжение]

Интересные проекты, инструменты, библиотеки

  fiddle - Python редактор

Этот редактор создавался как альтернатива стандартному IDLE

  Whatspp-bot-seed - фреймворк для создания чат ботов

Написание ботов не такая простая задача, как кажется. Необходимо учесть сценарии использования, пройти через дебри настроек и отладки, наладить мониторинг.

Мы консультируем по написанию ботов - обращайтесь https://t.me/axsapronov. Подскажем как разработать бота наиболее быстро

  wordfreq - утилита для определения частот слов

Эта утилита позволяет определить частоту слова для различных языков

  fclear - простая утилита для удаления скомпилированных файлов

Эта крайне простая утилита позволяет рекурсивно найти .pyc файлы и удалить их. Если не знаете bash на базовом уровне, то может пригодится.

  red - утилита, аналог 'perl -ne'

Утилита позволяет прям в консоли выполнить регулярное выражение, после чего сгруппировать результаты.

  pythonbenchmark - модуль для сравнения скорости двух функций

Модуль pythonbenchmark позволяет очень просто сравнить скорости выполнения двух функций. Пример кода:

from pythonbenchmark import compare, measure
import time
 
a,b,c,d,e = 10,10,10,10,10
something = [a,b,c,d,e]
 
def myFunction(something):
    time.sleep(0.4)
 
def myOptimizedFunction(something):
    time.sleep(0.2)
 
# comparing test
compare(myFunction, myOptimizedFunction, 10, input)

  Cliar - фреймворк для создания интерфейсов командной строки

Это простой фреймворк, который позволяет очень малым количеством кода сделать CLI

  PrettyTerm - раскрашиваем вывод в Windows консоли

Это небольшой модуль (около 70 строк) позволяет раскрашивать вывод на Windows-консоль

  neural_artistic_style - реализация Neural Artistic Style на Python

Утилита позволяет накладывать стили на изображения. Вот пример выходного изображения:

  ann-writer - генератор текстов, который умеет повторять стиль популярных книг

Эта небольшая утилита позволяет создавать тексты, которые будут похожи на образцовый текст. В стандартной поставке есть несколько популярных книг-образцов, например, Гарри Поттер

  Статистика PyPi в графиках

Проект рисует динамические графики со статистиками с PyPi

  Soccer CLI - утилита для получения результатов футбольных игр

Это консольная утилита, которая позволяет получить результаты игр для различных футбольных лиг.

  Pylsy - библиотека для визуализации таблиц

Библиотека позволяет очень просто визуализировать таблицы с помощью ASCII символов

Релизы

  Nuitka - 0.5.4 - теперь поддерживает anaconda

Nutika - это совместимый с Python компилятор. В этой версии много исправлений багов. Но главное - теперь поддерживается anaconda. Что значительно расширяет область применения.

  pyparallel - теперь работает с Python 3.3

pyparallel - форк Python, который умеет использовать много ядер

  django-cms - 3.1.3

Легкая в использовании и удобная для разработки CMS. Изменения описаны по ссылке https://allmychanges.com/p/python/django-cms/#3.1.3. Скачать можно по ссылке: https://pypi.python.org/pypi/django-cms/

  PyPy 2.6.1

Обновился PyPy, исправлено много багов, обновились поддержка numpy, и снова улучшена производительность.

  psutil - 3.2.1

Модуль для управления процессами в ОС. Изменения описаны по ссылке https://allmychanges.com/p/python/psutil/#3.2.1. Скачать можно по ссылке: http://pypi.python.org/pypi/psutil/

  pika - 0.10.0

Библиотека работы с AMQP. Изменения описаны по ссылке https://allmychanges.com/p/python/pika/#0.10.0. Скачать можно по ссылке: http://pypi.python.org/pypi/pika/

  greenlet - 0.4.9

Модуль для легковесных потоков в Python. Изменения описаны по ссылке https://allmychanges.com/p/python/greenlet/#0.4.9. Скачать можно по ссылке: http://pypi.python.org/pypi/greenlet/