У меня недавно у меня была возможность просмотреть некоторые инструменты для Python, и я подумал, что поделился некоторыми из моих учащихся.
Этот модный новый файл – замена для setup.py
и setup.cfg
Первоначально указан в PEP 518 ( https://www.python.org/dev/peps/pep-0518/ ).
Простое и чистое объяснение, верно? Ну, нет, не на самом деле.
С момента его выпуска, теперь это эксклюзивный способ настроить черный
для проекта. Дополнительные инструменты, такие как Поэзия
(несколько из Pipenv
конкурент) и Flit
(инструмент для создания упаковки и публикации на PYPI проще) вышли также исключительно использовать pyproject.toml
как их файл конфигурации.
Из PEP ясно, что это было предполагаемое следствие для других инструментов для использования pyproject.toml
Отказ Однако, похоже, только действительно коснулся новых проектов. Старые, зрелые пакеты, кажется, все еще используют setup.cfg
Для их инструментальных конфигов в их процессе CI.
Я обычно склонен принимать новые тенденции, как они в моем Проекты , но в моем существующем пакеты Я признаю, что я не вижу много ценного в настоящее время в рваных setup.py
и setup.cfg.
просто для удовольствия.
Я использовал Pylint в течение очень длительного времени, в то время как на стоянии и начал использовать Flake8 на Peerfit. У меня действительно не было мнения о над другим.
Тем не менее, теперь я могу сказать, что святое дерьмо делает Flake8 так много вещей. Он обертывает Pyflakes, Pycodestyle и McCabe. Кроме того, только так много плагинов: flake8-bugbear, flake8 – порядок импорта flake8, etc ( https://github.com/dmytrolitvinov/awesome-flake8-extsions). Это Богатая экосистема просто не существует для пилинта.
Наконец, многие крупные проекты, похоже, используют Flake8, поэтому пользовательская база является последовательной и зрелой:
- Django ( https://github.com/django/django/blob/master/setup.cfg#l5 )
- колба ( https://github.com/pallets/flask/blob/master/setup.cfg#l22 )
- Даже чертовски youtube-dl ( https://github.com/ytdl-org/youtube-dl/blob/master/setup.cfg )
Так что это продало меня на использовании Flake8 для обозримого будущего.
Оригинал: “https://dev.to/raiderrobert/python-tooling-review-pyproject-toml-and-flake8-45bb”