diagrams
:art: Diagram as Code for prototyping cloud system architectures
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 166 committers (1.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
:art: Diagram as Code for prototyping cloud system architectures
Basic Info
- Host: GitHub
- Owner: mingrammer
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://diagrams.mingrammer.com
- Size: 58.9 MB
Statistics
- Stars: 41,377
- Watchers: 405
- Forks: 2,659
- Open Issues: 381
- Releases: 44
Topics
Metadata Files
README.md

Diagrams
Diagram as Code.
Diagrams lets you draw the cloud system architecture in Python code. It was born for prototyping a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports main major providers including: AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud etc... It also supports On-Premises nodes, SaaS and major Programming frameworks and languages.
Diagram as Code also allows you to track the architecture diagram changes in any version control system.
NOTE: It does not control any actual cloud resources nor does it generate cloud formation or terraform code. It is just for drawing the cloud system architecture diagrams.
Providers
Getting Started
It requires Python 3.9 or higher, check your Python version first.
It uses Graphviz to render the diagram, so you need to install Graphviz to use diagrams. After installing graphviz (or already have it), install the diagrams.
macOS users can download the Graphviz via
brew install graphvizif you're using Homebrew.
```shell
using pip (pip3)
$ pip install diagrams
using pipenv
$ pipenv install diagrams
using poetry
$ poetry add diagrams ```
You can start with quick start. Check out guides for more details, and you can find all available nodes list in here.
Examples
| Event Processing | Stateful Architecture | Advanced Web Service |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
|
You can find all the examples on the examples page.
Contributing
To contribute to diagram, check out contribution guidelines.
Let me know if you are using diagrams! I'll add you in showcase page. (I'm working on it!) :)
Who uses it?
Apache Airflow is the most popular data workflow Orchestrator. Airflow uses Diagrams to generate architecture diagrams in their documentation.
Cloudiscovery helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw your existing cloud infrastructure with Cloudiscovery.
Airflow Diagrams is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams.
KubeDiagrams is a tool to generate Kubernetes architecture diagrams from Kubernetes manifest files, kustomization files, Helm charts, and actual cluster state. KubeDiagrams supports all Kubernetes built-in resources, any custom resources, and label-based resource clustering.
Other languages
- If you are familiar with Go, you can use go-diagrams as well.
License
Owner
- Name: MinJae Kwon
- Login: mingrammer
- Kind: user
- Location: South Korea
- Company: @daangn
- Website: https://mingrammer.com
- Twitter: mingrammer
- Repositories: 30
- Profile: https://github.com/mingrammer
A green Gopher & Pythonista 🥳 I love computer science, system design, and automating things 💕 Climber 🧗
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| mingrammer | m****r@g****m | 250 |
| gabriel-tessier | g****r | 42 |
| dependabot[bot] | 4****] | 36 |
| Nicolas Lamirault | n****t@g****m | 20 |
| Yu ISHIKAWA | y****a@g****m | 15 |
| Phuoc Tran | 5****1 | 14 |
| Yoshiaki Yoshida | y****2@g****m | 8 |
| Filipe Oliveira | 1****a | 7 |
| Guy Zylberberg | g****l@g****m | 5 |
| Leandro Damascena | l****a@g****m | 5 |
| Dov Benyomin Sohacheski | b@k****l | 4 |
| outscale-mgo | m****o@o****m | 3 |
| Hagai Shapira | h****s@g****m | 3 |
| Dimitrios (Dimi) Liapis | d****i@g****m | 3 |
| Slach | b****n@g****m | 3 |
| Zameer Fouzan | z****n@g****m | 2 |
| Viicos | 6****s | 2 |
| Tobias Bruckert | 6****2 | 2 |
| lrjball | 5****l | 2 |
| rajat404 | 4****t@g****m | 2 |
| Eric Winnington | e****t@g****m | 2 |
| Tim Gates | t****s@i****m | 2 |
| Ryan Miller | r****n@d****m | 2 |
| Pierre-Yves Aillet | p****t | 2 |
| Patryk Orwat | p****t@g****m | 2 |
| Chris Skaaning | c@r****m | 2 |
| Nick Walters | n****s@m****m | 2 |
| Alexis Vanier | a****r@s****m | 2 |
| Nguyễn Đức Chiến | n****i@n****m | 2 |
| Nathan Zender | g****b@n****m | 2 |
| and 136 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 167
- Total pull requests: 317
- Average time to close issues: 7 months
- Average time to close pull requests: 5 months
- Total issue authors: 147
- Total pull request authors: 93
- Average comments per issue: 2.59
- Average comments per pull request: 1.51
- Merged pull requests: 146
- Bot issues: 0
- Bot pull requests: 84
Past Year
- Issues: 36
- Pull requests: 181
- Average time to close issues: about 1 month
- Average time to close pull requests: 14 days
- Issue authors: 32
- Pull request authors: 35
- Average comments per issue: 1.22
- Average comments per pull request: 0.8
- Merged pull requests: 96
- Bot issues: 0
- Bot pull requests: 61
Top Authors
Issue Authors
- HariSekhon (7)
- jlosito (4)
- TianxingChang (2)
- flyisland (2)
- ggrossetie (2)
- errolsancaktar (2)
- protester-pog (2)
- markgreen-deloitte (2)
- TrippyJack07 (2)
- jahway603 (2)
- adriens (2)
- tvqphuoc01 (2)
- tombohub (2)
- huksley (1)
- finnje (1)
Pull Request Authors
- dependabot[bot] (84)
- tvqphuoc01 (25)
- kakakakakku (15)
- gabriel-tessier (14)
- mingrammer (6)
- bdsoha (6)
- fabaff (5)
- dimitrisli (5)
- nobiit (5)
- vadim2404 (4)
- ogabriel (4)
- tb102122 (4)
- RaczeQ (4)
- ajmaradiaga (4)
- tiaz0128 (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 9
-
Total downloads:
- pypi 7,011,184 last-month
- Total docker downloads: 522
-
Total dependent packages: 28
(may contain duplicates) -
Total dependent repositories: 269
(may contain duplicates) - Total versions: 115
- Total maintainers: 2
pypi.org: diagrams
Diagram as Code
- Homepage: https://diagrams.mingrammer.com
- Documentation: https://diagrams.readthedocs.io/
- License: MIT
-
Latest release: 0.24.4
published 12 months ago
Rankings
Maintainers (1)
proxy.golang.org: github.com/mingrammer/diagrams
- Documentation: https://pkg.go.dev/github.com/mingrammer/diagrams#section-documentation
- License: mit
-
Latest release: v0.24.4
published 12 months ago
Rankings
pypi.org: verrggg
This package is used for security research and demonstrations. It might contain dangerous code snippets. Do not run.
- Homepage: https://github.com/mingrammer/diagrams
- Documentation: https://verrggg.readthedocs.io/
- License: Apache v2
-
Latest release: 2.10.0.dev2022071007
published over 3 years ago
Rankings
pypi.org: verrgg
This package is used for security research and demonstrations. It might contain dangerous code snippets. Do not run.
- Homepage: https://github.com/mingrammer/diagrams
- Documentation: https://verrgg.readthedocs.io/
- License: Apache v2
-
Latest release: 1.2.3
published over 3 years ago
Rankings
pypi.org: cxmaster-mty
This package is used for security research and demonstrations. It might contain dangerous code snippets. Do not run.
- Homepage: https://github.com/mingrammer/diagrams.git
- Documentation: https://cxmaster-mty.readthedocs.io/
- License: Apache v2
-
Latest release: 3.2.1
published over 3 years ago
Rankings
pypi.org: yalla12
This package is used for security research and demonstrations. It might contain dangerous code snippets. Do not run.
- Homepage: https://github.com/mingrammer/diagrams
- Documentation: https://yalla12.readthedocs.io/
- License: Apache v2
-
Latest release: 2.1.3
published over 3 years ago
Rankings
pypi.org: alonpinukim3
this is a diagrams package
- Homepage: https://github.com/mingrammer/diagrams
- Documentation: https://alonpinukim3.readthedocs.io/
- License: Apache v2
-
Latest release: 2.2.2
published over 3 years ago
Rankings
Maintainers (1)
conda-forge.org: diagrams
- Homepage: https://diagrams.mingrammer.com
- License: MIT
-
Latest release: 0.21.0
published about 4 years ago
Rankings
pypi.org: compat-fork-diagrams
Diagram as Code
- Homepage: https://diagrams.mingrammer.com
- Documentation: https://compat-fork-diagrams.readthedocs.io/
- License: MIT
-
Latest release: 0.24.1
published over 1 year ago
