Metadata-Version: 2.4
Name: ocr-sdk-sandbox-17d2ad54
Version: 0.3.0
Summary: Temporary OCR SDK package for validating the PyPI release workflow
License-Expression: Apache-2.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Classifier: Topic :: Text Processing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyYAML>=6.0
Requires-Dist: Pillow>=9.0
Requires-Dist: requests>=2.28
Requires-Dist: numpy>=1.26
Requires-Dist: pydantic>=2.0
Provides-Extra: layout
Requires-Dist: paddlex>=3.4; extra == "layout"
Requires-Dist: opencv-contrib-python>=4.10; extra == "layout"
Requires-Dist: shapely>=2.0; extra == "layout"
Provides-Extra: pdf
Requires-Dist: PyMuPDF>=1.23; extra == "pdf"
Provides-Extra: crosspage
Requires-Dist: beautifulsoup4>=4.12; extra == "crosspage"
Provides-Extra: upright
Requires-Dist: paddleocr>=3.0; extra == "upright"
Requires-Dist: opencv-contrib-python>=4.10; extra == "upright"
Provides-Extra: all
Requires-Dist: ocr-sdk-sandbox-17d2ad54[crosspage,layout,pdf,upright]; extra == "all"
Dynamic: license-file

# OCR SDK 发布测试副本

本仓库是 SDK 当前工作区内容的独立副本，用于验证正式 PyPI 的打包、安装和自动发布流程。

- PyPI 安装名：`ocr-sdk-sandbox-17d2ad54`。
- Python 导入名和命令行：`minicpmvocr`。
- 版本：`0.3.0`，由 `minicpmvocr/_version.py` 提供。
- Python 要求：3.10 或更新版本。
- 许可证：保留原 SDK 的 Apache-2.0 许可证。

测试包与原 SDK 提供相同的 Python 导入目录和命令行入口，请使用独立虚拟环境。
临时名称用于隔离发布测试；包内仍包含原 SDK 代码。

## 本地构建

```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip build twine pytest ".[crosspage]"
python -m pytest -q tests/test_public_api.py tests/test_reference_config.py tests/test_cli_overrides.py tests/test_parse_quickstart.py
python -m build
python -m twine check dist/*
```

测试会检查 API、随包配置和使用模拟后端的快速解析接口，不会启动模型或执行 GPU 推理。

## 自动发布

工作流：[`.github/workflows/release.yml`](.github/workflows/release.yml)。

发布对应版本的 GitHub Release 后，Actions 会构建并检查 wheel 和源码包，
在独立环境验证 wheel 安装，再通过 Trusted Publishing 上传到正式 PyPI。
工作流的手动运行仅执行构建和验证。

首次使用前，在 [PyPI Publishing](https://pypi.org/manage/account/publishing/) 登记 Pending Publisher：

| 字段 | 填写值 |
| --- | --- |
| PyPI Project Name | `ocr-sdk-sandbox-17d2ad54` |
| Owner | `LongkunHao` |
| Repository name | `ocr-sdk-sandbox-17d2ad54` |
| Workflow name | `release.yml` |
| Environment name | `pypi` |

GitHub 仓库使用 `pypi` 环境，限定 `v*` tag；手动发布 GitHub Release 是上传包的触发入口。
当前私有仓库的 GitHub 套餐不支持环境审批人规则。
无需在 GitHub 保存 PyPI API token。

后续发布时更新 `minicpmvocr/_version.py`，提交并推送，再创建对应 tag 和 Release：

```bash
git tag -a v0.3.0 -m "Release 0.3.0"
git push origin v0.3.0
```

在 [GitHub Releases](https://github.com/LongkunHao/ocr-sdk-sandbox-17d2ad54/releases) 发布 Release，
检查 [Actions](https://github.com/LongkunHao/ocr-sdk-sandbox-17d2ad54/actions) 的构建和上传结果。
后续版本需使用新的版本号和 tag。

## 从 PyPI 验证安装

首次发布成功后，在另一终端和独立虚拟环境中执行：

```bash
python3 -m venv .venv-verify
source .venv-verify/bin/activate
python -m pip install ocr-sdk-sandbox-17d2ad54==0.3.0
python -c "import minicpmvocr; print(minicpmvocr.__version__)"
minicpmvocr --help
```

安装 `[all]` 时会启用 SDK 的可选依赖。需要的模型、推理服务及 Paddle GPU 环境仍需另行配置。
