为`setup.cfg`文件应用一致的格式
项目描述
setup-cfg-fmt
为setup.cfg
文件应用一致的格式
安装
pip install setup-cfg-fmt
作为pre-commit钩子
有关说明,请参阅pre-commit
示例.pre-commit-config.yaml
- repo: https://github.com/asottile/setup-cfg-fmt
rev: v2.5.0
hooks:
- id: setup-cfg-fmt
命令行界面
请查阅帮助了解最新用法
$ setup-cfg-fmt --help
它做什么?
设置属性的一致顺序
例如,name
和version
(最重要的元数据)将始终出现在顶部。
[metadata]
-version = 1.14.4
-name = pre_commit
+name = pre_commit
+version = 1.14.4
在项目名称中将破折号转换为下划线
pip
将名称转换为破折号foo_bar
=>foo-bar
python setup.py sdist
生成的文件名与名称完全相同pip wheel .
生成的文件名具有规范化的名称
$ # with dashed name
$ python setup.py sdist && pip wheel -w dist .
...
$ ls dist/ | cat
setup_cfg_fmt-0.0.0-py2.py3-none-any.whl
setup-cfg-fmt-0.0.0.tar.gz
$ # with underscore name
$ python setup.py sdist && pip wheel -w dist .
...
$ ls dist/ | cat
setup_cfg_fmt-0.0.0-py2.py3-none-any.whl
setup_cfg_fmt-0.0.0.tar.gz
这使得上传到pypi的软件包更容易,因为它们最终具有相同的文件名前缀。
[metadata]
-name = pre-commit
+name = pre_commit
在键中将破折号转换为下划线
setuptools允许破折号名称,但没有对其进行文档化。
[metadata]
name = pre-commit
-long-description = file: README.md
+long_description = file: README.md
如果存在README
,则添加long_description
这将显示在pypi项目页面上
[metadata]
name = pre_commit
version = 1.14.5
+long_description = file: README.md
+long_description_content_type = text/markdown
如果存在LICENSE
,则添加license_file
/ license
/许可证分类器
[metadata]
name = pre_commit
version = 1.14.5
+license = MIT
+license_file = LICENSE
+classifiers =
+ License :: OSI Approved :: MIT License
设置python_requires
一些来源被搜索以猜测python_requires
- 现有的
python_requires
设置本身 - 如果存在,则搜索
tox.ini
中的envlist
- 已设置的python版本
classifiers
--min-py-version
参数
添加python版本分类器
分类器基于以下内容生成
python_requires
设置--max-py-version
参数(当前默认为3.11
)- 如果指定了
--include-version-classifiers
name = pkg
version = 1.0
+classifiers =
+ Programming Language :: Python :: 3
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
如果没有指定--include-version-classifiers
,则仅包含主版本
name = pkg
version = 1.0
+classifiers =
+ Programming Language :: Python :: 3
排序分类器
[metadata]
name = pre_commit
version = 1.14.5
classifiers =
- Programming Language :: Python :: 3
- License :: OSI Approved :: MIT License
+ License :: OSI Approved :: MIT License
+ Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
删除任何部分的空选项
[options]
-dependency_links =
python_requires = >= 3.6.1
相关项目
- setup-py-upgrade:自动迁移
setup.py
->setup.cfg
项目详情
关闭
setup_cfg_fmt-2.5.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 95d2f87cc77ec763d0de5127f03a274127cc3f458ca46bd9d644ada71d115f58 |
|
MD5 | 7f7ceeff1fecf71f13c924971ba0dcbb |
|
BLAKE2b-256 | 1184cf83c14d93cf5cdf97b6601d9b6a2988e266dd9bc35db2074bb45c7e8816 |
关闭
setup_cfg_fmt-2.5.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 631dc66dd799f8177f56cf3c881779a166fea8cb34312baa2f01e32686d27840 |
|
MD5 | d66ed36575e435d9ba8ba2c7b6c2346f |
|
BLAKE2b-256 | 8584f555788e3b71f8e9a309afc37fc234569661e47c90d973c84ddb279a80cb |