Setuptools Rust Tomlgen 扩展插件
项目描述
用于生成Rust Cargo.toml文件的Setuptools插件
setuptools-rust-tomlgen 是 setuptools 和 setuptools-rust 的插件。它添加了 tomlgen_rust 命令,可以从 setup.py 的内容生成Rust Cargo.toml 文件。
用法
从pip安装
$ pip install setuptools-rust-tomlgen
创建一个包含 setup.py 文件和一些Rust .rs 文件的项目,例如 示例项目。
通过 setup.py 生成 Cargo.toml 文件
$ python setup.py tomlgen_rust
元数据
包名将从Python包中扩展的位置生成。使用与 setup.py 或 setup.cfg 中声明相同的版本。
作者列表是在 setup.py / setup.cfg 中的 author 和 author_email 选项之后生成的,但也可以通过在 setup.cfg 的 [tomlgen_rust] 部分的 authors 键中覆盖。
[tomlgen_rust]
authors =
Jane Doe <jane@doe.name>
John Doe <john@doe.name>
库名称是扩展包名的slugified变体,以避免在构建目录中的名称冲突。
为了安全起见,publish = false 被添加到 [package] 部分(您不会发布一个自动生成的包,对吧?)。
选项
使用--force(或向setup.cfg中的[tomlgen_rust]部分添加force = true)来强制生成清单,即使已经存在一个也是如此。
使用--create-workspace在项目根目录(位于setup.py文件旁边)创建一个虚拟清单,该清单注册所有扩展。这样,就可以在项目根目录中运行通用的cargo命令,而无需离开项目根目录。
如果启用了--create-workspace,还会创建一个.cargo/config文件来强制cargo构建到临时构建目录。使用--no-config来禁用。
依赖关系
要为所有扩展指定依赖关系,请将它们添加到您的setuptools配置文件(setup.cfg)中的[tomlgen_rust.dependencies]部分,就像在您的Cargo.toml文件中那样。这里可能是添加pyo3作为依赖关系的好地方。
要指定每个扩展的依赖关系,为每个扩展创建一个部分([tomlgen_rust.dependencies.<DOTTEDPATH>],其中<DOTTEDPATH>是扩展的完整Python路径(例如hello-english)。特定于扩展的依赖关系添加在全局依赖关系之后。
注意,由于所有项目都在同一个目录中构建,您也可以在[tomlgen_rust.dependencies]中声明所有依赖关系,因为它们无论如何都只会构建一次。
每次构建时的自动生成
如果您打算每次构建库时都重新生成清单,请将Cargo.toml和Cargo.lock添加到您的.gitignore文件中。
然后,确保在每次构建前运行tomlgen_rust之前,通过向您的setup.cfg文件添加别名来确保。
[aliases]
build_rust = tomlgen_rust -f build_rust
clean_rust = tomlgen_rust -f clean_rust
build = tomlgen_rust -f build
clean = clean_rust -f clean
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
setuptools-rust-tomlgen-1.0.0.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7de5f5d7589e3485cefc6b34ed46c339ed7e1b26a1815e05e0f88a782ac81973 |
|
| MD5 | afdbf5f67a2eeadf1fc66c76f1999b8e |
|
| BLAKE2b-256 | 6cb6e50dce81eb736789605e81a958b208e590c88cc541b071865d3af1a74dab |
setuptools_rust_tomlgen-1.0.0-py3-none-any.whl的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 287c34dd7a89fa81c1a69e9ed1e7316769b67eb5f82388c446b685d1ab8975d8 |
|
| MD5 | d5d1b973879f38c0b1c735acc77f891e |
|
| BLAKE2b-256 | 44da02e43af8681858acbe241c58c73d5d609219356dd26a31d10b6c402f2852 |