Diagrams is a Python library that lets you draw cloud system architecture diagrams by writing code instead of using graphical design tools.
The tool solves the problem of documenting and prototyping cloud architectures without requiring specialized diagramming software. You write Python code that describes your system components and their relationships, and Diagrams renders the output using Graphviz. This approach makes architecture diagrams versionable alongside your codebase and enables rapid iteration during the design phase. The library includes built-in support for major cloud providers including AWS, Azure, GCP, Kubernetes, Alibaba Cloud, and Oracle Cloud, as well as on-premises infrastructure, SaaS applications, and programming frameworks.
Diagrams suits teams that want to treat infrastructure documentation as code and maintain it in version control systems. It works well for prototyping new architectures and visualizing existing systems, particularly in organizations already comfortable with Python. The tool is explicitly not a cloud resource controller and does not generate infrastructure-as-code templates like CloudFormation or Terraform; it is purely for creating visual diagrams. An online playground is available for trying the tool without installation.
The project maintains steady activity with regular updates addressing bug fixes and feature additions. Development includes ongoing expansion of provider support and refinement of the rendering pipeline. The maintainer actively engages with the community through issue responses and incorporates user feedback into releases.