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

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


Новый материал в ленте
  LangChain vs LlamaIndex: проектируем RAG и разбираемся, что выбрать для вашего проекта

Сегодня it-сообщество предлагает большое количество любопытных инструментов для создания RAG-систем. Среди них особенно выделяются два фреймворка —  LangChain и LlamaIndex. Как понять, какой из них подходит лучше для вашего проекта?


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

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

(18.04.2016 - 24.04.2016)

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

Новости

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

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

Статьи

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

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

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

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

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

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

  Делаем миллион запросов с помощью 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

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

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

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

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

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

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

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

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

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

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

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

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

  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>

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

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

Релизы

  IPython - 4.2

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

  cffi - 1

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

  pex - 1.1.5

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