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。

自定义识别词缓存

识别词随不可变解析选项整批解析、编译并缓存,标题解析直接复用整份词表的正则。 单份词表不会因超过 256 或 1024 条正则而发生循环淘汰;替换、屏蔽、集数偏移的 规则顺序保持不变,无效正则继续按未匹配处理。

缓存仍受解析选项的容量上限约束(配置值键与外部配置键各 64 份),淘汰时释放 整份配置;已在使用的选项由 Arc 保持有效。修改词表后应传入新配置;使用 _cache_key 的调用方须同步变更该键,沿用已有的配置版本约定。

本地开发安装

在本仓库根目录创建 .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。

Metadata

Release files for moviepilot-rust 0.3.11

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.11
File
moviepilot_rust-0.3.11-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
moviepilot_rust-0.3.11-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.11-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.11-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.11-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.11-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
moviepilot_rust-0.3.11-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.11-cp314-abi3-win_amd64.whl CPython 3.14 abi3 Windows x86-64 Details
moviepilot_rust-0.3.11-cp314-abi3-musllinux_1_1_x86_64.whl CPython 3.14 abi3 Linux musl 1.1+ x86-64 Details
moviepilot_rust-0.3.11-cp314-abi3-musllinux_1_1_aarch64.whl CPython 3.14 abi3 Linux musl 1.1+ ARM64 Details
moviepilot_rust-0.3.11-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.11-cp314-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 abi3 Linux glibc 2.17+ ARM64 Details
moviepilot_rust-0.3.11-cp314-abi3-macosx_11_0_arm64.whl CPython 3.14 abi3 macOS 11.0+ ARM64 Details
moviepilot_rust-0.3.11-cp314-abi3-macosx_10_12_x86_64.whl CPython 3.14 abi3 macOS 10.12+ x86-64 Details

Total release size: 80.0 MB

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-win_amd64.whl
Size 5.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
e4775092384365e3f80d317eff5b437ce1a1a601a7b3c8ffcdf8afb9f74c760c
BLAKE2b-256 checksum
How to use checksums
7f7f7407f5a73010de33f08dea4c296c5f6a3c25d72db5a6076a99fe9b7e343e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 6.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
238f7ef7df457548d0fd528e97904a4e8aa68cbd80e7f0757f7b5986f338cdbd
BLAKE2b-256 checksum
How to use checksums
3aebaee980e75dcac706c0e310598f387dc227fe168b4849082efd57ee1cbc07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 5.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9c5b91b63c3c046efa3e8c7b731dd25f7b06b74dba3f51fdbd3ddd32dd21bb6b
BLAKE2b-256 checksum
How to use checksums
9e28f03eff812f828ee36ece0accbbe5c89e88fcb8407301f01bb390909da13c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
384c829bf066db852b06a58cb679d93a13416570ba341fa8a30bbdffd125a4ae
BLAKE2b-256 checksum
How to use checksums
1032256225b6e4c6628c8cae3aae5b260d7b1b6f23cfa4c656061c51c2eb05ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0897b66928e1cf289edf2a13ed113322f227719f1cbb685f7af12f87d8b8d021
BLAKE2b-256 checksum
How to use checksums
724c8784ad032a29ad408e87244a446a3a19cc65a038db9acd0b70afc39ec9dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

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

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-cp314t-macosx_10_12_x86_64.whl
Size 5.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f43287f9237c5b89f432f536a1861ea9423bdb663221429316a1ed297e9c8fb7
BLAKE2b-256 checksum
How to use checksums
dd68e1efa5e6b7bbf9c12187853b41fb9664badae825e98dcc02b6773fefcc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-win_amd64.whl
Size 5.6 MB
Tags CPython 3.14 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e9295de8fa265e8365fcb94408103790e8695fbca38ccc79604272e4519cbc69
BLAKE2b-256 checksum
How to use checksums
508011dfd0a25510ec9ddc7c87b0ed5f2a59f07d6c37db756671157c36c27b2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-musllinux_1_1_x86_64.whl
Size 6.0 MB
Tags CPython 3.14 Linux musl 1.1+ x86-64 abi3
SHA-256 checksum
How to use checksums
f24a56eeaff31276bed05dfd523a87033ce5ffd373fa5db6d56ae34566b8b866
BLAKE2b-256 checksum
How to use checksums
9c4a71d9611f003fbda4c2256f93b45096bf7d3e877b2b189c91b5897ff6d655
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-musllinux_1_1_aarch64.whl
Size 5.8 MB
Tags CPython 3.14 Linux musl 1.1+ ARM64 abi3
SHA-256 checksum
How to use checksums
2301d30d5136d0f349f8992d8710eb357b7dba115fe9ec04cab33b43f548fff7
BLAKE2b-256 checksum
How to use checksums
599de29383881e7c6c616ce38e72a38d1f7034a24f8eeb43447ff9c88517a777
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.8 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
3fa4361c9f1fd84a89cf5bd12ced80e5de566bb9138f17865aa013a02251d519
BLAKE2b-256 checksum
How to use checksums
bc95b8097ae72b25576bf271d3d76c9f0ebe4c598a81b2e405e11d43757522ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
b554bf02a891bf2d892c8fd36a7681fdb233fecf2a1e43a9bf85433185ae7a86
BLAKE2b-256 checksum
How to use checksums
2394f43a90ab5c968512fbc5d1391d291fbf48619093c7ad6a80774d4e1ac0e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.14 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8c5a0baa917c99962d3de2e3570de159b6f75728dc6077ff405bfd47764b1059
BLAKE2b-256 checksum
How to use checksums
5d5cf1a6545191ef75e6aa88a09daba7ac0de15f2beb3253ac802ba039a93d13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

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

Download URL moviepilot_rust-0.3.11-cp314-abi3-macosx_10_12_x86_64.whl
Size 5.6 MB
Tags CPython 3.14 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6b4b761291c0183e3959537b9fdc6ad0863fbca0539a426263c5d1caaac7a17e
BLAKE2b-256 checksum
How to use checksums
f07dd390519a4f2247104cdaecede0ab6014c626927333b8fbb3139f276a08a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Security for moviepilot-rust 0.3.11

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.

Full provenance

All 14 files in this release have been uploaded with provenance metadata.

Select from 14 files

Attestation for moviepilot_rust-0.3.11-cp314-cp314t-win_amd64.whl

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 Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.11 This release

14 release files Full provenance

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