библиотека для создания приложений python

Лучшие GUI библиотеки Python 2020

Будучи Python-разработчиком, вы должны знать топ-5 GUI библиотек, который помогут добавить графический интерфейс в приложение.

Что такое GUI?

GUI (графический интерфейс пользователя) — это форма интерфейса, которая позволяет пользователю взаимодействовать с электронным устройством с помощью графических иконок и аудио-индикаторов вместо текстовых интерфейсов. GUI появился в ответ на кажущуюся крутой кривую изучения CLI (интерфейса командной строки), которая требует команд, набираемых с клавиатуры.

GUI-фреймворки легко доступны — они бесплатны и имеют открытый исходный код. В Python есть широкий спектр вариантов: от кроссплатформенных до заточенных под конкретную платформу.

библиотека для создания приложений python. gui biblioteka kyvi. библиотека для создания приложений python фото. библиотека для создания приложений python-gui biblioteka kyvi. картинка библиотека для создания приложений python. картинка gui biblioteka kyvi.

Kyvi — это бесплатная библиотека Python с открытым исходным кодом. Она используется для разработки мобильных приложений и других приложений широкого назначения с естественным пользовательским интерфейсом. Распространяется по лицензии MIT и может работать на:

библиотека для создания приложений python. gui biblioteka pyqt. библиотека для создания приложений python фото. библиотека для создания приложений python-gui biblioteka pyqt. картинка библиотека для создания приложений python. картинка gui biblioteka pyqt.

PyQT — одна из самых любимых кроссплатформенных Python-библиотек, реализующих библиотеку Qt (принадлежит Nokia) из одноименного фреймворка для разработки приложений. Сейчас PyQT доступна на Unix/Linux, Windows, macOS и Sharp Zaurus. Она объединяет лучшее из Python и Qt. И только разработчик решает, как создавать программу: с помощью кода или Qt Designer для дизайна визуальных элементов.

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

Tkinter

библиотека для создания приложений python. gui biblioteka tkinter. библиотека для создания приложений python фото. библиотека для создания приложений python-gui biblioteka tkinter. картинка библиотека для создания приложений python. картинка gui biblioteka tkinter.

Tkinter — связка Python с набором GUI-инструментов Tk. Это стандартный интерфейс-Python. Он доступен на Linux, Windows и macOS с установленными Python. Имя Tkinter происходит от Tk interface.

PySide

библиотека для создания приложений python. gui biblioteka pyside. библиотека для создания приложений python фото. библиотека для создания приложений python-gui biblioteka pyside. картинка библиотека для создания приложений python. картинка gui biblioteka pyside.

PySide — это библиотека с открытым исходным кодом, которая также предлагается связь с Qt. Qt – это кроссплатформенные приложение и UI-фреймворк, которые позволяют разработчикам писать и разворачивать приложения на разных ОС без переписывания исходного кода.

Объединяя возможности Qt и Python, PySide предоставляет богатство фреймворка Qt для разработчиков, которые пишут ПО на Python и представляет первоклассную платформу для разработчиков на всех основных системах.

WxPython

библиотека для создания приложений python. gui biblioteka wxpython. библиотека для создания приложений python фото. библиотека для создания приложений python-gui biblioteka wxpython. картинка библиотека для создания приложений python. картинка gui biblioteka wxpython.

WxPython — это смесь из библиотеки классов WxWidgets (ранее — WxWindows) для C++ и Python. Ее можно найти здесь: https://www.wxpython.org/. А вот ее Wiki: https://wiki.wxpython.org/.

Выводы

Хорошее знание любого из GUI-фреймворков очень ценно. Вы сможете создавать приложения с полноценным графическим интерфейсом.

Источник

И еще несколько полезных библиотек для Python (с примерами)

Введение

У python одно из самых крупных комьюнити, это обусловлено тем, что этот язык любят многие за его простоту и универсальность. Очень много энтузиастов, которые создают всё новые и новые библиотеки для облегчения разработки, поэтому среди всего этого разнообразия каждый может подобрать несколько библиотек для себя. На github существует много проектов, которые можно встроить к себе в проект, чтобы оптимизировать, улучшить или просто расширить его функционал.

Хотелось бы рассмотреть несколько интересных на мой взгляд библиотек.

Стилизация print

icecream

Для форматирования вывода существует одна удобная библиотека под названием icecream. Она помогает упростить написание логов или принтов для отладки. Рассмотрим пример её работы:

