Стек технологий для Python
Senior Python Developer советует инструменты и технологии, которые повсеместно применяют разработчики на Python.
9К открытий10К показов
Максим Кузнецов
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, линтеры и т. д.
Категория: типизация.
Применение: также используется для повышения понимания кода, особенно для функций. Можно указать как типы принимаемых параметров функцией, так и возвращаемый тип данных.
9К открытий10К показов