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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72207cc7df96d3ae5062b0112993ed1ae71bc7511fdc324e7c9481884d5e5a89
|
|
| MD5 |
2d5a107a537881e888157f55b5fb381e
|
|
| BLAKE2b-256 |
328c64ec8abd83c0ddc2b4496440b58fa3d12bc34ac2e51aa5246ba6d8d373c0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d4bb946d7c46c73ea08f6d5d38cea901e1d80c13db43e244be5e3c5f6e10330
|
|
| MD5 |
315fec79f0cadc104b212b4fee0d2795
|
|
| BLAKE2b-256 |
bbd0d2c6b0d0b09ef2a460c4272864d88dceca507c57d17c5acb31983301f978
|