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

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

     18.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Как извлечь текст из PDF

Список библиотек

     19.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python

Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем и без учителя в low-code среде. PyCaret позволит вам пройти путь от подготовки данных до развертывания модели за несколько секунд в той notebook-среде, которую вы выберете.

По сравнению с другими открытыми библиотеками машинного обучения, PyCaret – это low-code альтернатива, которая поможет заменить сотни строк кода всего парой слов. Скорость проведения более эффективных экспериментов возрастет экспоненциально. PyCaret – это, по сути, оболочка Python над несколькими библиотеками машинного обучения, такими как scikit-learn, XGBoost, Microsoft LightGBM, spaCy и многими другими.

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Dissecting a Web stack

An in-depth review of the components of a (Python) web stack, and the reasons behind each part of it

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Множественное наследование и mixin классы

Подробный обзор инструментов

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Как убить на мелкий скрипт кучу времени или история одного пулл-реквеста

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

 

Понадобилось мне дублировать информацию из markdown-заметок в телеграм-канал. Казалось быть, что тут рассусоливать — Ctrl+C и Ctrl+V в помощь. Однако выяснился маленький нюанс: markdown в телеге не совсем полноценный и ссылки в таком формате [text](http://example.com) клиент не поддерживает. Ладно, подумал я, попробуем что-то с этим сделать.

     16.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Сanny или Arduino) и Raspberry PI

Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, а потом стыдно признаться, вспомнил, что я здоровый дядька, а еще ни разу не подключал ничего по UART. «В жизни надо попробовать всё» — подумал я. Но писать только про подключение к UART скучно, поэтому незамедлительно были заказаны всякие «игрушки», среди которых были новенькая Arduino, и пара датчиков.

Итак, сегодня мы будем делать охранную систему для моей любимой ручки.

     16.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Когда использовать метаклассы в Python: 5 интересных вариантов использования

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

Оригинальная статья: Sebastian Buczyński – When to use metaclasses in Python: 5 interesting use cases

Метаклассы упоминаются среди самых продвинутых возможностей Python. Знание того, как их использовать, воспринимается коллегами как наличие черного пояса Python. Но полезны ли они для всех собеседований или конференций? Давай выясним! Эта статья покажет вам 5 практических применений метаклассов.

     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Вопросы и обсуждения
     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Запускаем Jupyter на орбиту LXD

Приходилось ли вам экспериментировать с кодом или системными утилитами в Linux так, чтобы не трястись за базовую систему и не снести всё с потрохами в случае ошибки кода который должен запустится с root-привилегиями?

 

А как на счет того, что допустим, необходимо протестировать или запустить целый кластер разнообразных микросервисов на одной машине? Сотню или даже тысячу?

     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

StegoPy — Инструмент LSB-стеганографии на Python

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

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

LSB — метод стеганографии, при котором меняются младшие биты одного из RGB цветов в пикселе на биты кодируемого текста.

Потом я познакомился с библиотекой Pillow для работы с изображениями и Cryptography. Вторая в моем случае была нужна для создания DES-шифрования, которое впоследствии будет закодировано побитно в изображение.

     15.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Ускоряем numpy, scikit и pandas в 100 раз с Rust и LLVM: интервью с разработчиком Weld

Представляю вашему вниманию перевод статьи «Interview with Weld’s main contributor: accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM».

Проработав несколько недель с data science инструментарием в Python и R, я начал задаваться вопросом, а нет ли какого промежуточного представления (Intermediate representation, IR) наподобие CUDA, которое можно использовать в разных языках. Должно же быть что-то получше, чем реимплементация и оптимизация одних и тех же методов в каждом языке. В дополнение к этому было бы неплохо иметь общую среду выполнения (common runtime), чтобы оптимизировать всю программу целиком, а не каждую функцию в отдельности.