Чтобы подключить информацию о том, в каком месте программы происходит вывод, необходимо добавить всего лишь один аргумент в конфигурации модуля:

Это помогает более точно понять в каком месте происходит сбой в работе программы:

Также можно поменять префикс, который добавляется в начале строки, по дефолту он задан “ic|”. Удобно добавить время для вывода, чтобы видеть в какой момент времени и сколько занимал переход от одного принта к другому.

Если у вас уже имеются расставленные принты в коде, то легко можно переприсвоить print на ic:

Рассмотрим пример вывода более сложных структур, например, словарей:

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

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Также эта библиотека предоставляет возможность стилизовать вывод в зависимости от предоставляемых данных. Например, если есть необходимость дополнительно оформлять текст ошибки (Exception) или есть желание дополнительно выводить тип данных:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

colorama

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Многопоточность (многозадачность)

multitasking

Достаточно выполнить простую установку: pip install multitasking и далее оборачивать метод декоратором @task

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

И если удалить @multitasking.task, код выполнится последовательно:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Связь с другими языками

pythonnet

Иногда возникает потребность запустить код, написанный на другом языке, через Python, например, в целях проверки работы какого-либо стороннего модуля или для оптимизации кода. Существует несколько библиотек, позволяющих сделать это, например, pythonnet позволяет запустить некоторую часть кода, написанную на C# в Python (pythonnet позволяет рассматривать множество элементов clr, как модули в python).

Обращаемся к C# через Python

JPype

Создание десктопных приложений и UI

Для работы с созданием графических приложений есть несколько популярных библиотек, в частности встроенный tkinter и Qt. Но когда необходимо сделать красивое, легковесное графическое приложение, то хотелось бы использовать что-то более мощное, например, html+css+js, именно с этим может помочь библиотека EEL. Она позволяет создать десктопное приложение, где в качестве графической оболочки используется html, css и js (можно использовать различные фреймворки), а в качестве языка для написания бэк-части используется Python (подробнее тут).

Приведем простой пример использования библиотеки. Python код:

И сама структура проекта должна выглядеть так:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Можно запустить файл main.py и убедиться, что всё работает:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader. библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Анимация математических операций и функций

manim

Для создания различного рода графика существуют популярные библиотеки по типу matplotlib, seaborn (построенный поверх matplotlib и pandas). Но хотел бы отметить библиотеку, позволяющую создавать анимации различных графиков, функций и различного рода пользовательских текстов: Manim.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Также более серьёзный пример работы:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Оценка производительности

pympler

Потребление памяти в Python отдельная проблема, которой можно посвятить много времени, поэтому зачастую приходится следить за тем, чтобы python не сожрал всю оперативку. Для проверки памяти есть замечательный модуль pympler, который поможет не только посмотреть память, занимаемую объектом, но также поможет проследить за памятью, которую занимают отдельные классы или типы данных:

Проследим за изменением памяти, занимаемой классом A:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

И в целом за памятью, занимаемой различными структурами

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

py-spy

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

В таком случае можно воспользоваться библиотекой py-spy, она позволяет без остановки программы проверить, сколько времени какие процессы в ней занимают. Установить библиотеку можно через pip install py-spy. Усложним код предыдущей программы, создадим дополнительный модуль sec.py:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Обработка языков

pymorphy2

Плюсы этой библиотеки в том, что она позволяет обрабатывать до нескольких десятков тысяч слов в секунду, занимает мало памяти и основана на словаре opencorpora.

Небольшой пример использования библиотеки:

библиотека для создания приложений python. 86148fa3440728412bc7917e95677f92. библиотека для создания приложений python фото. библиотека для создания приложений python-86148fa3440728412bc7917e95677f92. картинка библиотека для создания приложений python. картинка 86148fa3440728412bc7917e95677f92.

Заключение

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

Источник

Разработка мобильных приложений на Python. Библиотека KivyMD

библиотека для создания приложений python. . библиотека для создания приложений python фото. библиотека для создания приложений python-. картинка библиотека для создания приложений python. картинка .

Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании виджетов. Что-то похожего на туториал по разработке мобильных приложений на Python для новичков здесь не будет, так что если впервые слышите о фреймворке Kivy, вряд ли вам будет все это интересно. Ну, а мы погнали под кат!

На днях скачал из Google Play демонстрационное приложение Flutter UIKit:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Некоторые элементы UI отличаются, не в силу каких-то технических особенностей, из-за которых нельзя было получить идентичный результат, а просто я посчитал, что так будет более органичней (например, черный Toolbar, по моему мнению, совсем не смотрится).

Итак! Что бросается в глаза, глядя на экран, который мы будем воспроизводить? Прозрачный фон переднего layout. В Kivy такую возможность предоставляет FloatLayout, который позволяет размещать в себе виджеты и контроллы один над другим следующим образом:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Схематично наш экран будет выглядеть так:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Разметка этого экрана довольно простая:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Почему я говорю о FloatLayout, если наш экран унаследован от Screen?

Все виджеты во FloatLayout позиционируются от нижнего левого угла, то есть, на экране им автоматически присваивается позиция (0, 0). В разметке не сложно проследить порядок добавления элементов на экран сверху вниз:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Если кто-то обратил внимание, то позицию мы указали только одному виджету:

Каждому виджету в Kivy помимо конкретных координат (x, y) можно указать подсказку позиции:

Так вот, нижнее фоновое изображение…

… благодаря виджету FitImage (библиотека KivyMD), автоматически растягивается на все выделенное ему пространство с сохранением пропорций изображения:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

По умолчанию каждому виджету и лайоуту в Kivy предоставляется 100 % пространства, если не указанно иное. Например, если вы захотите добавить на экран одну кнопку, вы, очевидно сделаете следующее:

И получите результат:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Кнопка заняла 100 % пространства. Чтобы разместить кнопку по центру экрана, нужно, во-первых, задать ей необходимый размер и, во-вторых, указать, где она будет находится:

Теперь картина изменилась:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Также можно указать свойство size_hint, от 0 до 1, (эквивалент 0-100%), то есть, подсказка размера:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Или тоже самое, но подсказка ширины (size_hint_x):

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

MDToolbar имеет высоту в 56dp, не может занимать все пространство, и если ему не подсказать, что его место сверху, то он автоматически прилипнет к нижней части экрана:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Список карточек — OrderProductLayout (о нем мы поговорим ниже) — это ScrollView с элементами MDCard и он занимает всю высоту экрана, но благодаря padding (значения отступов в лайоутах) кажется, что он находится чуть выше центра экрана. Ну а MDBottomAppBar по умолчанию кидает якорь к нижней границе экрана. Поэтому только MDToolbar мы указали, где его место.

Теперь давайте посмотрим, что представляет из себя виджет OrderProductLayout:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Как видим, это четыре карточки, вложенные в ScrillView. В отличие от родительского экрана, который унаследован от FloatLayout, здесь все виджеты читаются сверху вниз.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Это очень удобно, поскольку прослеживается четкая иерархия виджетов, древовидная структура и с одного взгляда понятно, какой виджет/контролл какому лайоуту принадлежит. В Kivy наиболее частым используемым лайоутом является BoxLayout — коробка, которая позволяет размещать в себе виджеты по вертикали либо по горизонтали (по умолчанию — последнее):

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Более наглядно это видно из следующей схемы, где используется BoxLayout горизонтальной ориентации:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Мы запретили BoxLayout использовать 100% пространства — size_hint_y: None и сказали — твоя высота будет ровно такой, какой будет высота самого высокого элемента, вложенного в тебя — height: self.minimum_height.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Если бы мы захотели использовать вертикальную прокрутку списка, нам нужно было бы изменить GridLayout следующим образом:

Заменить строки (rows) на столбцы (cols) и указать в minimum не ширину, а высоту:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Следующие карты — выбор цвета и размера (они практически идентичны):

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Отличительной особенностью языка разметки Kv Language является не только четкая структура виджетов, но и то, что этот язык поддерживает некоторые возможности языка Python. А именно: вызов методов, создание/изменение переменных, логические, I/O и математические операции…

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Вычисление значения value, объявленного в Label

… происходит непосредственно в самой разметке:

И я никогда не поверю, что вот это (код Flutter)…

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

… логичнее и читабельнее кода Kv Language:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Вчера меня спрашивали, как у Kivy обстоят дела со средой разработки, есть ли автокомплиты, хотрелоад и прочие прелести? С автокомплитами все отлично, если пользоваться PyCharm:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Насчет хотрелоад… Python — интерпретируемый язык. Kivy использует Python. Соответственно, чтобы увидеть результат, не нужна компиляция кода, запустил — увидел/протестирвал. Как я уже говорил, Kivy не использует нативные API для рендера UI, поэтому позволяет эмулировать различные модели устройств и платформ с помощью модуля screen. Достаточно запустить ваш проект с нужными параметрами, чтобы на компьютере открылось окно тестируемого приложения так, как если бы оно было запущено на реальном устройстве. Звучит странно, но поскольку Kivy абстрагируется от платформы в отрисовке UI, это позволяет не использовать тяжелые и медленные эмуляторы для тестов. Это касается только UI. Например, тестовое приложение, описываемое в этой статье тестировалось с параметрами -m screen:droid2, portrait, scale=.75.

