diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 88c791d5..2fd60696 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -18,17 +18,17 @@ jobs:
test:
strategy:
matrix:
- python: ["3.7", "3.8", "3.9", "3.10", "3.11"]
+ python: ["3.9", "3.10", "3.11"]
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v3
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1
- name: Install poetry
- run: pip install poetry
+ run: curl -sSL https://install.python-poetry.org | python3 -
- name: Run all tests
run: |
poetry install
diff --git a/README.md b/README.md
index 0b15594d..086a684c 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ Diagrams lets you draw the cloud system architecture **in Python code**. It was
## Getting Started
-It requires **Python 3.6** or higher, check your Python version first.
+It requires **Python 3.7** or higher, check your Python version first.
It uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use **diagrams**. After installing graphviz (or already have it), install the **diagrams**.
@@ -76,7 +76,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md).
## Who uses it?
-[GitPitch](https://gitpitch.github.io/gitpitch) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://gitpitch.github.io/gitpitch/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training.
+[Apache Airflow](https://github.com/apache/airflow) is the most popular data workflow Orchestrator. Airflow uses Diagrams to generate architecture diagrams in their documentation.
[Cloudiscovery](https://github.com/Cloud-Architects/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.
diff --git a/diagrams/azure/compute.py b/diagrams/azure/compute.py
index e2e23ba6..810f9237 100644
--- a/diagrams/azure/compute.py
+++ b/diagrams/azure/compute.py
@@ -40,6 +40,10 @@ class CloudsimpleVirtualMachines(_Compute):
_icon = "cloudsimple-virtual-machines.png"
+class ContainerApps(_Compute):
+ _icon = "container-apps.png"
+
+
class ContainerInstances(_Compute):
_icon = "container-instances.png"
diff --git a/diagrams/azure/network.py b/diagrams/azure/network.py
index 23dd69c0..d55ad3cc 100644
--- a/diagrams/azure/network.py
+++ b/diagrams/azure/network.py
@@ -72,6 +72,10 @@ class OnPremisesDataGateways(_Network):
_icon = "on-premises-data-gateways.png"
+class PrivateEndpoint(_Network):
+ _icon = "private-endpoint.png"
+
+
class PublicIpAddresses(_Network):
_icon = "public-ip-addresses.png"
diff --git a/diagrams/gcp/api.py b/diagrams/gcp/api.py
index f556ff03..45ec2e09 100644
--- a/diagrams/gcp/api.py
+++ b/diagrams/gcp/api.py
@@ -12,6 +12,10 @@ class APIGateway(_API):
_icon = "api-gateway.png"
+class Apigee(_API):
+ _icon = "apigee.png"
+
+
class Endpoints(_API):
_icon = "endpoints.png"
diff --git a/diagrams/gcp/operations.py b/diagrams/gcp/operations.py
index 53ece13f..8e7a2b4a 100644
--- a/diagrams/gcp/operations.py
+++ b/diagrams/gcp/operations.py
@@ -8,6 +8,10 @@ class _Operations(_GCP):
_icon_dir = "resources/gcp/operations"
+class Logging(_Operations):
+ _icon = "logging.png"
+
+
class Monitoring(_Operations):
_icon = "monitoring.png"
diff --git a/diagrams/generic/virtualization.py b/diagrams/generic/virtualization.py
index 0695fd01..f7f9006a 100644
--- a/diagrams/generic/virtualization.py
+++ b/diagrams/generic/virtualization.py
@@ -8,6 +8,10 @@ class _Virtualization(_Generic):
_icon_dir = "resources/generic/virtualization"
+class Qemu(_Virtualization):
+ _icon = "qemu.png"
+
+
class Virtualbox(_Virtualization):
_icon = "virtualbox.png"
diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py
index 23a55948..7e3ee9a3 100644
--- a/diagrams/onprem/analytics.py
+++ b/diagrams/onprem/analytics.py
@@ -72,6 +72,10 @@ class Tableau(_Analytics):
_icon = "tableau.png"
+class Trino(_Analytics):
+ _icon = "trino.png"
+
+
# Aliases
PowerBI = Powerbi
diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py
index 46f67750..aa28e451 100644
--- a/diagrams/programming/framework.py
+++ b/diagrams/programming/framework.py
@@ -48,6 +48,10 @@ class Micronaut(_Framework):
_icon = "micronaut.png"
+class Quarkus(_Framework):
+ _icon = "quarkus.png"
+
+
class Rails(_Framework):
_icon = "rails.png"
diff --git a/diagrams/saas/alerting.py b/diagrams/saas/alerting.py
index 76e17ff2..0df15d83 100644
--- a/diagrams/saas/alerting.py
+++ b/diagrams/saas/alerting.py
@@ -16,6 +16,10 @@ class Opsgenie(_Alerting):
_icon = "opsgenie.png"
+class Pagerduty(_Alerting):
+ _icon = "pagerduty.png"
+
+
class Pushover(_Alerting):
_icon = "pushover.png"
@@ -24,7 +28,4 @@ class Xmatters(_Alerting):
_icon = "xmatters.png"
-class Pagerduty(_Alerting):
- _icon = "pagerduty.png"
-
# Aliases
diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md
index 88fba3a0..6a0926cd 100644
--- a/docs/nodes/azure.md
+++ b/docs/nodes/azure.md
@@ -71,6 +71,9 @@ Node classes list of azure provider.
**diagrams.azure.compute.CloudsimpleVirtualMachines**
+
+**diagrams.azure.compute.ContainerApps**
+
**diagrams.azure.compute.ContainerInstances**
@@ -572,6 +575,9 @@ Node classes list of azure provider.
**diagrams.azure.network.OnPremisesDataGateways**
+
+**diagrams.azure.network.PrivateEndpoint**
+
**diagrams.azure.network.PublicIpAddresses**
diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md
index acec27bd..a47f8020 100644
--- a/docs/nodes/gcp.md
+++ b/docs/nodes/gcp.md
@@ -44,6 +44,9 @@ Node classes list of gcp provider.
**diagrams.gcp.api.APIGateway**
+
+**diagrams.gcp.api.Apigee**
+
**diagrams.gcp.api.Endpoints**
@@ -278,6 +281,9 @@ Node classes list of gcp provider.
## gcp.operations
+
+**diagrams.gcp.operations.Logging**
+
**diagrams.gcp.operations.Monitoring**
diff --git a/docs/nodes/generic.md b/docs/nodes/generic.md
index 508ab0a8..5bab8cf1 100644
--- a/docs/nodes/generic.md
+++ b/docs/nodes/generic.md
@@ -98,6 +98,9 @@ Node classes list of generic provider.
## generic.virtualization
+
+**diagrams.generic.virtualization.Qemu**
+
**diagrams.generic.virtualization.Virtualbox**
diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md
index 4a237372..c7a7f01e 100644
--- a/docs/nodes/onprem.md
+++ b/docs/nodes/onprem.md
@@ -65,6 +65,9 @@ Node classes list of onprem provider.
**diagrams.onprem.analytics.Tableau**
+
+**diagrams.onprem.analytics.Trino**
+
## onprem.auth
diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md
index c6af42f7..08c83942 100644
--- a/docs/nodes/programming.md
+++ b/docs/nodes/programming.md
@@ -113,6 +113,9 @@ Node classes list of programming provider.
**diagrams.programming.framework.Micronaut**
+
+**diagrams.programming.framework.Quarkus**
+
**diagrams.programming.framework.Rails**
diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md
index 2056e921..3bed3f32 100644
--- a/docs/nodes/saas.md
+++ b/docs/nodes/saas.md
@@ -14,17 +14,18 @@ Node classes list of saas provider.
**diagrams.saas.alerting.Opsgenie**
+
+**diagrams.saas.alerting.Pagerduty**
+
**diagrams.saas.alerting.Pushover**
**diagrams.saas.alerting.Xmatters**
-
-**diagrams.saas.alerting.Pagerduty**
-
## saas.analytics
+
**diagrams.saas.analytics.Dataform**
diff --git a/pyproject.toml b/pyproject.toml
index 05eb3008..7b638a8f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "diagrams"
-version = "0.23.3"
+version = "0.23.4"
description = "Diagram as Code"
license = "MIT"
authors = ["mingrammer "]
@@ -13,7 +13,6 @@ include = ["resources/**/*"]
python = "^3.7"
graphviz = ">=0.13.2,<0.21.0"
jinja2 = ">=2.10,<4.0"
-contextvars = { version = "^2.4", python = "~3.6" }
typed-ast = "^1.5.4"
[tool.poetry.dev-dependencies]
diff --git a/resources/azure/compute/container-apps.png b/resources/azure/compute/container-apps.png
new file mode 100755
index 00000000..b36d9165
Binary files /dev/null and b/resources/azure/compute/container-apps.png differ
diff --git a/resources/azure/network/private-endpoint.png b/resources/azure/network/private-endpoint.png
new file mode 100644
index 00000000..a7a69915
Binary files /dev/null and b/resources/azure/network/private-endpoint.png differ
diff --git a/resources/gcp/api/apigee.png b/resources/gcp/api/apigee.png
new file mode 100644
index 00000000..961c4a72
Binary files /dev/null and b/resources/gcp/api/apigee.png differ
diff --git a/resources/gcp/operations/logging.png b/resources/gcp/operations/logging.png
new file mode 100644
index 00000000..71a7ceea
Binary files /dev/null and b/resources/gcp/operations/logging.png differ
diff --git a/resources/generic/virtualization/qemu.png b/resources/generic/virtualization/qemu.png
new file mode 100644
index 00000000..39cf1f24
Binary files /dev/null and b/resources/generic/virtualization/qemu.png differ
diff --git a/resources/onprem/analytics/trino.png b/resources/onprem/analytics/trino.png
new file mode 100644
index 00000000..57de0e6c
Binary files /dev/null and b/resources/onprem/analytics/trino.png differ
diff --git a/resources/programming/framework/quarkus.png b/resources/programming/framework/quarkus.png
new file mode 100644
index 00000000..4a90d922
Binary files /dev/null and b/resources/programming/framework/quarkus.png differ
diff --git a/website/static/img/resources/azure/compute/container-apps.png b/website/static/img/resources/azure/compute/container-apps.png
new file mode 100755
index 00000000..b36d9165
Binary files /dev/null and b/website/static/img/resources/azure/compute/container-apps.png differ
diff --git a/website/static/img/resources/azure/network/private-endpoint.png b/website/static/img/resources/azure/network/private-endpoint.png
new file mode 100644
index 00000000..a7a69915
Binary files /dev/null and b/website/static/img/resources/azure/network/private-endpoint.png differ
diff --git a/website/static/img/resources/gcp/api/apigee.png b/website/static/img/resources/gcp/api/apigee.png
new file mode 100644
index 00000000..961c4a72
Binary files /dev/null and b/website/static/img/resources/gcp/api/apigee.png differ
diff --git a/website/static/img/resources/gcp/operations/logging.png b/website/static/img/resources/gcp/operations/logging.png
new file mode 100644
index 00000000..71a7ceea
Binary files /dev/null and b/website/static/img/resources/gcp/operations/logging.png differ
diff --git a/website/static/img/resources/onprem/analytics/trino.png b/website/static/img/resources/onprem/analytics/trino.png
new file mode 100644
index 00000000..57de0e6c
Binary files /dev/null and b/website/static/img/resources/onprem/analytics/trino.png differ
diff --git a/website/static/img/resources/programming/framework/quarkus.png b/website/static/img/resources/programming/framework/quarkus.png
new file mode 100644
index 00000000..4a90d922
Binary files /dev/null and b/website/static/img/resources/programming/framework/quarkus.png differ