Вторая часть статьи про создание Python bindings с помощью SIP

Вторая часть статьи про создание Python bindings с помощью SIP

Как и обещал в прошлом посте, сегодня выложил вторую часть статьи, посвященной созданию Python-обвязок (bindings) с помощью утилиты SIP. Во второй части речь идет о создании обвязки для объектно-ориентированных библиотек, написанных на C++, в которых фигурируют классы.

Ссылка на статью — Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 2

Новая статья в разделе про Python

Новая статья в разделе про Python

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

Для решения такой задачи — использования библиотек, написанных на C/C++, из Python-приложения существует много решений. Одно из них — SIP. Эта утилита изначально разрабатывалась для создания Python-обвязки над такой монстроидальной библиотекой как Qt (получившаяся обвязка — PyQt). Я написал большую статью в двух частях про использование основы использования SIP для создания Python-обвязок над библиотеками. Сегодня я выложил первую часть — Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1.

Чуть позже выложу продолжение.

Статья «Использование библиотеки Matplotlib. Как делать анимированные графики»

Статья "Использование библиотеки Matplotlib. Как делать анимированные графики"

Давно я не ничего писал про библиотеку Matplotlib. Для тех, кто не знает, эта библиотека для языка Python, предназначенная для рисования огромного количества графиков.
Как-то в комментариях мне написали, что один пример не работает. Как оказалось, он действительно сломался после обновления библиотеки Matplotlib. Но вместо того, чтобы просто починить пример (надо было добавить одну строчку) я решил написать более развернутую статью на ту же тему.

В новой версии статьи приводится четыре способа создания анимированных графиков.

Ссылка на статью — Использование библиотеки Matplotlib. Как делать анимированные графики.

О книге «Элегантный SciPy»

Приятно, что в последнее время появляется много книг не просто о языке Python, но и о применении его в более узких областях. Меня в первую очередь интересуют инженерные расчеты, в которых практически стандартом являются библиотеки Numpy, SciPy и Matplotlib. На эту тему мне попадалось несколько книжек, но, к сожалению, все они страдают одной проблемой — после них нельзя сказать, что ты знаешь, например, Numpy.

Недавно я дочитал еще одну книгу сразу трех авторов: Хуана Нуньеса-Иглесиаса, Штефана ван дер Уолта и Харриет Дэшноу «Элегантный SciPy», которая посвящена научным расчетам на языке Python. К сожалению, и она страдает той же проблемой, что и другие известные мне книги, но хочется про нее все-таки рассказать.

Читать далее ‘О книге «Элегантный SciPy»’ »

Книга «Разработка веб-приложений с использованием Flask на языке Python»

Если говорить о веб-разработке на Python, то в первую очередь вспоминается веб-фреймворк Django, на основе которого создано огромное количество как небольших сайтов, а также таких монстров как Instagram, сайт Mozilla, Bitbucket и множество других. Django хорош тем, что к нему «прилагаются батарейки», т.е. в библиотеку входит большое количество инструментов, которые могут понадобиться для построения движка сайтов разных типов — это пакеты для работы с базой данных, для создания профилей пользователей и их авторизации, для создания форм по объектом данных и т.д. Это удобно, но из-за этого сам фреймворк становится достаточно тяжелый, а при его обновлении каждый раз что-нибудь ломается. К тому же, если вас не устраивает какая-то часть фреймворка, то заменить ее на аналог может быть тяжело.

В противоположность тяжеловесному Django был создан микрофреймворк Flask, пропагандирующий противоположный подход — сам Flask является очень минималистичным, а многие возможности в него добавляются с помощью расширений. Если вас не устраивает одно расширение, вы можете его заменить на аналогичное другое. Обновление используемых библиотек поэтому тоже теоретически должно проходить более гладко.

Я был приятно удивлен, узнав, что 2016 году была переведена книга Мигеля Гринберга «Flask Web Development», которая на русском языке стала называться «Разработка веб-приложений с использованием Flask на языке Python».

Читать далее ‘Книга «Разработка веб-приложений с использованием Flask на языке Python»’ »

Третий доклад на Moscow Python Meetup

Месяц назад я выступил на ежемесячной московской конференции программистов на Python — Moscow Python Meetup. Это уже третий доклад, который я делал на этой конференции — два предыдущих были в прошлом году (первый и второй). В этот раз я рассказывал о том, как работает сборка OutWiker. Не знаю как для всех остальных, но для меня этот доклад оказался особенно полезным, потому что после него подсказали интересные идеи и новости, а ещё на этой конференции мы развиртуализировались с Владимиром Тубольцевым, который в последнее время много интересного сделал для OutWiker-а.

Что касается комментариев и вопросов к докладу. Меня почти убедили, что для сборки можно использовать Docker вместо виртуальных машин. До сих пор мне казалось, что если нужно делать сборки для 32- и 64-хбитных процессоров, то Docker здесь не поможет. После доклада меня заверили, что все будет OK, так что можно будет попробовать.

Путаница произошла с версиями Fabric. Дело в том, что изначально OutWiker использовал Fabric 1, который работает только под Python 2.x, но после перехода на Python 3 оказалось, что есть версия Fabric, работающая под Python 3.x — Fabric 3. А буквально за полторы недели до доклада внезапно вышла новая версия Fabric — Fabric 2 с полностью переработанным API, поэтому то, что я рассказывал в докладе и в статье уже устарело, поскольку новый API был переделан полностью, и от старого Fabric мало что осталось. Поэтому скорее всего один из вопросов на видео был про Fabric 2, но я этого не понял. Теперь с версиями Fabric полная чехарда — версия 2 новее версии 3.

А теперь видео доклада:

Читать далее ‘Третий доклад на Moscow Python Meetup’ »

Еще один доклад на Moscow Python Meetup

Недавно сделал еще один доклад на конференции Moscow Python Meetup, которая проходила в Яндексе. Этот доклад был посвящен созданию запускаемых файлов (exe-шников) из скриптов на Python и продолжал тему доклада про создание настольных приложений на Python. Доклад родился из статьи про создание запускаемых файлов с помощью библиотеки cx_Freeze, но в доклад включил еще упоминание про pyInstaller — аналог cx_Freeze.

Что-то в этот раз я сильно волновался. Видео включает в себя все три доклада конференции, мое выступление начинается примерно с 32-й минуты.

Статья про создание exe-шников из python-скриптов

Написал большую статью про создание запускаемых файлов (.exe, если говорить про Windows) из скриптов на Python с помощью библиотеки cx_Freeze. Ссылка на статью — https://jenyay.net/Programming/Cxfreeze

Доклад на Moscow Python Meetup

Недавно делал доклад на конференции Moscow Python Meetup про создание desktop-приложений на Python. В докладе в качестве примера показывал OutWiker. Теперь организаторы выложили видео доклада.

Новая статья про создание интерфейса средствами Matplotlib

Продолжаю пополнять серию статей про использование библиотеки Matplotlib. Для тех, кто с ней незнаком, это замечательная библиотека для построения графиков на языке Python. Сегодня выложил статью под названием Создание интерфейса средствами библиотеки Matplotlib. В этой статье описано, как можно создавать элементы интерфейса с помощью библиотеки Matplotlib, не используя других библиотек.