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

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

     30.09.2019       Выпуск 302 (30.09.2019 - 06.10.2019)       Статьи

[Перевод] Python в Visual Studio Code: сентябрьское обновление расширения

Мы рады сообщить, что сентябрьское обновление расширения Python для Visual Studio Code уже доступно. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

     29.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Атомный квест в Битцевском парке

В связи с повсеместным хайпом по поводу Чернобыля в начале лета (по крайней мере в среде ядерной энергетики), а также гремящих словах цифровизация и геймификация, мы в ИБРАЭ РАН решили создать некоторое подобие квеста-приложения в котором концептуально моделируется эксплуатация энергоблока атомной станции и провести его тестирование в Битцевском парке.

     27.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Сравнение малопопулярных и не очень CLI-библиотек: cliff, plac, plumbum и другие (часть 2)

В экосистеме Python существует множество пакетов для CLI-приложений, как популярных, вроде Click, так и не очень. Наиболее распространённые были рассмотрены в предыдущей статье, здесь же будут показаны малоизвестные, но не менее интересные.

     28.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Изменение климата: анализируем температуру за последние 100 лет

Про изменение климата сейчас не говорит только ленивый. И случайно найдя неплохой сайт с историческими данными, стало интересно проверить — как же реально менялась температура с годами. Для теста мы возьмем данные с нескольких городов и проанализируем их с помощью Pandas и Matplotlib. Заодно выясним, где теплее, в Москве или Петербурге.

     27.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 2

Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода.

     27.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи
     26.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Начало работы с асинхронными функциями в Python

Если вы совершено не знакомы с асинхронным программированием и хотите разобраться с этим максимально простым способом, это статья для вас. В статье рассказывается то такое синхронные и асинхронные программы, и их отличия.

Оригинальная статья: Doug Farrell  – Getting Started With Async Features in Python

     26.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Путь к проверке типов 4 миллионов строк Python-кода. Часть 1

Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода.

В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентских приложений. Ещё мы в больших объёмах применяем Go, TypeScript и Rust, но Python — это наш главный язык. Если учитывать наши масштабы, а речь идёт о миллионах строк Python-кода, оказалось, что динамическая типизация такого кода неоправданно усложнила его понимание и начала серьёзно влиять на продуктивность труда. Для смягчения этой проблемы мы приступили к постепенному переводу нашего кода на статическую проверку типов с использованием mypy. Это, вероятно, самая популярная самостоятельная система проверки типов для Python. Mypy — это опенсорсный проект, его основные разработчики трудятся в Dropbox.

     25.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Играемся с комплексными числами

Очередной очерк. На этот раз поиграемся с комплексными числами, с формулами и их визуализацией.

     24.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Как обработать большие xml на 8 Гб памяти. Работаем с базой ФИАС,pandas и python

Скачать ее можно перейдя по ссылке, данная база является открытой и содержит все адреса объектов по России (адресный реестр). Интерес к этой базе вызван тем, что файлы, которые в ней содержатся достаточно объемны. Так, например, самый маленький составляет 2,9 Гб. Предлагается остановиться на нем и посмотреть, справится ли с ним pandas, если работать на машине, располагая только 8 Гб оперативной памяти. А если не справится, какие есть опции, для того, чтобы скормить pandas данный файл.

     24.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Робот-танк на Raspberry Pi с Intel Neural Computer Stick 2

Вот и наступил новый этап в развии Raspberry-танка.

В предыдущей серии оказалось, что семантическая сегментация из коробки не по зубам Raspberry.

     21.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.

     20.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Как создать Python wrapper и не сойти с ума

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

 

В этой статье я решил показать не один путь для решения подобной задачи, а несколько разных вариантов. Я покажу варианты создания модулей на Pythonс компиляцией в С, использование маленькой самописной библиотеки С в Python и – последний вариант – использование большой C библиотеки в Python без боли и pxd файлов.

     20.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Задача: извлечь ключевые выражения из текста на русском языке. NLP на Python

Что было нужно в самом начале:

 

  • программа, «выуживающая» из сырого текста на русском языке уникальные названия продукции по определенной отрасли. Сырой текст — текст, который писал человек, просто излагая свои мысли и не заботясь о формировании или выделении какого-либо списка слов;
  • автоматически получаемый список слов;
  • минимальная ручная или автоматизированная обработка для преобразования списка в набор хештегов или ключевых слов к тексту.

     19.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

C/C++ из Python (CFFI, pybind11)

Продолжаем тему как вызывать C/C++ из Python3. Теперь используем библиотеки cffi, pybind11. Способ через ctypes был рассмотрен в предыдущей статье.

     19.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Наследование и композиция: руководство по ООП в Python

В этой статье мы подробно рассмотрим наследование (inheritance) и композицию (composition) в Python. Наследование (Inheritance) и композиция (composition) – это две важные концепции в объектно-ориентированном программировании, которые моделируют отношения между двумя классами. Они являются строительными блоками объектно-ориентированного проектирования (object oriented design) и помогают программистам писать повторно используемый код.

Оригинальная статья  Isaac Rodriguez  – Inheritance and Composition: A Python OOP Guide

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Делаем домашнюю библиотеку с Notion и Python

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

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Анализируем историю прослушивания в «Яндекс.Музыке»

Вот уже почти год я пользуюсь сервисом Яндекс Музыка и меня все устраивает. Но есть в этом сервисе одна интересная страница — история. Она хранит все треки, которые были прослушаны, в хронологическом порядке. И мне, конечно, захотелось скачать ее и проанализировать, что я там наслушал за все время.

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Must-have алгоритмы машинного обучения


Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib

Что будет в этой статье.

Общий случай:

 

  1. Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy)
  2. Опишем материальную точку и поле взаимодействия
Частный случай (на основе общего):

 

  1. Сделаем визуализацию векторного поля напряженности электромагнитного поля (первая и третья картинки)
  2. Сделаем визуализацию движения частиц в электромагнитном поле