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

Собрали в одном месте самые важные ссылки
читайте авторский блог

     17.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

lxml - 3.6.0

Мощный и быстрый модуль для обработки XML/HTML . Изменения описаны по ссылке https://allmychanges.com/p/python/lxml/#3.6.0. Скачать можно по ссылке: http://pypi.python.org/pypi/lxml/

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Статьи
     17.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

pip - 8.1.1

Утилита для управления модулями в Python. Изменения описаны по ссылке https://allmychanges.com/p/python/pip/#8.1.1. Скачать можно по ссылке: http://pypi.python.org/pypi/pip/

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Интересные проекты, инструменты, библиотеки

neo4j-driver - Neo4j драйвер для Python

from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost")
session = driver.session()
session.run("CREATE (a:Person {name:'Bob'})")
result = session.run("MATCH (a:Person) RETURN a.name AS name")
for record in result:
    print(record["name"])
result.close()
session.close()

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Интересные проекты, инструменты, библиотеки

rop_compiler - мульти-архитектурный ROP компилятор написанный на Python

ROP = Возвратно-ориентированное программирование

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Интересные проекты, инструменты, библиотеки

pysee - легковесная утилита для создания скриншотов на Linux и Mac OSX

Утилита позволяет сразу загрузить изображение на хостинг

     15.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Конференции, события, встречи разработчиков

Прошел Moscow Python Meetup, 18 марта

18 марта, в пятницу, прошел на Moscow Python Meetup 33 в офисе Mail.Ru Group. 

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

pymongo - 2.9.3

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9.3. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Советуем
     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Статьи
     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Статьи

Pandasql vs Pandas для решения задач анализа данных

В этой статье я бы хотела рассказать о применении python-библиотеки Pandasql. 

Многие люди, сталкивающиеся с задачами анализа данных, уже, скорее всего, знакомы с библиотекой Pandas. Pandas позволяет быстро и удобно работать с табличными данными: фильтровать, группировать, делать join над данными; строить сводные таблицы и даже рисовать графики (для простых визуализации достаточно функции plot(), а если хочется чего-то позаковыристее, то поможет библиотека matplotlib). На Хабре не раз рассказывали о применении этой библиотеки для работы с данными: раз, два, три.

Но по моему опыту далеко не все знают о библиотеке Pandasql, которая позволяет работать с Pandas DataFrames как с таблицами и обращаться к ним, используя язык SQL. В некоторых задачах проще выразить желаемое с помощью декларативного языка SQL, поэтому я считаю, что людям, работающим с данными, полезно знать о наличии такой функциональности. Если говорить о реальных задачах, то я использовала эту библиотеку для решения задачи join'a таблиц по нечетким условиям (необходимо было объединить записи о событиях из разных систем по примерно совпадающему времени, разрыв порядка 5 секунд).

Рассмотрим использование этой библиотеки на конкретных примерах.

     14.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Интересные проекты, инструменты, библиотеки

irc-autobot - Context Manager для элементарного создания IRC ботов

from autobot import Autobot

with Autobot('irc.freenode.net', '#python', '[Wally]',
           log='transcript.log') as bot:
while True:
  r = bot.read() #  read will write to the specified log
  if "some trigger" in r['message']:
    bot.send("some message back to the chat")
  #respond to privmsg
  if r['command'] == 'PRIVMSG':
    bot.send("some message or command")

     15.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

ptpython - 0.31

Хороший REPL для Python. Изменения описаны по ссылке https://allmychanges.com/p/python/ptpython/#0.31. Скачать можно по ссылке: https://pypi.python.org/pypi/ptpython