1 个不稳定版本
0.4.2 | 2024 年 7 月 20 日 |
---|
#2041 在 Rust 模式
162 每月下载量
16KB
326 行
pyo3-special-method-derive
该软件包允许您使用 PyO3 自动为您的 Rust 软件包生成 Python dunder 方法。
主要功能
- 以下方法可以自动在结构和枚举上生成
__str__
__repr__
__dir__
__getattr__
__dict__
- 支持结构和枚举(由于 PyO3 限制,仅支持单元和复杂枚举)
- 支持使用
#[pyo3_smd(skip)]
属性跳过变体或字段 - 自动跳过不是
pub
的结构字段 - 支持使用
#[pyo3_smd_str(skip)]
和#[pyo3_smd_str(repr)]
属性以不同的方式跳过__str__
或__repr__
的变体或字段
示例
#[pyclass]
#[derive(Dir, Str, Repr)]
struct Person {
pub name: String,
occupation: String,
#[pyo3_smd(skip)]
pub phone_num: String,
}
PyO3 功能说明
要使用 pyo3-special-method-derive
,您应在 PyO3 上启用 multiple-pymethods
功能
pyo3 = { version = "0.21", features = ["multiple-pymethods"] }
依赖项
~4–9.5MB
~101K SLoC