Слева — запущено на мобильном устройстве, справа — на компьютере:

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Ну, и, наконец, финальный результат — запуск на мобильном устройстве…

Единственное, что огорчает, это скорость запуска. У того же Flutter она просто феноменальная!

Надеюсь, был кому-то полезен, до новых встреч!

Источник

34 open source библиотеки Python (2019)

библиотека для создания приложений python. . библиотека для создания приложений python фото. библиотека для создания приложений python-. картинка библиотека для создания приложений python. картинка .

Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные.

библиотека для создания приложений python. b. библиотека для создания приложений python фото. библиотека для создания приложений python-b. картинка библиотека для создания приложений python. картинка b.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.
Статья переведена при поддержке компании EDISON Software, которая пишет на Питоне, а также занимается разработкой мобильных приложений Android и iOS.

Python Toolkit

1. Pipenv: Python Development Workflow for Humans.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

2. Pyxel: Разработка ретро-игр на Python.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

3. PyTest v3.5: Фреймворк, помогающий писать короткие тесты, и масштабируется для сложных функциональных тестов.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

4. Poetry: Упрощает dependency management и packaging.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

6. Faust: библиотека для стриминговых/потоковых приложений.

библиотека для создания приложений python. nza4ker8q0ysmemkbkwfm8802lg. библиотека для создания приложений python фото. библиотека для создания приложений python-nza4ker8q0ysmemkbkwfm8802lg. картинка библиотека для создания приложений python. картинка nza4ker8q0ysmemkbkwfm8802lg.

7. Pampy: The Pattern Matching о котором вы мечтали.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

8. Pyre-check: Performant type-checking.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

9. Delorean, библиотека для работы со временем и датами.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

10. Cirq: библиотека для работы с схемами Noisy Intermediate Scale Quantum (NISQ).

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

11. Python-nubia: Фреймворк для работы с командной строкой.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

12. Requests-HTML: HTML Parsing for Humans.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

13. Bokeh: интерактивная визуализация данных в современных браузерах.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

14. Vibora: быстро, клёво, асинхронно.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

15. Pywebview v2.0: Отображаем HTML-контент в отдельном окне.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

16. WhatWaf: Обнаружение и обход брандмауэров и систем защиты веб-приложений.

библиотека для создания приложений python. 663f6394c90d679d75c39da1215a8504. библиотека для создания приложений python фото. библиотека для создания приложений python-663f6394c90d679d75c39da1215a8504. картинка библиотека для создания приложений python. картинка 663f6394c90d679d75c39da1215a8504.

17. Molten: минималистичный и быстрый фреймворк для создания HTTP API.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Terminal

18. Termtosvg: записываем сессии работы с терминалом как SVG-анимацию.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

19. Asciinema v2.0: записываем терминальные сессии.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

20. Termgraph: инструменты для командной строки, рисует графики.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Code Editor

21. Black: бескомпромиссный code formatter.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

22. Algojammer: экспериментальный редактор кода для написания алгоритмов.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

23. Bowler: инструмент рефакторинга на уровне синтаксического дерева.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Debugging

24. Py-spy: позволяет визуализировать, на что ваша программа тратит время, не перезапуская программу.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

25. Birdseye: графический дебаггер, использующий AST.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

26. Icecream: няшный дебаггер.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Compiler

27. Transcrypt: транслятор Python 3.7 to JavaScript.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

28. Pyodide: datascience-стек в браузере.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Data Related

29. Voluptuous: валидация данных.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

30. Botflow: Data driven programming framework for Data pipeline work (Web Crawler, Machine Learning, Quantitative Trading.etc).

библиотека для создания приложений python. d4f49b91dc7757ea30ecdaf5912fd87f. библиотека для создания приложений python фото. библиотека для создания приложений python-d4f49b91dc7757ea30ecdaf5912fd87f. картинка библиотека для создания приложений python. картинка d4f49b91dc7757ea30ecdaf5912fd87f.

31. Fast-Pandas: сравнительные тесты производительности в Pandas операциях.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

