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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

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

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

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

     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 секунд).

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

     09.03.2016       Выпуск 116 (07.03.2016 - 13.03.2016)       Статьи

Как можно упростить себе жизнь с помощью Telegram-бота

Эта статья — краткий рассказ о том, как с помощью подручных средств (Firefox) и Python можно осуществить успешную интеграцию Telegram-бота и внешнего сервиса.

Материал будет интересен тем, кто наслышан о Telegram'ных ботах, но не знает, как к ним подступиться и какие задачи с их помощью можно решать. Предполагается знание Python.

     03.03.2016       Выпуск 115 (29.02.2016 - 06.03.2016)       Статьи

Pomp — метафреймворк для парсинга сайтов

С поддержкой asyncio и вдохновленный Scrapy.

Зачем еще один?
В первую очередь как инструмент для сбора данных, применяемый в моем хобби проекте, который не давил бы своей мощью, сложностью и наследием. И да, кто же будет сознательно начинать что-то новое на python2.x?

В итоге появилось идея сделать простой фреймворк для современной экосистемы python3.x, но такой же элегантный как Scrapy.

     29.02.2016       Выпуск 115 (29.02.2016 - 06.03.2016)       Колонка автора

Коротко о...: Список (list)

Вот и подоспело второе обещание - видео. Это первое видео, поэтому включите в себе максимального критика и расскажите о недостатках и достоинствах.

Краткое описание: "Коротко о..." - проект PyNSK направленный на запись цикла небольших видео (до 5 минут)для новичков. В этих видео будет рассказаны основные знания про конструкции языка, модули стандартной библиотеки и инструменты необходимые при разработке программ на Python

Было записано первое видео - о списках. Из видео новички смогут узнать основные знания о списках (list). Видео очень короткое и сжатое.

     28.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Как я переизобрел словари в Python

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

     26.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Колонка автора

Запустили tests.pynsk.ru

Однажды возникло два желания:

  • поиграться с возможностями Telegram
  • попробовать написать не скучные тесты по Python

Мы соединили два желания и начали писать. Проект двигался не спешно, шаг за шагом, строчка за строчкой, вопрос за вопросом. И вот, мы готовы представить первую версию (о багах пишите в комментариях или в личку).

Tests.pynsk.ru - это платформа для тестирования на основе telegram бота.

     26.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Web файловый менеджер Sprut.IO в OpenSource

В Бегете мы долго и успешно занимаемся виртуальным хостингом, используем много OpenSource-решений, и теперь настало время поделиться с сообществом нашей разработкой: файловым менеджером Sprut.IO, который мы разрабатывали для наших пользователей и который используется у нас в панели управления. Приглашаем всех желающих присоединиться к его разработке. О том, как он разрабатывался и почему нас не устроили существующие аналоги, какие костыли технологии мы использовали и кому он может пригодиться, расскажем в этой статье. 

Сайт проекта:https://sprut.io
Демо доступно по ссылке: https://demo.sprut.io:9443
Исходный код: https://github.com/LTD-Beget/sprutio

     26.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Хуки — это просто (часть 3)

Как-то так получилось, что я написал на Хабре уже несколько статей о библиотеках для хуков. Первая была об общих принципах и реализации на базе Detours, вторая — о более дешевой (но не менее функциональной) библиотеке madCodeHook. Сегодня я расскажу об ещё одном варианте — библиотеке Deviare от компании Nektra. «Ещё одна точно такая же библиотека для хуков?» — спросите вы. «Такая же, да не такая» — отвечу я. У Deviare есть несколько особенностей, отличающих её и от Detours и от madCodeHook и делающей её в некоторых случаях намного более полезной.

     25.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Собственный модуль settings

Этот модуль родился в результате переосмысления (или недопонимания) мной вот этого пространного документа: Splitting up the settings file, размещённого на официальном сайте Django.

     25.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Фоновое выполнение ячеек в IPython Notebook

Я много работаю с данными, поэтому практически все процессы у меня завязаны на Jupyter (IPython Notebook). Эта среда прекрасна и я её большой фанат. По сути, Jupyter — это обычная питоновая консоль и весь код там выполняется последовательно. Но иногда возникает желание запустить вычисления в ячейке и, не дожидаясь пока они закончатся, продолжить работу. Например, нужно скачать 1000 урлов и достать у них заголовки страниц. Хорошо бы запустить процесс скачивания и сразу начать отлаживать код для выделения заголовков.

     21.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Статьи

