Обложка: Стек технологий для Python

Стек технологий для Python

Максим Кузнецов
Максим Кузнецов

Senior Python Developer в Akvelon

Pip

Установщик пакетов для Python. Вы можете использовать pip для установки пакетов из индекса пакетов Python и других индексов.

Категория: установка зависимостей.

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

Virtual environment (venv)

Модуль venv обеспечивает поддержку для создания облегчённых «виртуальных сред» с собственными каталогами сайтов, которые могут быть изолированы от системных каталогов сайтов. Каждая виртуальная среда имеет собственный двоичный файл Python (соответствующий версии двоичного файла, который использовался для создания этой среды) и может иметь собственный независимый набор установленных пакетов Python в своих каталогах сайта.

Категория: виртуальные окружения, работа с зависимостями.

Применение: позволяет удобно работать с разными версиями библиотек, фреймворков, а также различными версиями Python. Своё виртуальное окружение под каждый проект используется априори.

PEP8 и autopep8

Pep8 — соглашения о кодировании для кода Python, составляющего стандартную библиотеку в основном дистрибутиве Python.

Autopep8 — автоматически форматирует код Python в соответствии с руководством по стилю PEP 8.

Категория: форматирование кода.

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

Flake8

Популярный линтер для проверки кода.

Категория: форматирование кода.

Применение: как и большинство линтеров, не помешает любому проекту как утилита, проверяющая единый стиль написания кода.

Bandit

Инструмент, предназначенный для поиска распространённых проблем безопасности в коде Python. Для этого Bandit обрабатывает каждый файл, строит из него AST и запускает соответствующие плагины на узлах AST. Как только Bandit завершит сканирование всех файлов, он генерирует отчет.

Категория: безопасность, проверка кода.

Применение: применяется в основном в продакшен-проектах для отслеживания небезопасного кода.

REPL Python (Ipython, bpython, ptpython)

Интерактивный шелл (консоль), позволяет писать код построчно.

Категория: интерактивный шелл.

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

Typing

Библиотека типизации, хоть и среда выполнения Python не применяет аннотации типов функций и переменных. Они могут использоваться сторонними инструментами, такими как средства проверки типов, IDE, линтеры и т. д.

Категория: типизация.

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

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации