Комментарии 4
Эта статья первая, во второй я исправлю недочеты, добавлю больше функционала и исправлю возможные ошибки.
Добрый день. Очень много деталей не имеющих отношения к делу. Я бы убрал про поетри и линтеры. Тема хорошая, но для другой статьи, а так я засучал еще даже на поняв, что библиотека делает. Можно спрятать под спойлеры, чтобы не перекраивать статью.
List[str]
Либо старый Питон, либо в ruff не настроили правила или версию питона https://docs.astral.sh/ruff/rules/non-pep585-annotation/
Спасибо за статью, очень полезно!
Список ошибок:
`
skip-magic-trailing-comma=false`
по умолчанию https://docs.astral.sh/ruff/settings/#format_skip-magic-trailing-comma не нужно указывать дефолтыВместо
exclude
используйтеextend-exclude
, опять же: не нужно переписывать дефолты https://docs.astral.sh/ruff/settings/#extend-excludepy38
уже умер, минимальная версия поддержки -py39
. Но вы еще почему-то устанавливаете другую версию питона для поддержки проекта тут:python = "^3.12"
; так какая в итоге верная?Указание
ruff
в[tool.poetry.dependencies]
– плохая практика, сделайте[tool.poetry.group.dev.dependencies]
для таких зависимостей[lint]
и[format]
– не являются правильными ключами для настройкиruff
, смотрите на[tool.ruff.lint]
и[tool.ruff.format]
, кажется, что вы перепуталиruff.toml
иpyproject.toml
Вы почти ничего не включили:
select = ["E4", "E7", "E9", "F"]
Методы вида
def generate_structure(self):
– не будут по дефолту проверяться mypy, потому что у них нет аннотаций (можно включить--check-untyped-defs
Есть еще множество ошибок, но мне лень разбирать дальше. В качестве вдохновения советую глянуть: https://github.com/wemake-services/wemake-python-styleguide
Управляем проектом и его документацией при помощи Python