Пишем shell скрипты на Python и можно ли заменить им Bash

В этой небольшой статье речь пойдет о том, можно ли легко использовать Python для написания скриптов вместо Bash/Sh. Первый вопрос, который возникнет у читателя, пожалуй, а почему, собственно, не использовать Bash/Sh, которые специально были для этого созданы? Созданы они были достаточно давно и, на мой взгляд, имеют достаточно специфичный синтаксис, не сильно похожий на остальные языки, который достаточно сложно запомнить, если вы не администратор 50+ левела. Помните, ли вы навскидку как написать на нем простой if?

     21.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Статьи

Установка Django-проекта на VPS (centOS 7) [Для новичков]

Хочу поделиться практическим опытом по установке готового проекта на Django на VPS от Reg.ru. Данное руководство рассчитано на новичков, оно содержит ряд не самых лучших решений, но с ним вы сможете запустить своей проект на Django в течение часа.

Инструкция не содержит настроек безопасности. Она была создана на базе англоязычных инструкций и боли, много боли (ссылки в конце статьи). Инструкция актуальна для настроек: centOS 7, Django 1.9.2 и Python 3.4.3

     20.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Видео

Классификация литературных жанров

Доклад с Moscow Python №32 Докладчик: Андрей Киселев Описание: Попробуем собрать и улучшить простой языконезависимый классификатор текстов, исходя из естественных математических соображений.

     20.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Видео

Алгоритмические основы обучения реккурентных нейронных сетей

Доклад с Moscow Python №32 Докладчик: Никита Учителев (Datacentric) Описание: Мое выступление будет кратким введением в обучение реккурентных нейронных сетей. Сейчас обучить свою нейронную сетку может любой желающий, написав всего десяток строк кода. Я расскажу про то, что скрывается за этими строками, и почему нейросети еще не используются повсеместно.

     20.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Видео

Python 3.5, aiohttp — опыт эксплуатации, проблемы, решения

Доклад с Moscow Python №32 Докладчик: Павел Петлинский (Rambler&Co) Описание: Как мы запустили продакшн сервис на последней версии вселенной и что получили

     18.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Конференции, события, встречи разработчиков

Piter Py #3 - Python-конференция на Неве

​Третий год подряд портал Айти-Событие проводит Python-конференцию - «Piter Py», которая состоится 22 и 23 апреля в Санкт-Петербурге. Конференция Piter Py призвана объединить людей, небезразличных к языку программирования Python для общения и обмена опытом. Формат: двухдневная конференци в 2 параллельных потока докладов. ​#PiterPy - самая душевная Python-конференция :)

     18.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Конференции, события, встречи разработчиков

Доклад: TestRail. Некоторые возможности интеграции

Доклад: TestRail. Некоторые возможности интеграции

Докладчик: Антон Голов

Описание:

Поговорим о некоторых функциях для интеграции TestRail c внешними системами и автоматизации деятельности QA. Будет немного про Google Docs, и некоторый набор методов работы с TestRail, рассмотрим возможности работы с системами автоматизированного тестирования.

     18.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Конференции, события, встречи разработчиков

Доклад: JSON-RPC или когда REST неудобен

Доклад: JSON-RPC или когда REST неудобен

Докладчик: Александр Кацко

Описание:

Как только речь заходит про создание API, особенно для веб или мобильных приложений, то многие, не задумываясь, выбирают принцип REST. Но всегда ли это правильный выбор? В докладе рассмотрим случаи, для которых хорошо подходит JSON-RPC, посмотрим примеры реализации на Django.

     17.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Статьи

Реверс протокола СКУД RS485 от Perco. Берегите линии своих СКУД от вторжения

Участвуя последнее время в разных интересных проектах, возникла задачка альтернативного управления продуктом Perco Электронная проходная KT02.3. Данный продукт является законченным решением и не подразумевает использование в составе других систем СКУД, а также какого-либо вторжения в свою среду управления. Но, как говорится в поговорке, «Возможно все! На невозможное просто требуется больше времени» (С) Дэн Браун.