一种小型、安全的进口分拣机

usort的Python项目详细描述


μ排序

Safe,Python项目的最小导入排序。

versionchangeloglicensecode style

μ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文件中所示。在

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

推荐PyPI第三方库


热门话题
利用SWAP函数解决互斥的同步Java死锁   主线程退出时程序的java终止?   java Firestore字段空类型用法   java Android在同一页面上滚动到ID   java Eclipse:将源代码文件夹导入其他项目   maven Groovy编译以“java”结尾。StackOverflowerr语言`   java从变量中获取变量列表   java在Eclipse中重命名标识符时输入vs转义   Java:创建一个只包含重复项的数组   java Mule ESB 3.3 Mulecontext注册表pop   bash杀戮屏幕但java进程未结束   java正在创建一个表来存储一行错误编程的迹象?   java如何启动RecentApplicationDialog?   java以确定的增量移动字符串中的字符   使用用户输入搜索多个mysql数据库的JavaJSP算法   java Arraylist到DefaultComboxModel