通过rye 进行maturin rust python 扩展开发

rye 实际上也是一个python 包管理工具,实际上与uv 是比较类似的工具,都是同一个团队开发的,但是uv 相对晚一些出现的
rye 可以进行maturin 项目的开发,maturin 实际上也提供了内置的cli 可以快速开发

maturin 项目初始化

  • 命令
rye init my-project --build-system maturin
  • 结构
├── Cargo.lock
├── Cargo.toml
├── README.md
├── pyproject.toml
├── python
└── my_project
└── __init__.py
└── src
    └── lib.rs
  • pyproject.toml 内容
[project]
name = "my-project"
version = "0.1.0"
description = "Add your description here"
authors = [
    { name = "rongfengliang", email = "1141591465@qq.com" }
]
dependencies = []
readme = "README.md"
requires-python = ">= 3.8"
 
[build-system]
requires = ["maturin>=1.2,<2.0"]
build-backend = "maturin"
 
[tool.rye]
managed = true
dev-dependencies = []
 
[tool.maturin]
python-source = "python"
module-name = "my_project._lowlevel"
features = ["pyo3/extension-module"]
  • 构建
rye build # 标准玩法
rye sync  # 也会进行构建
  • 效果

说明

maturin 是一个基于rust 开发高性能python 扩展不错的工具,与rye 集成起来也是不错的选择,这样开发的扩展就不用太受限于
maturin 默认cli 结构了

参考资料

https://github.com/PyO3/maturin
https://rye.astral.sh/guide/rust/

posted on 2024-10-24 08:00  荣锋亮  阅读(15)  评论(0编辑  收藏  举报

导航