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.1.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.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: minerva_plugin-2.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 031df14f9a55f800b145244b68c75835b0f1d6b27d65a11a55e52b6466182995
MD5 545815d9ac5ddcd62fe41984dd6c69d9
BLAKE2b-256 4bca463358efb4ec3b3750db2458f2fab7c47bf32389d6001c395f67f4f17485

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minerva_plugin-2.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6751af797640b590e480e77b2304c80cf0022c0214081788fa1df2729b4b539d
MD5 36abb61489432b6a66b8e0d82bf68167
BLAKE2b-256 38a4ab0f9e4cba1e6d852c394e5cca72eba680160189063064f5b9e0aa521500

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