Skip to main content

Minerva - Flake8 plugin for Python code quality checks (SAST)

Project description

Minerva - Flake8 Plugin

Minerva — это плагин для Flake8, который проверяет качество кода на Python.

Возможности

MN001 - MN003: Проверка имён переменных

  • Минимальная длина имени переменной
  • Максимальная длина имени переменной
  • Требование snake_case для имён

MN004: Проверка импортов

  • Чёрный список запрещённых модулей

MN005 - MN006: Проверка строк

  • Максимальная длина строки
  • Запрет символов с кодом > 1000

MN007 - MN009: Проверка коллекций

  • Запрет конструкторов (list(), dict(), set())
  • Белый список разрешённых типов коллекций
  • Требование создания через литералы

Установка

pip install minerva-plugin

Использование

Плагин автоматически интегрируется с Flake8:

flake8 your_code.py

Правила

Код Описание
MN001 Имя переменной слишком короткое
MN002 Имя переменной слишком длинное
MN003 Имя не в snake_case
MN004 Импорт запрещённого модуля
MN005 Строка длиннее лимита
MN006 Символ с кодом > лимита
MN007 Использование запрещённого конструктора
MN008 Использование неразрешённого типа коллекции
MN009 Коллекция создана через конструктор вместо литерала

Настройка

Настройки хранятся в settings/plugin.json:

{
    "min_length": 2,
    "max_length": 40,
    "allowed_single_letters": "i,j,x,y,e",
    "enforce_snake_case": true,
    "prohibited_modules": "math,re",
    "max_line_length": 123,
    "max_char_code": 1000,
    "prohibited_constructors": "list,set",
    "allowed_collections": "dict",
    "check_constructor": "list,dict"
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minerva_plugin-2.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minerva_plugin-2.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file minerva_plugin-2.1.0.tar.gz.

File metadata

  • Download URL: minerva_plugin-2.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for minerva_plugin-2.1.0.tar.gz
Algorithm Hash digest
SHA256 72207cc7df96d3ae5062b0112993ed1ae71bc7511fdc324e7c9481884d5e5a89
MD5 2d5a107a537881e888157f55b5fb381e
BLAKE2b-256 328c64ec8abd83c0ddc2b4496440b58fa3d12bc34ac2e51aa5246ba6d8d373c0

See more details on using hashes here.

File details

Details for the file minerva_plugin-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: minerva_plugin-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for minerva_plugin-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d4bb946d7c46c73ea08f6d5d38cea901e1d80c13db43e244be5e3c5f6e10330
MD5 315fec79f0cadc104b212b4fee0d2795
BLAKE2b-256 bbd0d2c6b0d0b09ef2a460c4272864d88dceca507c57d17c5acb31983301f978

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page