Skip to main content

Library to generate DRAW.IO compatible diagrams to represent Cloud infrastructure. AWS Cloud supported.

Project description

Explore and Document Your Cloud Infrastructure with multicloud-diagrams


license PyPI version python version tests

As Professional Architects, Developers and DevOps with experience in operating on Public Cloud Providers, we all recognize the crucial importance of well-documented Infrastructure and Architecture in a representable form for driving successful projects.

multicloud-diagrams is a framework that combines multiple approaches: Diagrams as a Code (Dac), resources ingestion from external yaml sources, interaction through programmatic API integration.

It allows to store the Infrastructure snippet in drawio format, which is editable vector-based representation. Since source file is not a Raster form, it is easy to edit, customize, position elements based on our needs and track the history.



Support OS Project:

Support from sponsors is invaluable for the continued maintenance and development of open-source projects. You can use any of most popular platforms: Patreon or Buy me a Cofee, by following these links:

  • patreon
  • Buy Me A Coffee

Examples of diagrams generated using multicloud-diagrams:

End-to-End with AWS resources:

draw-e2e.gif


API Gateway with integrations:

draw-apigw.gif


DynamoDB Insights:

drawio-dynamodb.gif


Augment Diagram from UML:

drawio-uml.gif


Supported Cloud Provides:

provider supported in multicloud-diagrams
aws provider [x] since project start
on premise provider [x] since v0.2.1
azure provider [ ]
gcp provider [ ]

Supported Nodes Landscape (Autogenerated on-release):

landscape.png


Why multicloud-diagrams is written on Python?

The choice of Python as the programming language for our initial project was driven by several key factors that align seamlessly with our goals and requirements. Here's why Python was selected as the foundation for our project's development:

  • Seamless Integration and Data Ingestion using AWS Boto3 (official SDK for Amazon Web Services, developed in Python).
  • Simplicity: Python's clean and readable syntax simplifies the development process. Its ease of use and elegant structure enable to focus on the core components without being bogged down by unnecessary complexities.
  • Broad Appeal among DevOps and Developers: Python's popularity within the DevOps and Development communities is undeniable. Its extensive adoption is a testament to its effectiveness for building robust applications. By choosing Python, we cater to a broader audience, fostering collaboration and easing the learning curve for newcomers.
  • Cross-Platform Availability: Python's cross-platform compatibility ensures that our project can be run on a wide array of environments without compatibility issues. Whether you're working on Windows, macOS, or Linux, Python's ubiquity guarantees consistent functionality across platforms.

Why multicloud-diagrams chooses drawio as the Output Format?

During my exploration of various tools on this journey, I've encountered several options, each with its own set of advantages and compromises. However, after careful consideration, the decision to adopt the drawio format emerged as the optimal choice for several compelling reasons:

  • Editable form of drawio format provides a great level of customization, enabling users to easily fine-tune diagrams to meet specific needs and scenarios.
  • Widespread Adoption: with a broad user base, drawio stands as one of the most widely used diagramming tools, ensuring familiarity and compatibility across diverse teams.
  • Enhanced Plugin and Tool Support: the format seamlessly integrates with a set of plugins and tools, enriching the ecosystem with expanded capabilities and possibilities.
  • Compact File Sizes: leveraging the drawio format results in compact file sizes, facilitating swift sharing and distribution without compromising visual quality.
  • Git-trackable Infrastructure Evolution: allowing for efficient tracking and visualization of infrastructure mutations over time.
  • Smooth Compilation to Raster and other formats: drawio supports out of the box converting to PNG, JPG, PDF, SVG, VSDX, XML

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multicloud_diagrams-0.3.25.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

multicloud_diagrams-0.3.25-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file multicloud_diagrams-0.3.25.tar.gz.

File metadata

  • Download URL: multicloud_diagrams-0.3.25.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.2.0-1019-azure

File hashes

Hashes for multicloud_diagrams-0.3.25.tar.gz
Algorithm Hash digest
SHA256 e370dce6ce527d970eb1fd359c89458c33678eefc339f4ce12bd53ee3beba70e
MD5 0dd27d5503af63197a24d2a1c94d8cbf
BLAKE2b-256 f18825c7efa59f8c95f23d7bdc14795d19c097fa4e9f996a8fb170885ed6a68d

See more details on using hashes here.

File details

Details for the file multicloud_diagrams-0.3.25-py3-none-any.whl.

File metadata

File hashes

Hashes for multicloud_diagrams-0.3.25-py3-none-any.whl
Algorithm Hash digest
SHA256 71f4412e96d558177d29c642d5558a1b0ae13ef3ddc4ecea9a02b157452e9dae
MD5 0e1104ab4bfec262ce8398c402d98171
BLAKE2b-256 36f0ee876b066038d5bbfb073827be5d22bb6ff81679a3f4b9b3916ac5856a7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page