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

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


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

Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/


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

(30.10.2017 - 05.11.2017)

поделиться выпуском 
Дайджест python,

Статьи

  О разработке одного desktop-приложения на Python

 В этой статье я хочу рассказать о разработке программы с открытым исходным кодом для оффлайнового хранения заметок — OutWiker. Этим проектом я занимаюсь в свободное время, первая версия программы вышла в далеком 2010 году, и OutWiker до сих пор продолжает развиваться. Так уж исторически сложилось, что кодом я занимаюсь практически в одиночку (хотя изредка получаю полезные отдельные патчи), но зато пользователи активно участвуют в переводе программы на свой родной язык и иногда присылают стили оформления для страниц, которые затем я включаю в сборку. А уж о том, сколько интересных идей они присылают, и говорить не стоит.

  Народный мониторинг ESP8266 MQTT Micropython

Как быстро, без особых вложений, начать выкладывать метеоданные на народный мониторинг?
Опишу одно из решений на базе ESP8266.

Алгоритм работы простой: контроллер раз в пять минут подключается к wi-fi, соединяется с брокером, замеряет температуру и шлет её брокеру. В остальное время находится в режиме сна.
Данная статья не рассматривает вопросы установки micropython на esp8266 и физического подключения датчика. Это всё легко гуглится.

  Телеграм-бот для домашнего видео-наблюдения из подручных материалов

 

Эта статья содержит некоторое количество программного кода, написанного на языке Python. Ввиду того, что автор статьи по профессии является сисадмином, но не программистом — стиль и качество этого кода, могут вызвать проявление неконтролируемых эмоций у профессионалов. Пожалуйста, немедленно прекратите чтение если вид неаккуратного или неоптимального кода может негативно сказаться на вашем психическом состоянии.

  ScadaPy — использование OPC UA

В предыдущих нескольких статьях, мною были описаны возможности применения протокола modbus для создания собственной Scada системы на базе python. В этот раз хочется поделиться опытом построения системы опроса подчиненных устройств с использованием ОРС технологии. 
Недостатки OPC серверов в том, что их можно использовать только в операционных системах семейства Microsoft Windows (как правило они платные), а об устройствах использующих ОС Linux можно было забыть. 

  Гибкая система управления доступом на уровне объектов-записей

 

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

  Пишем список дел на Python 3 для Android через QPython3 и SL4A

Движок QPython (и QPython 3) для Android – вещь по-прежнему плохо изученная, и особенно что касается его встроенной библиотеки Scripting Layer For Android (SL4A), она же androidhelper. Эту библиотеку написали несколько сотрудников Google по принципу 20% свободного времени, снабдили ее спартанской документацией, которую почти невозможно найти, и отправили в свободное плавание. Я искал информацию об SL4A по крупицам, но со временем нашел практически все, что мне нужно.

Видео

  Александр Ковалёв - Построение распределённых Django систем

"Занимаюсь разработкой почти 25 лет. Последние 4 года пишу backend и утилиты на Python. В докладе расскажу, из чего можно построить сеть однотипных веб-сайтов с централизованным управлением пользователями и публикуемыми материалами. Как обычно, пишем максимально абстрактный код, чтобы избежать постоянного переписывания кода и "допиливания" под каждый сайт. Я рассмотрю выбранный и отвергнутый инструментарий (Django, Redis, RabbitMQ, Celery, Docker), подход к синхронизации данных, вспомню про любимые аббревиатуры DRY и MVP и расскажу про некоторые ошибки и недоработки. Постараюсь успеть рассказать про deploy".

Слайды: https://conf.python.ru/distributed-django/

  Артём Малышев - HTTP/2 глазами потребителя

"Протокол HTTP/2 поддерживается всеми современными браузерами. Google performance team пропагандирует его адаптацию. Всё больше известных сайтов начинают предоставлять его поддержку наравне с обычным HTTP. Доклад о том, зачем нам это всё надо, какие преимущества в целом даёт и как это готовить в питоне. Да, про Django тоже будет". 
Слайды: https://conf.python.ru/http2-glazami-potrebitelya/

  Александр Хаёров - Как управлять микросервисами при помощи Istio

"После эпохи монолитных приложений мы перешли в век микросервисов. Число их множится, а архитектура всего проекта перестает быть простой. Если вам сложно запомнить о всех взаимодействиях написанных микросервисов и вы ищите нечто, что поможет в организации и управлении инфраструктуры, то этот доклад для вас. Мы познакомимся с Istio, узнаем что к чему и поймем как это использовать на живом примере".

Слайды: https://conf.python.ru/microservices-istio/

  Ling Zhang - Building a Fast Fuzzy Searcher and Spell Checker

"Spelling is hard, really hard. It's an everyday user frustration to try to search for a friend's name or the name of a restaurant that they heard but end up writing it wrong. In this talk, we will cover a python implementation of a single fast algorithm that can recover from spelling errors, typing errors, and even transliteration mistakes! We will also integrate this with a language model to make it context aware. With this technique, you can build powerful fuzzy text searchers and spell checkers".

Slides: https://conf.python.ru/building-fast-fuzzy-searcher-and-spell-checker/

  Владимир Филонов - Асинхронность в Python: оглядываясь назад

"Уже примерно год, как я использую асинхронный python в боевых проектах. Мнолитные системы, микросервисы, утилиты. Думаю пора рассказать какие выводы я сделал за этот год, чего хотел бы увидеть в python в будущем, и почему продолжаю применять Erlang\Elixir".

Слайды: https://conf.python.ru/asinhronnost-v-python-oglyadyvayas-nazad/

  Александр Швец - Как взбодрить грустную панду? Используем Pandas в Production

"Последние 7 лет я активно занимаюсь разработкой в области AdTech, а это всегда работа с данными, порой очень и очень большими. Также я читаю курс в Нетологии, посвященный исследованию данных на Python. На Moscow Python Conf я хочу поделиться с вами практикой промышленного использования Pandas и чем она отличается от теории. Ведь существует мнение, что Pandas предназначен только для исследовательских задач или для того, чтобы что-нибудь быстро прикинуть на коленке, так как он медленный и неповоротливый. Однако мы на своем опыте убедились, что Pandas можно и нужно использовать в бою, если вы работаете с большим количеством данных. В докладе я расскажу про оптимизацию Pandas для быстрой обработки больших массивов данных".

Слайды: https://conf.python.ru/kak-vzbodrit-grustnuyu-pandu-ispolzuem-pandas-v-production/

  Александр Карпинский - Работа с изображениями на Python в 2017 году

"Я работаю в компании Uploadcare и занимаюсь сервисом высокопроизводительной модификации изображений на лету. Некоторое время назад сделал ряд полезных изменений в популярной библиотеке для работы с изображениями Pillow. Параллельно развиваю свой форк Pillow-SIMD, нацеленный на максимальную производительность. В докладе я расскажу, как наиболее эффективно можно решать задачи обработки изображений в современном Питоне. Какие есть инструменты, какие могут быть подводные камни. Поделюсь собственным опытом и наработками".

Слайды: https://conf.python.ru/rabota-s-izobrazheniyami-na-python-v-2017-godu/

  Дмитрий Жильцов - Бинарные модули для Python

"Я расскажу про малоосвещенную тему – бинарные модули в питоне. В данном докладе речь будет идти о следующем: 1. Когда необходимы бинарные модули и зачем они нужны. В каких случаях их лучше использовать, а в каких нет. Как спроектировать грамотную архитектуру общения кода на Python с бинарным расширением. 2. Технологии и инструменты для разработки бинарных расширений. Минусы и плюсы каждого. Доклад рассчитан на разработчиков, у которых есть потребность в разработке своих бинарных модулей, но не хватает опыта".

Слайды: https://conf.python.ru/binarnye-moduli-dlya-python/.

  Ринат Хабибиев - Django и http-кэширование

"Много лет работая с Django, мне часто приходилось дорабатывать встроенные решения, либо заменять их на свои собственные реализации. На встрече речь пойдёт о механизме HTTP-кэширования Django, об эффективном его использовании и о том, как сделать этот инструмент ещё более эффективным, устранив в нем несколько проблем и добавив новых возможностей. Заодно, разберём лучшие практики HTTP-кэширования и попробуем решить главнейшую проблему в программировании - инвалидацию кэша".

Слайды: https://conf.python.ru/django-and-http-cash/

  Сергей Пронин - Python & Google Cloud Platform

"В рамках доклада расскажу про шестилетний опыт работы на Python с AppEngine и Google Cloud Platform. Отличие сервисов, вариантов хранения данных, интеграция между ними; использование Google APIs. Плюсы / минусы / подводные камни, сравнение с другими облачными платформами. Другими словами, «Как за 6 лет вырастить стартап с нуля до трех миллионов пользователей, не думая о scaling-е»".

Слайды: https://conf.python.ru/python-google-cloud-platform/

  Глеб Ивашкевич (Независимый разработчик) - Распределенный Tensorflow и облака

"Tensorflow быстро стал одним из самых популярных фреймворков для глубокого обучения. Но несмотря на свою гибкость и мощь, в нем есть немало плохо документированных, да и просто сложных элементов. Мы разберемся с некоторыми из них: работой на нескольких графических процессорах и распределенным использованием Tensorflow. Системы с несколькими GPU - распространенная данность и мы рассмотрим несколько вариантов использования таких систем из Tensorflow. Распределенные системы более экзотичны, поэтому мы попробуем понять, когда они действительно нужны и насколько сложно с ними работать. Во всем этом нам поможет Amazon Web Services. Без сравнения Tensorflow с конкурентами рассказ был бы неполным, поэтому мы немного покритикуем TF (и, возможно, сделаем несколько комплиментов MXNet) и разберемся, почему несмотря на некоторые недостатки Tensorflow остается лидером".

Слайды: https://conf.python.ru/raspredelennyj-tensorflow-i-oblaka/

  Александр Горелик - Блокчейн и Python

"Веду разработку на блокчейне уже 2 года - начинал как энтузиаст, но теперь, в рамках собственного проекта, это является моей основной деятельностью. В рамках доклада я расскажу про проблемы, которые помогает решать блокчейн, как эти проблемы решали раньше и почему с блокчейном - лучше. Обсудим когда это всего лишь инструмент, а когда - нечто большее. Рассмотрим области применения, а также когда и как его стоит использовать и для решения каких задач. Поделюсь подходами к выбору блокчейна для решения нужной задачи. Расскажу что есть в Python для работы с блокчейном, а чего - нет. Задачей доклада вижу дать интересующимся разработчикам, которые только слышали про блокчейн, или знают лишь общие концепции, хорошую стартовую площадку для дальнейшего самостоятельного изучения в глубину".

Слайды: https://conf.python.ru/blockchain-python/

Релизы

  Dependency Injector 3.7.1

Changelog: - Add support of six 1.11.0.

  django-extensions - 1.9.7

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