Skip to main content

zleap_parser

zleap_parser 是 zleap 公司开源的文档解析 SDK:把本地文件或远程 HTML URL 解析为 markdown,经 sag 提取结构化产物后由 octx 打包为可传播的 .octx Package,供下游项目以 pip 方式集成使用。

当前状态:M1 基础框架已实施(开发中)。 源码位于 src/(src 布局):Parserparse / markdown_to_octx / 自定义适配器注册)、同步浏览器 URL 采集器、六类内置适配器(plain / image / pdf / docx / html / xml,插件化接入)、zleap-sag 提取封装与 octx 打包封装、旧文件下载器 SSRF 防护与本地二级缓存。计划文档见 plan/

阅读顺序

  1. 计划总览plan/PLAN.md):项目定位、里程碑划分(M1 解析器 / M2 连接器 / M3 公共服务)与门禁
  2. SDK 导入手册docs/sdk/install.md):环境要求、安装、快速上手
  3. 配置手册docs/sdk/configuration.md):模块级一次配置,M1/M2 复用
  4. 文档解析 API 手册docs/sdk/parse_api.md):Parser 用法与异常表
  5. 连接器 API 手册docs/sdk/connector_api.md):数据源同步
  6. 公共服务手册docs/service/):部署与 HTTP API

快速上手

需要 Python 3.11 或更高版本:

# 安装 Python 依赖
pip install -r requirements.txt   # 上游依赖(octx / zleap-sag / uuid6 / pycryptodome + 开发工具链)
pip install -e .                  # 或 python -m pip install zleap_parser

# URL 采集首次运行前安装并检查 CloakBrowser 浏览器二进制
python -m cloakbrowser install
python -m cloakbrowser info

模块级配置一次(llmembedding 必填),ParserConnector 自动继承复用:

import zleap_parser
from zleap_parser import Parser, LLMConfig, EmbeddingConfig

zleap_parser.config(
    llm=LLMConfig(base_url="https://api.xxx.com/v1", api_key="sk-...", model="qwen3.6-flash"),
    embedding=EmbeddingConfig(model="Qwen/Qwen3-Embedding-0.6B", dimensions=1024),
)

parser = Parser()

# 本地文件走 magic bytes、格式适配器和文件内容缓存链路
result = parser.parse(file="/path/to/document.pdf")

# URL 只支持 HTML,走同步 CloakBrowser 正文采集链路
url_result = parser.parse(url="https://example.com/article")

# 两种入口都返回 {result: *.octx 归档文件路径, usage: LLM token 用量}
print(result["result"], result["usage"])     # usage: prompt_tokens / completion_tokens / total_tokens
print(url_result["result"], url_result["usage"])

本地冒烟测试(读取根目录 .env 初始化配置):

cp .env.example .env      # 填入 LLM / Embedding 配置
python src/main.py --list                 # 打印生效配置
python src/main.py tests/fixtures/sample.txt   # 解析本地文件
python src/main.py                        # 默认解析 tests/fixtures/ 下全部样例

核心能力

能力 说明 手册
文档解析(M1) HTML URL / 本地文件 → markdown → *.octx;URL 正文规则与本地格式适配器分流 parse_api.md
数据同步(M2) 数据源(网页搜索等)文档清单 → 逐文档解析 → *.octx connector_api.md
公共服务(M3) 文档解析、连接器同步 HTTP API service/

要点

  • 产出物统一为 *.octx 归档文件:可读 markdown + 稳定身份、版本、完整性信息及可选的 chunks、events、entities、vectors。
  • 文件类型以 magic bytes 判定,不依赖扩展名。
  • 配置:模块级 zleap_parser.config(...) 一次配置,Parser/Connector 自动继承;实例级 *.config() 与全局合并,便于高度自定义。
  • 缓存:本地文件解析使用 Redis 或本地二级缓存;URL 输入每次重新执行浏览器采集,不使用持久缓存。
  • URL 采集:只校验 HTTP(S) URL 格式,不执行 DNS/IP 类型判定;每次调用独立创建并关闭 Browser、Context、Page,不使用进程级信号量,多个线程可并发调用。正文提取、正文图片筛选和 Markdown 转换沿用参考 webcrawler 的规则语义,正文质量不足严格抛 ConversionError
  • URL 附件:成功渲染的 page.html 与成功下载的正文图片随 markdown_to_octx(source_files=[...]) 以同一 document_id 写入 OCTX;远程 PDF/图片/普通文件不接受。
  • pdf 兜底链路:用户自定义适配器 → Docling → markitdown(其他兜底可追加)。
  • docx 兜底链路:用户自定义适配器 → Docling → markitdown;DOCX 内嵌图片随原文件写入 OCTX 附件。
  • 异常:所有 API 失败均抛 ZleapParserError 及子类(ConfigError / AdapterNotFoundError / ConversionError / DownloadError / TimeoutError / ExtractError),不裸奔底层异常;URL 采集编排层保留已有 SDK 异常,并将其他内部异常包装为 ConversionError

边界

  • 不定义搜索 API、召回算法或 Agent 协议;解析与归档之外的能力由下游自行实现。
  • 核心解析框架与格式实现解耦:新增格式即新增适配器,不改核心代码。
  • 上游参考实现:sag(markdown 结构化提取)与 octx*.octx 打包)位于本地仓库 ../SAG../open-context
  • URL 正文规则直接复制 MinerU HTML webcrawler 的正文抽取器(本地命名为 article_extractor.py);许可与归属见 THIRD_PARTY_NOTICES.mdLICENSES/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zleap_parser-0.1.0.tar.gz (31.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zleap_parser-0.1.0-py3-none-manylinux_2_17_x86_64.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

File details

Details for the file zleap_parser-0.1.0.tar.gz.

File metadata

  • Download URL: zleap_parser-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for zleap_parser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 471a390127dafbc619b0c31fb6df5dc868b32b65206979292735145a5546688d
MD5 b53d0eb2b65cfb5b83c39740f624d466
BLAKE2b-256 ed30dd7501073773e21fb4c2abfa7f4c2a0927dcc4cb506dddaad66a940e3fe9

See more details on using hashes here.

File details

Details for the file zleap_parser-0.1.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for zleap_parser-0.1.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3ea275d57660eb3369f23f5e706013b65d0815caa07acf55ecf2f63e588bc17c
MD5 cb0d3f2b7d4bc2afa64fee8d3dae2252
BLAKE2b-256 c99b656f0620662f7dc86c9c761443bd03c57d49c44610aa41162c646080e4e4

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

0.1.5

3 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

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