轻松运行多个python linter

multilint的Python项目详细描述


多行

https://img.shields.io/pypi/v/multilint.svghttps://img.shields.io/travis/adamchainz/multilint.svghttps://img.shields.io/badge/code%20style-black-000000.svg

轻松运行多个python linter。

安装和使用

使用pip安装

pip install multilint

使用:

multilint

支持Python3.5-3.7。

工作原理

我喜欢用一套标准的绒布来保持我的项目整洁。管理他们 结果发现,使用包装器脚本更容易,最后我发现 在它们之间复制粘贴。这个项目使我不再需要复制/粘贴, 集中运行所有这些整洁的工具。

按顺序,它将检查这些绒布是否已安装,如果已安装,请运行它们:

  • Black,自动格式化代码
  • Flake8,检查代码质量
  • Isort,以“diff”模式显示导入未排序的位置
  • Modernize,以“diff”模式显示python 2/3与 six丢失
如果其中任何一个都失败了,就停止使用非零退出代码。 否则就成功了!

您需要配置将被linted的路径(默认情况下,仅限于 setup.py已起毛)。在setup.cfg中放置一个类似于:

[tool:multilint]paths=my_package
        tests
        setup.py

还可以将路径作为参数传递给multilint,后者将重写 settings,例如:

multilint path/my_file.py path/folder1

注意:以前multilint支持运行setup.py check如果 传递了一个setup.py文件。此命令已被删除,因为该命令已被弃用。你 而是应该根据python packaging documentation使用twine check

tox

一起使用

我通常使用tox运行测试。要使用的示例tox.inimultilint在python 3.5-3.7上运行测试并在python上运行linting 3.7看起来像:

[tox]envlist=
    py{35,36,37},
    py37-codestyle[testenv]deps=-rrequirements.txtcommands=pytest[testenv:py37-codestyle]commands=multilint

然后只需放入multilint,再加上希望它运行的棉绒(例如。 flake8)在您的requirements.txt中。

历史记录

待发布

4.0.0(2019-08-11)

  • 删除setup.py check支持,因为twine check是新的,更多 完整的、推荐的检查可分发文件正确性的方法,根据 警告:

    warning: Check: This command has been deprecated. Use `twine check`
    instead: https://packaging.python.org/guides/making-a-pypi-friendly-readme#validating-restructuredtext-markup
    

    multilint无法运行twine check,因为它需要在 dist文件,而不是setup.py文件。

    您可以使用额外的命令将其集成到典型的tox设置中 tox dist/*。有关详细信息,请参见twine check documentation和 那个packaging documentation

3.0.0(2019-05-13)

  • 放弃Python2和3.4支持,现在只支持Python3.5+。
  • 添加对运行Black的支持, python代码自动格式化程序。
  • 放弃对Flake8<;3.0.0的支持。

2.4.0(2018-09-30)

  • 支持路径的位置参数。

2.3.0(2018-04-28)

  • 更新0.6.1+
  • 在多行代码库本身上运行modernize,因此现在需要6个

2.2.1(2018-03-08)

    当设置不存在时,修复崩溃。CFG不存在。

2.2.0(2017-09-19)

  • 添加--skip参数,该参数甚至可以用于跳过特定的linter 尽管已经安装了。

2.1.0(2017-06-02)

  • setup.py中使用entry_points,而不是scripts
  • 支持python -m multilint

2.0.2(2016-12-06)

  • 如果没有setup.py,则不要调用python setup.py check

2.0.1(2016-10-20)

  • 删除setup.cfg路径的默认值。
  • 在运行LTENS之前检查路径是否存在。

2.0.0(2016-09-24)

  • setup.cfg中使用配置头tool:multilint,而不是 multilint,以避免与任何潜在的setup.py命令发生冲突。 您的setup.cfg需要更新。

1.0.2(2016-07-26)

  • 使用flake83.0+改变了其main函数的工作方式。
1.0.1(2016-07-16)
  • 修正了在python 2上运行的现代化。
  • 在同一个python进程中运行isort,而不是使用subprocess
  • 正确地选通flake8isort,这样它们只有在 安装。

1.0.0(2016-06-19)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在SWT中关闭CTabItem时如何获取警告消息?   java如何从中获取文本字符串   java带有(int[][])的方法意味着什么?   java我在创建这个安卓浮动泡泡动画时做错了什么?   将边距属性作为列表项的java表抛出异常ClassCastException   java如何在Storm拓扑中测量延迟和吞吐量   java如何在javafx中序列化事件?   java访问main()之外的线程   java如何强制某些方法仅对kotlin可见   java如何使用quartzscheduler启动具有多个crontrigger的作业?   java无法使用VM选项获取转储文件:引发OOM异常时出现HEAPDUMPONAUTOFMEMORYERROR   java无法在安卓中的FTP服务器上上载文件   java RecordView未显示   java有没有办法在Eclipse中隐藏/折叠虚张声势的注释?   java如何从xml中提取xml。广州?