Rust acceleration helpers for MoviePilot
Project description
MoviePilot-Rust
MoviePilot Rust 加速模块。
- PyPI 包名:
moviepilot-rust - Python 导入名:
moviepilot_rust - 支持版本:Python 3.11+
- 构建工具:PyO3 + maturin
本地开发安装
在本仓库根目录创建 .venv,并把 Rust 扩展直接安装到这个虚拟环境:
python3 -m venv .venv
.venv/bin/python -m pip install "maturin>=1.9,<2"
.venv/bin/python -m maturin develop --release
验证扩展是否可导入:
.venv/bin/python -c "import moviepilot_rust; print(moviepilot_rust.is_available())"
输出 True 表示本地编译安装成功。
本地打包
使用仓库内脚本构建当前平台 wheel 和源码包:
scripts/build_wheels.sh
产物会输出到 dist/,例如:
dist/moviepilot_rust-0.1.3-cp311-abi3-macosx_11_0_arm64.whl
dist/moviepilot_rust-0.1.3.tar.gz
脚本默认使用本仓库 .venv/bin/python。
在 MoviePilot 主项目中使用
主项目通过普通 pip 依赖使用本模块,不再从主项目源码内编译 Rust。
以下命令在 MoviePilot 主项目根目录执行。
安装 PyPI 版本:
.venv/bin/pip install moviepilot-rust
安装本地刚构建的 wheel:
.venv/bin/pip install --force-reinstall ../MoviePilot-Rust/dist/moviepilot_rust-*.whl
在 MoviePilot 主项目里验证运行时状态:
.venv/bin/python -c "from app.utils import rust_accel; print(rust_accel.status())"
available=True 表示扩展已安装可用,enabled=True 表示 MoviePilot 当前配置开关允许使用 Rust 加速。
发布
在 GitHub 上 Publish Release 会触发 Actions,自动构建 Linux(glibc/musl)、macOS、Windows wheel 并发布到 PyPI;发布成功后还会向 MoviePilot 的 v2 分支提交 bump requirements.in 的 PR(需配置 MOVIEPILOT_REPO_TOKEN)。
git tag v0.1.3
git push origin v0.1.3
然后在 GitHub 仓库 Releases → Draft a new release 中选择上述 tag 并点击 Publish release。仅推送 tag 不会触发构建。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-win_amd64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-win_amd64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33cc63eb8753bffca48e4fa7527a4f8fa7dc4ca7ec62d78cb53409b6367c0cc7
|
|
| MD5 |
ef3d7dc03719bf65231ad0e7ee0caf36
|
|
| BLAKE2b-256 |
cd134a1de338a311d8f87685975aa5acf7bc175cba86e031334f48d2b3541dfa
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-win_amd64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-win_amd64.whl -
Subject digest:
33cc63eb8753bffca48e4fa7527a4f8fa7dc4ca7ec62d78cb53409b6367c0cc7 - Sigstore transparency entry: 1630112081
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_x86_64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.11+, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
894fa37312614b0d446fd97ffa267a07194d0bc613c53d6a3853cded30eb6bc7
|
|
| MD5 |
90a85bb192c2e655595766142ec1c636
|
|
| BLAKE2b-256 |
70d8d1cd056a3ca87148131941e0b0746019396e8ce6208b76a6f365a5008ec5
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_x86_64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_x86_64.whl -
Subject digest:
894fa37312614b0d446fd97ffa267a07194d0bc613c53d6a3853cded30eb6bc7 - Sigstore transparency entry: 1630112096
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_aarch64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_aarch64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11+, musllinux: musl 1.1+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e3b35c40eb9332218e066a246561b99c8c1829518195b15dc33c81f75224035
|
|
| MD5 |
964def54de7ca17755127deabb0297dd
|
|
| BLAKE2b-256 |
f50397e38841ab8dac156d2e92223edb11e223fb9d9c987e3b70114aa082eab3
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_aarch64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-musllinux_1_1_aarch64.whl -
Subject digest:
7e3b35c40eb9332218e066a246561b99c8c1829518195b15dc33c81f75224035 - Sigstore transparency entry: 1630112034
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fe2e3438a752e62242cc39fd4a8ad1f350229c41cdaaf44dc458906dda6c75e
|
|
| MD5 |
6698ca97aed0025db54c6b4ee85d3f33
|
|
| BLAKE2b-256 |
b071392e8f29f2b9e3fc6f32eb01c57b0e3c737024f51947aa4ae281fd730a11
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
9fe2e3438a752e62242cc39fd4a8ad1f350229c41cdaaf44dc458906dda6c75e - Sigstore transparency entry: 1630112123
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf983ace4892008a46fb90065ab10f00fe590a2067aee4c2609777a276696b92
|
|
| MD5 |
617f3d714e72d988b4ca0d71e65a2ae7
|
|
| BLAKE2b-256 |
fd0d2b702cc70b041949f08c06c07cc66842018de284a3e9427977ffb9861125
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
bf983ace4892008a46fb90065ab10f00fe590a2067aee4c2609777a276696b92 - Sigstore transparency entry: 1630112139
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fd1ce400339a5f9558f6cf80976180d3de316313b59daf45e6eae2cb9500600
|
|
| MD5 |
48dd5564ac8440ebb80049c909f81ae3
|
|
| BLAKE2b-256 |
f0f3f35c68a426468690392287c51dce95b378187d5e31ed706899e5e17aeb4a
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-macosx_11_0_arm64.whl -
Subject digest:
3fd1ce400339a5f9558f6cf80976180d3de316313b59daf45e6eae2cb9500600 - Sigstore transparency entry: 1630112071
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file moviepilot_rust-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: moviepilot_rust-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
429444f3da203ea300274c307b06733e2c64be9881716c139651b3b6a1bb76fb
|
|
| MD5 |
6f7721b8d36808df3bc533a83f106231
|
|
| BLAKE2b-256 |
687a0db163d9909c254b35d93c8c9e09432290accdc4bb44200a2b7dc7c4d1ab
|
Provenance
The following attestation bundles were made for moviepilot_rust-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yml on jxxghp/MoviePilot-Rust
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
moviepilot_rust-0.1.3-cp311-abi3-macosx_10_12_x86_64.whl -
Subject digest:
429444f3da203ea300274c307b06733e2c64be9881716c139651b3b6a1bb76fb - Sigstore transparency entry: 1630112056
- Sigstore integration time:
-
Permalink:
jxxghp/MoviePilot-Rust@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/jxxghp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@44ead459b617f2ad34daa9fdfa9c5a4c4ef70cc5 -
Trigger Event:
release
-
Statement type: