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

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

     25.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

Автомобили в Голландии: статистика и информация за 2019 год

Эта статья является продолжением цикла про Велоинфраструктуру в Голландии. В этот раз речь пойдет про автомобили.

     24.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

Добавляем в Jupyter Notebooks красоту и интерактивность

Многие используют в своей работе Jupyter Notebooks. Но с ростом сложности проекта появляются проблемы. В блокноте появляются ячейки с красными пометками для самого себя «перед запуском укажи число...» или «задай количество итераций исходя из...». Какой-то откат к командной строке получается.

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

     23.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

NodeJS vs Python. Делаем правильный выбор

Представляю вашему вниманию перевод статьи «NodeJS vs Python: How to Choose the Best Technology to Develop Your Web App's Back End» автора Oleg Romanyuk.

     23.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

Конфигурационные файлы в Python

Конфиги. Все хранят их по разному. Кто-то в .yaml, кто-то в .ini, а кто-то вообще в исходном коде, подумав, что "Путь Django" с его settings.py действительно хорош.

 

В этой статье, я хочу попробовать найти идеальный (вероятнее всего) способ хранения и использования конфигурационных файлов в Python. Ну, а также поделиться своей библиотекой для них :)

     23.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

SVM. Объяснение с нуля, имплементация и подробный разбор

В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими руками. На примере датасета будет продемонстрирована работа написанного алгоритма с линейно разделимыми/неразделимыми данными в пространстве и визуализация обучения/прогноза. Дополнительно будут озвучены плюсы и минусы алгоритма, его модификации.

     23.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

А что, если без Python? Julia для машинного обучения и вообще

Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки работают гораздо быстрее, но в них легче наделать ошибок, поиск которых сведет весь выигрыш в скорости на нет.

Обычно эта дилемма решается так: сначала пишут прототип на чем-то гибком, например, на Python или R, а потом переписывают на C/C++ или Fortran. Но этот цикл слишком длинный, можно ли обойтись без этого?

     23.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12

Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использования методов асинхронного программирования. Тем более, что раздел для начинающих — как раз для меня.

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

     20.01.2020       Выпуск 318 (20.01.2020 - 26.01.2020)       Статьи

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation)

В этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в продакшен оптимизированные модели в кратчайшие сроки). Пролистывая сообщения в каналах сообщества ods.ai, я сталкиваюсь с вопросами по использованию TensorRT, и в основном вопросы повторяются, поэтому я решил написать как можно более полное руководство по использованию быстрого инференса на основе TensorRT, RetinaNet, Unet и docker.

     18.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Используем Cura на 3D SLA принтере Photon

Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер оставляет желать лучшего, очень уж он слабоват. Нет контроля заполнения, поддержки плохо управляются и т.п… В общем решил я это дело обойти с помощью Cura, просто решил что может сработать и можно заюзать его… Поискал в сети описание формата Photon, он оказался довольно простым… И вот что из этого вышло

     18.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Python 3.5 Реализация параллелизма с использованием asyncio

Перевод главы 13 Параллелизм
из книги ‘Expert Python Programming’,
Second Edition
Michał Jaworski & Tarek Ziadé, 2016

     17.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Путешествие к центру… docker image. Или как скачать образ из registry без docker

За 3 дня до нового года появилась задача, передать клиенту наше ПО через менеджера, на флешке. ПО – это микросервисная платформа в несколько десятков docker-образов с множеством настроек и “километровым” helm-чартом

     16.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория

Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скорость выполнения кода на питоне к скорости на си. В данной статье — чуть более подробный разбор этой ситуации (часть 2) и рекомендации по «приручению» numba (часть 1).

     16.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Python (+numba) быстрее си — серьёзно?! Часть 2. Практика

Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» с более детальными бенчмарками, графиками и пояснениями. Сразу оговорюсь, что я видел статью Ох уж этот медленный C/C++ и, скорее всего, если внести в код на си эти правки, картина несколько изменится, но даже в этом случае то, что питон способен превысить скорость си хотя бы в таком варианте, само по себе является примечательным.

     15.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Подборка @pythonetc, декабрь 2019

Новая подборка советов про Python и программирование из авторского канала @pythonetc.

     15.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Хаос зависимостей в Python

Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell.

     15.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Python в Visual Studio Code – январский релиз 2020

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

     13.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Keras Functional API в TensorFlow

В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ациклического графа, что дает намного больше возможностей для построения сложных моделей. В материале перевод руководства, посвященного особенностям Functional API, с сайта TensorFlow.

     13.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Что принёс нам Pandas 1.0

9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25.

 

Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт документации.

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

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Разработка идеального pypi пакета с поддержкой разных версий python

Это небольшой мануал/история о том, как создать "идеальный" pypi пакет для python, который каждый желающий сможет установить заветной командой:

 

pip install my-perfect-package

Ориентирована на новичков, но призываю и профессионалов высказать свое мнение, как можно улучшить "идеальный" пакет. Поэтому прошу под кат.

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Повышение продуктивности при работе с Jupyter Notebook за 5 минут

Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.