zleap_parser
zleap_parser 是 zleap 的数据接入与归档 SDK:把本地文件、公开 URL 以及企业内的
办公套件、代码仓库、邮件、数据库、RSS 与通用 API 数据,统一解析并归档为知识型
.octx 文件,供下游 AI / RAG 直接消费。
PyPI 分发包只包含 SDK 与连接器适配器。当前版本 0.3.1,支持 Python 3.11+。
安装
python -m pip install zleap_parser
# URL 采集首次使用时准备浏览器二进制
python -m camoufox fetch
按需安装可选能力:
python -m pip install "zleap_parser[pdf]"
python -m pip install "zleap_parser[xlsx]"
python -m pip install "zleap_parser[media]" # 另需系统 ffmpeg
python -m pip install "zleap_parser[db-all]"
python -m pip install "zleap_parser[tiktok]"
python -m pip install "zleap_parser[dingtalk-oa]"
python -m pip install "zleap_parser[dingtalk-profile]"
SQLite、Markdown 归档和普通文本解析可直接运行。RTF/XLSX 预览需要系统
soffice/libreoffice;URL 采集需要 Camoufox 浏览器二进制。
快速开始
解析本地文件或 URL
import zleap_parser
from zleap_parser import CacheConfig, Parser
zleap_parser.config(cache=CacheConfig(cache_namespace="sdk-default"))
parser = Parser()
parsed = parser.parse(file="/path/to/document.pdf")
# 默认 json:{root, files, tree} 文件目录树
tree = parsed["result"]
print(tree["root"]) # 解包后的本地目录
print(tree["files"]) # [{path, local_path, size}, ...]
print(parsed["usage"]) # 用量账本
# 历史契约:返回 *.octx 路径
octx_path = parser.parse(
file="/path/to/document.pdf", output_type="octx"
)["result"]
url 与 file 必须二选一。归档产物包含 knowledge/main.md、metadata 和原始附件;
不会生成事项、关系或向量文件。
连接器取数
from zleap_parser.connector import Connector, RSSAdapter
adapter = RSSAdapter(url="https://example.com/feed.xml", limit=20)
result = Connector().fetch(adapter=adapter)
# 默认 json:每个成功文档一个目录树对象
for tree in result["results"]:
print(tree["root"])
# 历史契约:返回 *.octx 路径列表
paths = Connector().fetch(adapter=adapter, output_type="octx")["results"]
输出类型
Parser.parse()、Connector.fetch() 以及连接器的 email_results / sync_cursor
共用 output_type 参数,大小写不敏感:
output_type |
输出 |
|---|---|
json(默认) |
{root, files, tree}:解包目录、文件清单与嵌套目录树;knowledge/ 固定排在最前 |
octx |
已存在的 knowledge-only .octx 路径(单文档为字符串,连接器为列表) |
json 模式的 files[] 提供:
{
"root": "/abs/path/document",
"files": [
{
"path": "knowledge/main.md",
"local_path": "/abs/path/document/knowledge/main.md",
"size": 1234
}
],
"tree": [
{
"name": "knowledge",
"type": "dir",
"path": "knowledge",
"children": [
{
"name": "main.md",
"type": "file",
"path": "knowledge/main.md",
"local_path": "/abs/path/document/knowledge/main.md",
"size": 1234
}
]
}
]
}
已有归档可单独解包:
from zleap_parser import materialize_octx_tree
tree = materialize_octx_tree("/path/to/document.octx")
内置数据源
共 29 个,均从 zleap_parser.connector 直接导入:
- 通用 API / RSS:
ApiRequestAdapter、RSSAdapter - 搜索与网页:
WebSearchAdapter、DeepCrawlAdapter、TrendingNewsAdapter - 企业微信 / 飞书:
WxWorkChatAdapter、FeishuBotChatAdapter、FeishuChatApiAdapter、FeishuGroupListAdapter、FeishuDriveInventoryAdapter、FeishuWikiInventoryAdapter、SalesmartlyChatAdapter - 钉钉:
DingTalkChatAdapter、DingTalkGroupListAdapter、DingTalkWikiInventoryAdapter、DingTalkDriveFilesAdapter、DingTalkDocumentAdapter、DingTalkOAAdapter - 邮件:
EmailAdapter(IMAP / POP3 / Gmail / Microsoft Graph) - 代码仓库:
GithubRepositoryAdapter、GitlabRepositoryAdapter、GiteeRepositoryAdapter、AtomgitRepositoryAdapter - 数据库:
DbAdapter、BigDbAdapter - 内容平台:
WechatPublicAccountAdapter、TwitterAdapter、TikTokAdapter、ZhipinResumeAdapter
数据源统一通过 Connector.fetch() 取数;邮件额外返回邮件产物与 sync-cursor,
Boss 直聘额外写出结构化记录 records.jsonl。
配置
import zleap_parser
from zleap_parser import LLMConfig
zleap_parser.config(
llm=LLMConfig(
base_url="https://api.example.com/v1",
api_key="sk-...",
model="gpt-4o-mini",
)
)
- 普通解析、非 Git 连接器和
pack_*不要求llm,返回完整零用量。 - Git 仓库分析需要统一
LLMConfig;usage 明细统一为kind="llm"。 CacheConfig.cache_namespace默认"sdk-default",参与所有缓存 key/signature。 多租户场景应为每个任务创建独立配置快照,例如tenant-<sha256(tenant_id) 前 32 位>,不要在并发任务中修改全局配置。supports_multimodal=False为默认值,只有显式设为True才声明模型接受多模态消息。
支持格式
文本、源码、PDF、RTF、DOCX、PPTX、XLSX、HTML、XML、图片和音视频。
格式识别优先依据 magic bytes/内容特征,不依赖扩展名;新增格式通过
BaseAdapter 插件接入。
版本变更
0.3.1
- 修复 Google / Bing 搜索结果获取:解析
/goto跳转链接、轮询等待结果节点、 规范化 Google 结果 URL。 - PyPI 描述改为 SDK 专用文档,移除与分发包无关的内容。
- 优化
json输出渲染:同一 bundle 归档只解包一次,文件大小只读取一次。
0.3.0
Parser.parse()/Connector.fetch()新增output_type(默认json)。json返回{root, files, tree}目录树;octx保持历史路径契约。- 补齐
ZhipinResumeAdapter等全部内置数据源的 SDK 导出。 - 新增
materialize_octx_tree()公共入口。
许可证
MIT
Metadata
Release files for zleap-parser 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zleap_parser-0.3.1.tar.gz | 32.9 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zleap_parser-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 MB
Release files / zleap_parser-0.3.1.tar.gz
| Download URL | zleap_parser-0.3.1.tar.gz |
|---|---|
| Size | 32.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bb08ff307bc65e375dfba92b21ab06963bc19a9902478801bb78dece1b4980f
|
|
BLAKE2b-256 checksum How to use checksums |
20c3c874fdab4513c9bb2a5411bc2abd9b94270287d00235d0c7dca10dceb8f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / zleap_parser-0.3.1-py3-none-any.whl
| Download URL | zleap_parser-0.3.1-py3-none-any.whl |
|---|---|
| Size | 3.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f4d27436f79063e12cf6c6015876910e4d3601c7a7bfa1261d1e9fcaee51931
|
|
BLAKE2b-256 checksum How to use checksums |
38706b4006bca627047ccb229ec04246b51488959af3d49598445d1798905b54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Security for zleap-parser 0.3.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.