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 |