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

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

     15.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Проверка теории шести рукопожатий

Формулировка задачи: визуализировать все связи между двумя пользователями внутри одной социальной сети. При этом связи не должны дублироваться, например если Ваня знает Петю через Олю, то Оля в дальнейших итерациях по поиску общих друзей не участвует. Чтобы попрактиковаться в API, я выбрал “Вконтакте”.

     16.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Релизы

requests - 2.9.0

Простая библиотека для создания HTTP запросов. Изменения описаны по ссылке https://allmychanges.com/p/python/requests/#2.9.0. Скачать можно по ссылке: http://pypi.python.org/pypi/requests/

     15.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

PyLOO — Библиотека для генерации отчетов, счетов Libre/Open Office на Python

 

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

Проекты, в которых возникала данная задача:
 

  • складской учет
  • учет объектов недвижимости
  • документооборот

     15.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Интересные проекты, инструменты, библиотеки

jarmanifest - утилита для парсинга Java Manifest файлов

$ python3
>>> from jarmanifest import manifest
>>> manifest.getAttributes('/tmp/spring/META-INF/MANIFEST.MF')
[{'implementationtitle': 'org.springframework.core', 'implementationversion': '3.1.3.RELEASE'}]

     14.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Selenium для Python. Глава 5. Ожидания

В наши дни большинство веб-приложений используют AJAX технологии. Когда страница загружена в браузере, элементы на этой странице могут подгружаться с различными временными интервалами. Это затрудняет поиск элементов, если элемент не присутствует в DOM, возникает исключение ElementNotVisibleException. Используя ожидания, мы можем решить эту проблему. Ожидание дает некий временной интервал между произведенными действиями — поиске элемента или любой другой операции с элементом.

Selenium WebDriver предоставляет два типа ожиданий — неявное (implicit) и явное (explicit). Явное ожидание заставляет WebDriver ожидать возникновение определенного условия до произведения действий. Неявное ожидание заставляет WebDriver опрашивать DOM определенное количество времени, когда пытается найти элемент.

     14.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Внутреннее устройство Python list

Предлагаю вашему вниманию перевод публикации Laurent Luce о реализации работы со списками в CPython. Она может быть полезна начинающим программистам на Python, либо готовящимся к собеседованию.

Эта статья описывает реализацию объекта списка в CPython, наиболее популярной реализации Python. Списки в Python — это мощный инструмент, и интересно узнать, как они устроены внутри. Взгляните на простой скрипт, который добавляет несколько целых значений в список и выводит их:

     14.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Как я отлаживал python httplib и httplib2

Понадобилось мне однажды у себя в проекте реализовать работу с файловым хранилищем с использованием HTTP REST API. Проект разрабатывается на python, к тому же уже был реализован http-клиент с использованием библиотеки httplib2, поэтому было решено расширить функциональность http-клиента и работать с файловым хранилищем через туже библиотеку. Проблема возникла при загрузке файлов на сервер. Первый PUT запрос выполняется, далее все последующие запросы отказываются выполняться — 500Internal Server Error.

     14.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Интересные проекты, инструменты, библиотеки

httpretty - mock HTTP-клиента на Python

Модуль позволяет имитировать HTTP-запросы.

     15.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Релизы

django-extensions - 1.6.1

Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.6.1. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions

     14.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Интересные проекты, инструменты, библиотеки

vecrec - 2D вектор и различные прямоугольники

Это очень простой модуль, содержит синтаксический сахар для двумерных векторов. 

     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Визуализация ASTs для лучшего понимания Python

Автор статьи берет небольшой пример: 

# Python code
def main():
    name = "Python"
    print("{0} is great".format(name))

и рассматривает как ээтот код выглядит при исполнении

     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Колонка автора

Таинство стандартной библиотеки: консольный GUI с помощью curses

Python отлично подходит для написания самых различных серверных утилит. Часто такие утилиты дополняют CLI (Command Line Interface), а иногда и целым GUI.

Но как его сделать? На сервере часто нет X сервера. нет Qt и чего-то такого, а Python есть. Возможно вы слышали про ncurses - библиотека для управления IO. Вот ее и можно использовать для такой задачи - стандартная библиотека содержит модуль curses.

     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Новости
     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Видео
     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Видео
     13.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Временные зоны в Pytz и Django

Проблемы с временными зонами возникают неожиданно. И вылезают наружу при использовании ПО. Статья описывает применение канонического модуля временных поясов Pytz в вашем ПО