Diagrams Alternatives
Similar projects and alternatives to diagrams
-
mermaid
Generation of diagram and flowchart from text in a similar manner as markdown
-
-
SonarLint
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.
-
-
-
c4-draw.io
Draw.io template/diagram containing C4 Model shapes. Drawio Diagrams.net
-
Apache Superset
Apache Superset is a Data Visualization and Data Exploration Platform [Moved to: https://github.com/apache/superset]
-
modules.tf-lambda
Infrastructure as code generator - from visual diagrams created with Cloudcraft.co to Terraform
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
PyQtGraph
Fast data visualization and GUI tools for scientific / engineering applications
-
plotly
The interactive graphing library for Python (includes Plotly Express) :sparkles:
-
kubernetes-the-hard-way
Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
-
-
manim
A community-maintained Python framework for creating mathematical animations. (by ManimCommunity)
-
speedtest
Self-hosted Speedtest for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more
-
GoJS, a JavaScript Library for HTML Diagrams
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.
-
-
Mermaid
Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.
-
home-ops
A mono repository for my home infrastructure and Kubernetes cluster which adheres to Infrastructure as Code (IaC) and GitOps practices where possible
-
c4-notation
Technical resources for using the C4 model for visualizing software architecture.
-
inframap
Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.
diagrams reviews and mentions
-
Diagram / Smart art as code
There’s also this that looks interesting, a Python DSL around Graphviz https://diagrams.mingrammer.com/
-
How can I document an AWS project?
I suggest Diagrams https://diagrams.mingrammer.com/. Is is a simple diagram as code tool using Python language to draw the diagrams. It is my go to for architecture diagrams. It is simple yet powerful.
-
What do you make your diagrams with?
diagram as code https://diagrams.mingrammer.com/
-
Diagrams as code
Curious to know if anyone else is doing diagrams as code and what you are using. I used mingrammer/diagrams to document my home setup and it is ok, but it is a tremendous amount of work IMHO to get it to look half way decent. Can't mix and match layouts in a single diagram (dot vs. neato), direction (TB vs. LR), doesn't alphabetize items in a group, etc. If you want to control exact layout for a particular section, you have to provide x,y coordinates of where to place each item. Can't just code it to display in a table of 3 rows by 3 columns.
-
Mermaid: Create diagrams and visualizations using text and code
There are Go and Python packages for diagrams as well:
- Diagrams lets you draw the cloud system architecture in Python code
- Diagrams as Code
- What are you using to draw your topology?
- Plaintext way to document a network?
-
Code for the sake of code - Python-generated diagrams
I am currently (slowly) learning Python, so I was looking for something easy to do with the language. Enter diagrams, which is a project to generate diagrams from Python.
-
Any open-source workflow designers?
mingrammer?
- Diagrams: Open-Source Alternative to Lucidchart
- How do you document your setup and progress?
-
Ask HN: Where are all the cool architecture diagrams?
I am on the hunt as well. This seems useful, not the prettiest but not the worst:
-
Ask HN: How to quickly animate sketches and 2D diagrams?
It's interpreted line-by-line so that each line represents one state of the diagram. There are commands to delete nodes: when I delete a node I just remove it from its parent but leave it in the top-level state. That has the neat effect that if I re-add it, I get the node with all its descendents and connections restored in one step, which I can use to pre-diagram things I talk about often.
After calculating the drawing state by applying all the commands from the start to the current selection, the next step is to limit this to the visible pieces. I make a copy of the drawing state, starting from the currently zoomed node and following all children. Then I add all connections, if all the 'to' ends of the connections are visible.
Next, I do layout. Starting with the visible tree, annotate all nodes with positions of the box (if any), the icon, and the label. The diagrams I'm drawing are similar to those produced by AWS Perspective: https://aws.amazon.com/solutions/implementations/aws-perspec... , so if a node has no children I draw it as a large icon with a label below, if it has children, it is a box with a small icon to the top left, a centred label at the top. Each node can choose one of a small number of layouts that I can do automatically with just a list of children: 'ring' (a circle of nodes), 'row', 'column', or 'snake' (the default: alternate rtl-ltr rows to evenly fill the space; this will be a grid if that fits or could end up like 4-3-4-3 if it doesn't). In ring & snake, boxes are always 4:3; in row and column they are stretched to fit.
Next, I do animation. I keep around the previous layed-out state, and use window.requestAnimationFrame to calculate the position of boxes between the start and end state. A box that is in both start and end states is moved, if it is only in start or end I fade it in or out as need be. This lets me animate between _any_ two states of the drawing, so I can talk about one bit of the diagram, then jump back and forth by clicking in the command window, and it smoothly animates between them. I found animating for just 0.5s worked best for interactivity; it's nice to see a slower move but it feels laggy when typing.
I calculate arrow positions after calculating the final position of boxes and icons. I chose to use circular arcs, because you will never get an awkward situation where an arc lies directly along the edge of a box; straight things are always boxes, curvy things are always arrows. SVG wants two endpoints and a centre to draw these. So, I start with an arc between the centres of the two boxes, choose a radius twice as long as the distance between these points; then I calculate the intersection of the arc with the boxes, and use those two intersection points as the start/end of the arc. (this isn't that difficult, the formula for the arc is in the svg spec, and it's checking 4 straight lines, choose the intersection point closest to the other box). Like the boxes, the arrows fade in and out if they are not needed in one of the start or end states.
All of this then just replaces the content of the svg. It's surprisingly smooth.
One last detail is icons. I'm using the icons from mingrammer (https://github.com/mingrammer/diagrams/tree/master/resources), which gives me about 1600(!). Finding an icon _while you type_ is awkward and initially I had to drop to the shell to find the file I was going to refer to. I tried giving the drawing tool a mode that would let me visually pick the icon, but 1600 is too many. So I changed it to use a fuzzy search to find an appropriate icon: it looks for the icon where the sequence of characters appear in the shortest substring of the icon path: eg for 'ec2' it constructs the regex `.(e.?c.*?2)`, scoring the matching substring 'ec2' better than 'elastic2', and the shorter containing string 'aws/compute/ec2' better than eg 'aws/compute/ec2-rounded'. (I have a further round of preferences so that the top level aws iconset is preferred to eg the ibm one, which has terrible icons). This gives you an icon for almost anything you type, and encourages a more playful approach to picking the icon than the exact-match approach.
There's a bit more to it, I also accept some markdown which fades from the diagram to slides with bullet points, then back to the diagram if the current command is a diagramming command. But the description above is most of it. I could probably have done this better with eg d3 to do the drawing but I am not a front end developer at all and the whole thing was more of a hack over a couple of weekends. I should clean it up a bit, but it works.
I serve up pre-prepared pages with this js attached from github pages, I can walk through eg the flow of data clicking the down arrow to change the selection which causes it to animate to the next state which has the next arrow... and so on.
Stats
mingrammer/diagrams is an open source project licensed under MIT License which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.