tushkum34-cloud/pylibsmeta

GitHub: tushkum34-cloud/pylibsmeta

大规模 Python 库静态元数据生成器,通过 AST 解析安全提取 PyPI 包的符号信息,为 AI 补全引擎和开发者工具提供基础设施。

Stars: 1 | Forks: 0

# pylibsmeta

大规模静态 Python 库元数据基础设施
使用 AST 解析自动进行 PyPI 包内省。
专为 AI 自动补全引擎、IDE 工具和静态分析系统设计。

## 🚀 概述 `pylibsmeta` 是一个全自动的 Python 生态系统元数据生成器。 该项目不安装和执行包,而是: - 从 PyPI 获取最新包版本 - 下载源分发包 - 使用 AST 解析 Python 文件 - 提取结构化符号元数据 - 存储带有版本编码的 JSON 输出 - 完全通过 GitHub Actions 运行 结果是一个可扩展、版本感知的静态元数据数据库,涵盖数千个 Python 库。 ## 🧠 存在原因 现代开发者工具需要: - 结构化符号数据 - 安全的内省(无执行) - 版本感知的 API 跟踪 - 可扩展的自动化 动态安装包进行内省既缓慢又不安全。 `pylibsmeta` 通过大规模的纯静态 AST 解析解决了这个问题。 ## 🔍 提取内容 对于每个 PyPI 包: - 函数 - 类 - 方法 - 全局变量 示例输出: ``` { "getLogger": ["name"], "Logger": { "debug": ["msg", "*args", "**kwargs"], "info": ["msg", "*args", "**kwargs"] } } ``` 每个文件都进行了版本编码: ``` 1.2.3 → v000100020003 ``` 示例: ``` requests_v000200310000.json ``` ## 📦 输出结构 ``` lib_db/ ├── requests_v000200310000.json ├── numpy_v000100260000.json ├── fastapi_v000000980000.json ``` ## ⚙️ 核心功能 - ✅ 版本编码 - ✅ 跳过已处理的版本 - ✅ 通过 `progress.json` 实现恢复系统 - ✅ 5 小时安全退出(感知 GitHub Actions 限制) - ✅ 全自动更新流水线 - ✅ 处理 15,000+ 个库 - ✅ 无需安装包 - ✅ 无代码执行 - ✅ 解析所有公共变量、函数、方法和类 ## 🔄 恢复系统 专为 GitHub 的 6 小时工作流限制设计。 每次运行: 1. 处理一批包 2. 保存进度 3. 在超时前安全退出 4. 在下一次计划运行时恢复 这使得跨数千个库的大规模处理成为可能。 ## 🤖 自动化 GitHub Actions 工作流支持: - 手动触发 (`workflow_dispatch`) - 计划运行 - 增量版本更新 - 自动化重建 每小时计划示例: ``` schedule: - cron: "0 * * * *" ``` ## 🛠 本地设置 ### 1️⃣ 添加包列表 创建 `l.txt`: ``` requests numpy fastapi django ``` ### 2️⃣ 安装依赖 ``` pip install -r requirements.txt ``` ### 3️⃣ 运行生成器 ``` python gen_libs.py ``` ## 📊 规模 设计支持: - 每次运行约 100 个包 - 总计约 15,000+ 个包 - 完全可恢复的处理 - 长期增量更新 这是基础设施级的元数据生成——而非一次性脚本。 ## 💡 使用案例 - 离线 AI 自动补全引擎 - 静态 LLM 基础数据集 - IDE 后端服务 - 库 API 索引 - 跨版本 API 比较 - 大规模符号搜索系统 - 开发者工具后端 ## 🔒 安全性 - 无 `exec` - 无 `eval` - 无运行时执行 - 无依赖安装 - 通过 AST 进行纯源码解析 适用于自动化环境。 ## 🧬 路线图 ### v1 (当前) - 函数/类提取 - 版本编码 - 自动化扩展 ### v2 (计划中) - 类型推断(基础) - 返回值分析 - 符号链接 - 结构化符号图 - Docstring 提取 - 跨版本 API 比较 - 压缩数据集构建 - 用于部分访问的 API 层 ## 📜 许可证 MIT 许可证 ## 🔥 状态 生产就绪 自动化 可扩展至数千个库 持续改进中

为可扩展的开发者工具基础设施而构建。

标签:AI辅助编程, AST解析, Homebrew安装, IDE插件, PyPI, Python, 云安全监控, 代码补全, 元数据提取, 大数据, 威胁情报, 安全可观测性, 开发者工具, 无后门, 版本控制, 目录扫描, 符号表, 网络调试, 自动化, 自动化payload嵌入, 进程保护, 逆向工具, 静态分析