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

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


Новый материал в ленте

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

Ковыряем Python и анализируем данные

(18.04.2016 - 24.04.2016)

поделиться выпуском 
pythondigest.ru: Выпуск 122

Новости

  Релиз Ubuntu 16.04 LTS с Python 3.5 по умолчанию python3 ubuntu

В отличии от предыдущего LTS используется systemd (не забудьте про это при обновлении)

Статьи

  Исходный код лямбд в Python

В этом посте, автор углубляется в Python и исследует исходники Python лямбд.

  Декодируем "tele-software" из ТВ программы из 1984

Статья описывает как можно докодировать данные исходя из телефонного сигнала

  Scrapy советы для профи: Апрель 2016 scrapy scraping ASP.NET

В после рассказывается как использовать Scrapy для парсинга страниц на ASP.NET.

  Делаем миллион запросов с помощью aiohttp requests asyncio aiohttp

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

Видео

  Pyston Python JIT (слайды и видео) JIT Pyston Dropbox

Прошлогодние слайды и видео рассказ о Pyston (JIT для Python от Dropbox)

  Social Media Data Mining на Raspberry Pi raspberry pi

Плейлист видео для абсолютных новичков, которые хотели бы научиться добывать и анализировать данные социальных медия с помощью Raspberry Pi

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

  Вышел русский перевод Intermediate Python от Yasoob Khalid book

Intermediate Python представляет из себя краткое онлайн руководство по нюансам языка, мимо которых часто (частично или полностью) проходят новички.

В программе: генераторы, map и filter, декораторы, __slots__, collections, использование C библиотек, кэширование и т.п.

  Введение в интерпретатор Python, часть 4: он динамичный

Небольшая статья рассказывает почему Python динамический язык

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

  daemonocle - библиотека для создания Unix демонов daemon Unix supervisord

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])

  natsort - естественная сортировка

>>> from natsort import natsorted
>>> a = ['a2', 'a9', 'a1', 'a4', 'a10']
>>> natsorted(a)
['a1', 'a2', 'a4', 'a9', 'a10']

  dataIO - набор утилит для ввода/вывода данных в разных форматах

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import print_function
from dataIO import js
from dataIO import pk
from dataIO import textfile

data = {"name": "John", "age": 18, "favorite number": 3.1415926535,
        "hobby": ["Music", "Sport"]}

js.safe_dump(data, "data.json", indent_format=True, 
             float_precision=2, enable_verbose=True)
pk.safe_dump(data, "data.pickle", enable_verbose=True)

s = "This\nis\nPython!"
textfile.write(s, "text.txt")

  py-flags - типобезопасные бинарные флаги binary

>>> from flags import Flags

>>> class TextStyle(Flags):
>>>     bold = 1            # value = 1 << 0
>>>     italic = 2          # value = 1 << 1
>>>     underline = 4       # value = 1 << 2
>>> result = TextStyle.bold | TextStyle.italic
>>>
>>> print(result)
TextStyle(bold|italic)
>>> print(repr(result))
<TextStyle(bold|italic) bits=0x0003>

  mxnet-memonger - сублинейные оптимизации памяти для DP Deep Learning neural network memory

Страшный проект, который, по словам авторов, позволяет начать экономить память при использовании в нейронных сетях и deep learning

  data_hacks - CLI для анализа данных analysis CLI data analysis

$ 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%)

Релизы

  IPython - 4.2

Интерактивная оболочка для языка программирования Python. Изменения описаны по ссылке https://allmychanges.com/p/python/IPython/#4.2. Скачать можно по ссылке: https://pypi.python.org/pypi/ipython

  pex - 1.1.5

Библиотека и утилита для генерации .pex (Python EXecutable) файлов. Изменения описаны по ссылке https://allmychanges.com/p/python/pex/#1.1.5. Скачать можно по ссылке: https://pypi.python.org/pypi/pex

  cffi - 1

Интерфейс для вызова C-кода. Изменения описаны по ссылке https://allmychanges.com/p/python/cffi/#1. Скачать можно по ссылке: http://pypi.python.org/pypi/cffi/