About this project

Diagrams is an open-source Python library that enables developers to create cloud system architecture diagrams using Python code, following the 'Diagram as Code' philosophy. The tool was designed for prototyping new system architecture designs without relying on traditional design tools, and can also be used to document existing infrastructure. Key features include: - Support for major cloud providers: AWS, Azure, GCP, IBM, Kubernetes, Alibaba Cloud, Oracle Cloud, OpenStack, Firebase, DigitalOcean, Elastic, OutScale, and more - Support for on-premises nodes, SaaS services, and major programming frameworks/languages - C4 model support for architecture diagrams - Version control integration for tracking architecture changes - An online playground at diagrams.mingrammer.com/playground that runs in the browser via Pyodide, requiring no installation - Export to PNG, SVG, and JPEG formats The library uses Graphviz for rendering diagrams and requires Python 3.9 or higher. Installation is straightforward via pip, pipenv, or poetry. Notable projects that use Diagrams include Apache Airflow (for generating architecture diagrams in documentation), Cloudiscovery (for analyzing and visualizing cloud resources), Airflow Diagrams (for visualizing Airflow DAGs), KubeDiagrams (for generating Kubernetes architecture diagrams from manifests), and AWS CloudFormation Diagrams (for generating diagrams from CloudFormation templates). The project is licensed under MIT and has an active community of contributors. A Go implementation (go-diagrams) is also available for developers familiar with Go.