Metadata-Version: 2.4
Name: bm25-parallel
Version: 0.1.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Summary: Rust-accelerated BM25 search with Rayon
Keywords: bm25,search,rust,rayon
Author-email: Your Name <you@example.com>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/yourname/bm25_parallel
Project-URL: Repository, https://github.com/yourname/bm25_parallel

# bm25-parallel

Fast BM25 search backed by Rust & Rayon.

```python
import bm25_parallel
results = bm25_parallel.build_and_search(docs, queries, k=10)

③ `LICENSE`（复制 MIT 全文，略）

④ `build_and_upload.py`（一键脚本）

```python
import subprocess, sys, os, shutil

ROOT = os.path.dirname(__file__)
os.chdir(ROOT)

# 1. 清理旧包
shutil.rmtree("dist", ignore_errors=True)

# 2. 构建 wheel & sdist
subprocess.check_call([sys.executable, "-m", "build"])

# 3. 本地检查
subprocess.check_call([sys.executable, "-m", "twine", "check", "dist/*"])

# 4. 上传到 PyPI（首次用 --repository testpypi 测试）
repo = "pypi"  # 或 "testpypi"
token = input(f"输入 {repo} API token：").strip()
subprocess.check_call([
    sys.executable, "-m", "twine", "upload",
    "--repository", repo,
    "--username", "__token__",
    "--password", token,
    "dist/*"
])
print("✅ 发布完成！")