Chart

32. A Tour in the Wonderland of Math with Python: коллекция скриптов для рисования красивых фигур и анимации алгоритмов.

библиотека для создания приложений python. 20pcaqtgp6i bgvrngauj uqgl0. библиотека для создания приложений python фото. библиотека для создания приложений python-20pcaqtgp6i bgvrngauj uqgl0. картинка библиотека для создания приложений python. картинка 20pcaqtgp6i bgvrngauj uqgl0.

33. Chartify: помогает data scientists создавать графики.

библиотека для создания приложений python. image loader. библиотека для создания приложений python фото. библиотека для создания приложений python-image loader. картинка библиотека для создания приложений python. картинка image loader.

34. Hypertools v0.5: A инструмент для геометрического представления многомерных данных.

Источник

15 Python-пакетов, которые нужно попробовать

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

Подборка самых полезных и разноплановых Python-пакетов с PyPI.

За что мы любим Python? Для начала это — красивый и простой в изучении язык. Но есть и другая причина: Python поставляется с батареей возможностей. Это означает, что по умолчанию в Python уже добавлено множество полезных библиотек. Но, на мой взгляд, популярным и мощным Python делают 230 тысяч пакетов, созданных пользователями.

В данной статье я подобрал для вас 15 пакетов, которые за 10 лет моей работы с Python принесли мне максимум пользы. Давайте начнем!

Dash появился не так давно. Это идеальное решение для создания приложений по визуализации данных на чистом Python. То есть такой пакет крайне полезен для всех, кто работает с данными. Dash — это смесь Flask, Plotly.js и React.js.

Dash позволяет быстро разместить данные на красивом дашборде, не прикасаясь к JavaScript.

Pygame — это модуль-обертка для мультимедийной библиотеки SDL. Simple DirectMedia Layer представляет собой кроссплатформенную библиотеку разработки, которая дает низкоуровневый доступ к:

Pygame портативен и запускается практически на всех платформах и операционных системах. Несмотря на то, что Pygame — это, в первую очередь, игровой движок, он вполне сгодится для простого воспроизведения mp3-файлов из Python-скриптов.

У Pygame есть свой сайт с англоязычными уроками и инструкциями по установке.

Pillow является ответвлением Python Imaging Library. Эта библиотека подойдет для создания миниатюр, преобразования в различные форматы, наложения фильтров, вращения и отображения изображений и т.д. Pillow — идеальный вариант для пакетной обработки большого количества изображений.

Для большей наглядности приведу пример того, как вы можете отобразить изображение из Python-кода:

Либо сделать тоже самое из Python Shell или IPython:

Почитать описание всех функций можно в документации.

Colorama помогает добавить цвета в терминал:

Причем делается все очень просто. Вот небольшой пример кода:

Этот пакет отлично украшает Python-скрипты. Документация проста и понятна, почитать ее можно на странице Colorama в PyPI.

Если хотите, чтобы Colorama работала под Windows, то вначале вызовите colorama.init().

Работать с JSON в Python — сплошное удовольствие, ведь он прекрасно отображается в Python-словаре. Кроме того, Python поставляется с собственной библиотекой для создания и анализа, или разбора, JSON. Для меня это одна из лучших функций в Python. Если мне нужно поработать с JSON, то я непременно выберу Python.

Но в стандартном пакете есть и кое-что, чего вам может не хватать. Если вы пользуетесь json.loads(), а данные из словаря получаете вручную (возможно, добавляя какие-то циклы), то готовьтесь сильно удивиться!

JMESPath (читается как «JAMES PATH») делает работу с JSON на Python еще проще. Теперь вы можете декларативно указывать, как извлекать элементы из JSON-документа. Вот несколько примеров, иллюстрирующих возможности JMESPath:

Это лишь небольшая часть того, что может JMESPath. Почитать подробнее можно в документации и на странице PyPI.

Requests основан на самой часто скачиваемой Python-библиотеке — urllib3. Requests максимально упрощает веб-запросы, оставаясь при этом чрезвычайно мощным и разноплановым инструментом. Скорее всего, вы уже знакомы с этим пакетом, но без него мой список был бы неполным.

Просто, чтобы показать вам, как легко работать с Requests:

Это простейший пример. В Requests есть и более продвинутые опции. Например:

Что не так с нативным JSON-модулем в Python? Ничего! Более того, json в Python — это и есть simplejson. То есть Python берет версию simplejson и добавляет ее в каждый свой релиз. А в использовании simplejson есть свои преимущества, ведь он:

Поэтому часто в скриптах, работающих с JSON, вы можете увидеть следующее:

Лично я стараюсь пользоваться стандартным JSON, кроме случаев, когда мне нужны:

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

Пакет Emoji либо впечатляет, либо огорчает. Все зависит от самого «оценщика». Шутки шутками, но этот пакет мне очень помог при анализе данных из соцсетей.

Для начала установим модуль emoji:

После установки можно делать следующее:

Почитать документацию и ознакомиться с другими примерами можно на странице пакета emoji.

Модуль Chardet используется для определения кодировки файла или потока данных. Этот пакет очень выручает при анализе больших полотен разного текста. Также Chardet пригодится при работе с удаленно скачанными данными в неизвестной вам кодировке.

После установки Chardet у вас появится дополнительный инструмент командной строки под названием chardetect. Им можно пользоваться вот так:

Конечно же, никто не запрещает работать с библиотекой классическим (программным) способом. Подробнее см. документацию.

python-dateutil предлагает мощные расширения стандартного модуля datetime. Мой профессиональный опыт подсказывает, что там, где заканчивается стандартный функционал datetime в Python, начинается сфера python-dateutil.

С этой библиотекой можно сделать столько всего полезного. Пожалуй, я ограничусь одним примером, который помогал мне чаще всего, — нечетким разбором (парсингом) дат из файлов журнала и т.п.:

В документации перечислены остальные возможности python-dateutil, включая:

Тут я немного схитрю, объединив в одном пункте сразу два пакета. Но не упомянуть об одном из них было бы в корне неправильно.

Вы можете создавать свои индикаторы состояния. Это весьма увлекательное занятие. Но делать то же самое с progress или tqdm куда быстрее и надежнее.

Progress помогает создавать индикаторы состояния с минимальными усилиями:

Анимация ниже наглядно показывает все доступные типы индикаторов:

Краткую и понятную документацию по библиотеке можно почитать на PyPI-странице.

tqdm является чуть более современным аналогом progress, выполняющим те же функции. Для начала небольшая демонстрация возможностей:

В tqdm есть своя изюминка — им можно пользоваться в командной строке:

Больше примеров и документацию можно найти на Github-странице tdqm.

Что-то мне подсказывает, что все вы знаете об интерактивной оболочке Python. Это отличный способ покопаться внутри Python. Но знаете ли вы, что существует оболочка и для IPython? Если вы во всю работаете с интерактивной оболочкой, но не знаете самого IPython, то однозначно присмотритесь к этому пункту!

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

IPython — это ядро блокнотов Jupyter. Jupyter Notebook — это веб-приложение с открытым кодом, которое позволяет создавать и обмениваться документами с живым кодом, уравнениями, визуализациями и текстовыми описаниями.

Я обожаю домашнюю автоматизацию. Это не просто мое хобби, но и нечто, контролирующее большую часть моего жилища. Поэтому к данному вопросу я подхожу весьма серьезно. Все системы в моем доме связаны через Home Assistant. Это полноценное приложение, которое можно установить и в виде Python-пакета из PyPI.

Вот уже более 3 лет я каждый день пользуюсь Home Assistant, и все это время он доступен в бета-версии. Тем не менее, это лучшее из всего, что я пробовал. Home Assistant может интегрировать и управлять любыми устройствами и протоколам. Кроме того, он бесплатен и написан с открытым кодом.

Если вы интересуетесь домашней автоматизацией, то однозначно попробуйте Home Assistant! Более подробная информация доступна на их сайте. Если получится, то саму платформу можно скачать с Raspberry Pi. Это простой и безопасный способ начать работу. Я установил Home Assistant на более мощный сервер — внутри Docker-контейнера.

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

Если вы знаете, что в скором времени займетесь разработкой крупного веб-приложения, то стоит присмотреться к полноценному фреймворку. Самым популярным в этой категории считается Django.

Когда вы вытаскиваете HTML с какого-то сайта, то сначала проводите его разбор и отсекаете все ненужное. Beautiful Soup — это Python-библиотека по сбору данных из HTML и XML-файлов. В ней представлены простые методы для навигации, поиска и изменения дерева разбора, или парсинга. Это очень мощная библиотека, которая умеет обрабатывать все виды HTML, даже если он сломан. Уж поверьте моему опыту, HTML ломается довольно часто, поэтому такая функция окажется как нельзя кстати.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *