Skip to main content

MoviePilot-Rust

MoviePilot Rust 加速模块。

  • PyPI 包名:moviepilot-rust
  • Python 导入名:moviepilot_rust
  • 支持版本:Python 3.14+
  • 构建工具:PyO3 + maturin

项目结构

src/
├── bindings/   # Python API、输入快照和输出对象转换
├── filter/     # 类型化过滤规则、表达式 AST 和执行引擎
├── indexer/    # Indexer 配置模型、HTML 选择器和字段解析
├── metainfo/   # 元信息模型、配置、正则规则和影视标题解析
├── metamusic/  # 音乐元信息模型、正则规则和标题解析
├── rss/        # RSS/Atom 数据模型和流式解析器
└── support/    # 与业务无关的有界缓存等基础设施

业务模块只接收和返回纯 Rust 类型,不直接持有 Python 对象。bindings 负责 PyO3 边界转换,因此核心解析器可以独立单测,并可在转换完成后释放 Python GIL。

本地开发安装

在本仓库根目录创建 .venv,并把 Rust 扩展直接安装到这个虚拟环境:

python3.14 -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 表示本地编译安装成功。

本地检查

优先使用项目目录下的 .venv,一次编译后运行 Rust 和 Python 两层测试:

cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
.venv/bin/python -m maturin develop
cargo test --lib
.venv/bin/python -m pytest -q

本地打包

使用仓库内脚本构建当前平台 wheel 和源码包:

scripts/build_wheels.sh

产物会输出到 dist/,例如:

dist/moviepilot_rust-x.x.x-cp314-abi3-macosx_11_0_arm64.whl
dist/moviepilot_rust-x.x.x.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 加速。

发布

更新 Cargo.toml 中的 package version 并推送到 v3 后,GitHub Actions 会自动创建对应的 v版本号 Release,构建 Linux(glibc/musl)、macOS、Windows wheel 并发布到 PyPI;发布成功后还会向 MoviePilot 的 v3 分支提交更新 pyproject.toml 与 uv.lock 的 PR(需配置 MOVIEPILOT_REPO_TOKEN)。

# 修改 Cargo.toml 中的 version = "x.x.x"
git push origin v3

手动在 GitHub 上 Publish Release 仍会触发同一套发布流程,但 Release tag 必须与 Cargo.toml 中的 package version 一致,例如 v0.2.1。

Release files for moviepilot-rust 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for moviepilot-rust 0.3.7
File
moviepilot_rust-0.3.7-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
moviepilot_rust-0.3.7-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
moviepilot_rust-0.3.7-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
moviepilot_rust-0.3.7-cp314-abi3-win_amd64.whl CPython 3.14 abi3 Windows x86-64 Details
moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_x86_64.whl CPython 3.14 abi3 Linux musl 1.1+ x86-64 Details
moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_aarch64.whl CPython 3.14 abi3 Linux musl 1.1+ ARM64 Details
moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 abi3 Linux glibc 2.17+ x86-64 Details
moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 abi3 Linux glibc 2.17+ ARM64 Details
moviepilot_rust-0.3.7-cp314-abi3-macosx_11_0_arm64.whl CPython 3.14 abi3 macOS 11.0+ ARM64 Details
moviepilot_rust-0.3.7-cp314-abi3-macosx_10_12_x86_64.whl CPython 3.14 abi3 macOS 10.12+ x86-64 Details

Total release size: 78.5 MB

Release files / moviepilot_rust-0.3.7-cp314-cp314t-win_amd64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-win_amd64.whl
Size 5.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
08a6a0fdd975cde630d4786e30daa859a125e22d03a682aa0d32895d360ba878
BLAKE2b-256 checksum
How to use checksums
db5ba938d573c1a8901598ffd322a2767dc775bb14a3721f454f3f33cb320300
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 5.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b0b9afbf68aac2fac058c593e2875644f014d022009d0df73ac163429730392f
BLAKE2b-256 checksum
How to use checksums
9c779106255eda5409f332cb556a1224c239484f60068bba34b70ab5a217272b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 5.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c3553b975ae88d5db1cf81de4cd2d9ae21c19f8b1ca1cba4d74274a3779e8f45
BLAKE2b-256 checksum
How to use checksums
1b927a4a3195a0e6646cdffbcd84ae9fc5b6033810b751452a0232dca832f7c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
dab673e03ee9dec32e1e5633966adc97ecdcb9f44366a319a3e623dcedd3c920
BLAKE2b-256 checksum
How to use checksums
4f51bb5f55d026482c89c45a11a4f91da5be5b3d96b0685f0c46e593216b4164
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e3780879314a7f918eccf96c9878c32829995f079e94b5f8b1ee8424d3888526
BLAKE2b-256 checksum
How to use checksums
1b6f5870a4e9b48f76a625884099ac1e9625abcdae78714cd8950610c6407b5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-macosx_11_0_arm64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-macosx_11_0_arm64.whl
Size 5.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
27638b47250e0a12f92c37716acaf47da6438f7a6fdeac93fe3d5e37713dd8e9
BLAKE2b-256 checksum
How to use checksums
b1ebc0455ebecb0d4c835f29add41b4611adbb8462153e178e7a0c647c8cd044
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-cp314t-macosx_10_12_x86_64.whl
Size 5.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0400cdee4056467c53a871986f91368c93c21fb45c9ef510d5abd33f17f2cd92
BLAKE2b-256 checksum
How to use checksums
463481bc5a6c39c3b3e31ebaec2f21a5637bac9360568d7ed570cd244f77763c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-win_amd64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-win_amd64.whl
Size 5.5 MB
Tags CPython 3.14 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
95dc2468edaea16ab9cf42ae9c1f356eed3baf154a73cbe8b8dc09ccfe503159
BLAKE2b-256 checksum
How to use checksums
4da01e6610fd6a7e90eed9d1a51f2145ad3f084d5ae7a5b8ac712388870e3348
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_x86_64.whl
Size 5.9 MB
Tags CPython 3.14 Linux musl 1.1+ x86-64 abi3
SHA-256 checksum
How to use checksums
629cdd786113ec76128c85536f592a3708d4e2465cd7a91cae0b85d84c8092dc
BLAKE2b-256 checksum
How to use checksums
99d6cc1a3300fb0d1dc41d46491972ececb905bae33202f132d68fc928a1ac2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_aarch64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-musllinux_1_1_aarch64.whl
Size 5.7 MB
Tags CPython 3.14 Linux musl 1.1+ ARM64 abi3
SHA-256 checksum
How to use checksums
5ae624ebadca2b777a8ed3fb0b42f8097e6c902b36e726ca01f46780a25e276c
BLAKE2b-256 checksum
How to use checksums
ed16a89f88d6ff3322542d1604b5557ffca8e8e2a89df86fa66799f45530d158
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
2dd5db938916da3466331672d3749dc6246670c09f657046923d2bb7aa104d2f
BLAKE2b-256 checksum
How to use checksums
83e62a0f19a23d81cf29f81632422dbc414e257f41a7da57571193f92a4b8144
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.5 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
88840fdfae8ea496fc9fe519e6666ea60a47900d705909673fd4aa1862ec028c
BLAKE2b-256 checksum
How to use checksums
062005c9736c5c94ba77120ebbd7439895d7a83a21e3ce7014a4ffe867ad8558
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-macosx_11_0_arm64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-macosx_11_0_arm64.whl
Size 5.4 MB
Tags CPython 3.14 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
79d185324a1f6df5d9683b6df658bbd8b309bd4d52dde2de2dd1c2387cb9bf8e
BLAKE2b-256 checksum
How to use checksums
46507524969495c39dfadfd0964c8ba42d191f26b1ef023bfcd9f01eea607e65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / moviepilot_rust-0.3.7-cp314-abi3-macosx_10_12_x86_64.whl

Download URL moviepilot_rust-0.3.7-cp314-abi3-macosx_10_12_x86_64.whl
Size 5.5 MB
Tags CPython 3.14 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
446ccc01b9369f2a953f71146c2796ec24e948229985d5ddef8970060644733f
BLAKE2b-256 checksum
How to use checksums
d873173750a04bf027323f5dcd9ddf35a17c06e5e9da3a73f43da95f1f17d9d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.7 This release

14 release files

0.3.6

14 release files

0.3.3

14 release files

0.3.2

21 release files

0.3.1

21 release files

0.3.0

21 release files

0.2.9

14 release files

0.2.8

7 release files

0.2.7

7 release files

0.2.6

7 release files

0.2.5

7 release files

0.2.4

7 release files

0.2.3

7 release files

0.2.2

7 release files

0.2.1

7 release files

0.2.0

7 release files

0.1.14

7 release files

0.1.13

7 release files

0.1.12

7 release files

0.1.11

7 release files

0.1.10

7 release files

0.1.9

7 release files

0.1.8

7 release files

0.1.7

7 release files

0.1.6

7 release files

0.1.5

7 release files

0.1.4

7 release files

0.1.3

7 release files

0.1.2

7 release files

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page