跳转到主要内容

用于PEP 518项目的Setuptools后端打包工具。

项目描述

Travis CI Status Documentation Status

Setl(发音类似于 settle)是使用Setuptools作为后端以简单方式处理PEP 518项目的工具。

界面强烈受到Flit的影响。

安装

推荐的安装方法是pipx

pipx install setl

Setl需要使用Python 3.7或更高版本进行安装,但可以使用--python选项使用较旧的Python构建项目。

Setuptools老手的快速入门

除了常规的Setuptools配置外,您还需要在setup.py旁边创建一个名为pyproject.toml的文件,内容如下

[build-system]
requires = ["setuptools>=43", "wheel"]

与Setuptools的命令比较

Setl

Setuptools近似

setl develop

setup.py develop

setl build

setup.py egg_info build

setl publish

setup.py egg_info build sdist bdist_wheel
twine upload

但为什么?

主要区别在于如何安装构建和运行时依赖项。

传统上,Setuptools项目使用setup_requires,但这存在各种问题,并且不鼓励使用,转而使用PEP 518来指定构建时间依赖项。但是,Setuptools的项目管理命令不处理PEP 518声明,这需要用户在使用setup.py之前手动安装这些构建依赖项。Setl命令在调用它们的setup.py对应物之前模仿pip的构建设置,因此构建环境保持最新。

同样,setup.py develop使用easy_install安装运行时依赖项,而不是pip。因此,它不尊重这些依赖项中的PEP 518声明,如果其中一个依赖项不支持“遗留模式”构建过程,甚至可能失败。setl develop通过在调用setup.py develop --no-deps之前使用pip install来解决这个问题,因此依赖项以现代格式安装。

其余的都是关于提供更有用的默认值。修改元数据时很容易忘记重新构建egg-info,所以Setl试图提供帮助。如今,人们几乎总是想要构建sdist和wheel,所以Setl默认这样做。PyPA建议不要使用setup.py upload,因此Setl捆绑了Twine用于上传。这没有什么高科技的。

下一步

  • 阅读文档以获取详细命令描述和内部工作原理。

  • 查看源代码并帮助贡献项目。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

setl-0.10.0.tar.gz (15.4 kB 查看散列)

上传时间 源代码

构建分发

setl-0.10.0-py2.py3-none-any.whl (18.9 kB 查看散列)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面