基于 PlantUML 的 C4 模型宏库,用纯文本代码绘制软件架构图。
mingrammer/diagrams
用 Python 代码绘制云和系统架构图,内置 AWS、Azure、GCP、Kubernetes 等服务图标。
- Star
- 42,752
- Fork
- 2,733
- 未关闭 Issue
- 400
- 最近提交
- 5天前
这是什么?
Diagrams 是一个用 Python 代码绘制云架构和系统架构图的库。无需拖拽图形工具,只需在脚本中描述节点及其连接关系,即可通过 Graphviz 渲染出图。由于图表本身就是代码,可以和基础设施代码一起纳入版本控制并随之更新。
该库内置 AWS、Azure、Google Cloud、Kubernetes、阿里云、Oracle Cloud 等主流云厂商的图标,并提供本地部署(On-Premises)、SaaS、编程框架以及 C4 模型等节点。它适用于快速原型设计新架构,也可用于梳理现有系统。它不会连接或管理真实云资源,也不生成 CloudFormation 或 Terraform 代码。
项目还提供在线 Playground,无需安装 Python 或 Graphviz 即可在浏览器中体验。
核心功能
- 01用 Python 代码定义架构图,可随 git 进行版本管理。
- 02内置 AWS、Azure、GCP、Kubernetes、阿里云、Oracle Cloud 等图标集。
- 03支持本地部署、SaaS、编程语言框架和 C4 模型等节点类型。
- 04使用 Graphviz 渲染输出图像。
- 05提供可在浏览器中直接运行的在线 Playground。
适用场景
- 在实施前快速原型设计新的云系统架构。
- 为现有云或 Kubernetes 部署绘制图表,并与代码一同维护。
- 在文档流程中自动生成架构图。
快速上手
- 1
安装 Graphviz(macOS 可通过 Homebrew)
brew install graphviz - 2
使用 pip 安装 diagrams 包
pip install diagrams
使用前须知
- 渲染图表前需要单独安装 Graphviz。
- 需要 Python 3.9 或更高版本。
- 它不控制任何云资源,也不生成 Terraform 或 CloudFormation 代码,仅用于绘制图表。
标签
常见问题
- diagrams 是什么?
- 用 Python 代码绘制云和系统架构图,内置 AWS、Azure、GCP、Kubernetes 等服务图标。 Diagrams 是一个用 Python 代码绘制云架构和系统架构图的库。无需拖拽图形工具,只需在脚本中描述节点及其连接关系,即可通过 Graphviz 渲染出图。由于图表本身就是代码,可以和基础设施代码一起纳入版本控制并随之更新。
- diagrams 可以免费使用吗?用的什么许可证?
- diagrams 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- diagrams 还在维护吗?
- 活跃维护中。diagrams 最近一次提交是在 2026年10月17日。
- diagrams 适合用来做什么?
- 在实施前快速原型设计新的云系统架构。 为现有云或 Kubernetes 部署绘制图表,并与代码一同维护。 在文档流程中自动生成架构图。
- diagrams 怎么安装和运行?
- 安装 Graphviz(macOS 可通过 Homebrew): brew install graphviz 使用 pip 安装 diagrams 包: pip install diagrams
- 在哪里获取 diagrams?
- 源代码和安装说明在 GitHub 上:https://github.com/mingrammer/diagrams
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
74411168PlantUMLMIT更新于 9天前
通过纯文本描述生成 UML 及其他类型的图表,支持时序图、类图、活动图等。
1.3万1240JavaLGPL-3.0更新于 15小时前
一款将纯文本大纲快速生成流程图和示意图的网页应用,基于 React 和 cytoscape.js 构建。
3399245TypeScriptMIT更新于 6天前
一个 AI 编程代理技能,让代理在改代码前把项目架构、约束和改动范围画成 HTML 图,经确认后再实施。
69175TypeScriptMIT更新于 13天前
一个智能体技能,可将自然语言及 Terraform、K8s、SQL、OpenAPI 等源码转换为可编辑的 draw.io 架构图。
1万712PythonMIT更新于 11天前
一种基于 C4 模型思路的架构建模语言与工具链,可从代码生成实时更新的架构图。
5936405TypeScriptMIT更新于 19小时前