一种小型、安全的进口分拣机
usort的Python项目详细描述
μ排序
Safe,Python项目的最小导入排序。
μsort是一种安全、最小的进口分拣机。它的首要目标是不制造“危险” 更改代码,并且不更改代码样式。这是通过检测 最有可能安全互换的不同进口“区块”,以及 只对这些块中的导入重新排序,而不更改格式。代码样式 留作线头和造型师练习。在
在一个块中,µsort将遵循基于导入分组的常见Python约定 源代码(标准库、第三方、第一方或相关方),然后排序 每个组内的词典。这通常看起来像:
importrefrompathlibimportPathfromtypingimportIterableimportaiohttpfromaiosqliteimportconnectimportfoofrombarimportbarfrom.mainimportmain
块是从许多实际条件中推断出来的,包括任何中间条件 进口之间的声明:
^{pr2}$在这种情况下,µsort检测到两个块–通过调用filterwarnings()
分隔开,
并且只对每个块内部的导入进行排序。正在对此代码运行µsort
不会生成任何更改,因为每个块都已排序。在
可以使用# usort:skip
指令或
# isort:skip
以与现有的代码库兼容。µsort将离开
这些导入保持不变,并将其视为块分隔符。在
有关如何检测块的详细信息,请参见User Guide, 以及如何进行排序。在
安装
µsort需要Python 3.6或更高版本才能运行。安装µsort:
$ pip install usort
使用
要就地格式化一个或多个文件或目录:
$ usort format <path> [<path> ...]
要在不修改文件的情况下生成更改差异,请执行以下操作:
$ usort diff <path>
要验证文件的格式是否正确,如在CI期间:
$ usort check <path>
许可证
μsort是MIT授权的,如LICENSE文件中所示。在
- 项目
标签: