Merge remote-tracking branch 'upstream/master' into node-as-cluster

pull/823/head
Bruno Meneguello 5 years ago
commit 113b17b951

@ -4,7 +4,7 @@ set -e
app_root_dir="diagrams" app_root_dir="diagrams"
# NOTE: azure icon set is not latest version # NOTE: azure icon set is not latest version
providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale") providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" )
if ! [ -x "$(command -v round)" ]; then if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed' echo 'round is not installed'
@ -52,6 +52,10 @@ for pvd in "${providers[@]}"; do
python -m scripts.generate "$pvd" python -m scripts.generate "$pvd"
done done
# Generate doc for custom module
echo "generating the docs for custom"
python -m scripts.generate "custom"
# run black # run black
echo "linting the all the diagram modules" echo "linting the all the diagram modules"
black "$app_root_dir"/**/*.py black "$app_root_dir"/**/*.py

@ -402,6 +402,7 @@ ALIASES = {
"saas": { "saas": {
"logging": { "logging": {
"Datadog": "DataDog", "Datadog": "DataDog",
"Newrelic": "NewRelic"
} }
}, },
"elastic": { "elastic": {

@ -40,6 +40,10 @@ class Norikra(_Analytics):
_icon = "norikra.png" _icon = "norikra.png"
class Presto(_Analytics):
_icon = "presto.png"
class Singer(_Analytics): class Singer(_Analytics):
_icon = "singer.png" _icon = "singer.png"
@ -52,6 +56,10 @@ class Storm(_Analytics):
_icon = "storm.png" _icon = "storm.png"
class Superset(_Analytics):
_icon = "superset.png"
class Tableau(_Analytics): class Tableau(_Analytics):
_icon = "tableau.png" _icon = "tableau.png"

@ -20,6 +20,14 @@ class Grafana(_Monitoring):
_icon = "grafana.png" _icon = "grafana.png"
class Humio(_Monitoring):
_icon = "humio.png"
class Newrelic(_Monitoring):
_icon = "newrelic.png"
class PrometheusOperator(_Monitoring): class PrometheusOperator(_Monitoring):
_icon = "prometheus-operator.png" _icon = "prometheus-operator.png"

@ -36,6 +36,10 @@ class Laravel(_Framework):
_icon = "laravel.png" _icon = "laravel.png"
class Micronaut(_Framework):
_icon = "micronaut.png"
class Rails(_Framework): class Rails(_Framework):
_icon = "rails.png" _icon = "rails.png"

@ -8,6 +8,10 @@ class _Alerting(_Saas):
_icon_dir = "resources/saas/alerting" _icon_dir = "resources/saas/alerting"
class Newrelic(_Alerting):
_icon = "newrelic.png"
class Opsgenie(_Alerting): class Opsgenie(_Alerting):
_icon = "opsgenie.png" _icon = "opsgenie.png"

@ -8,7 +8,6 @@ class _Chat(_Saas):
_icon_dir = "resources/saas/chat" _icon_dir = "resources/saas/chat"
class Discord(_Chat): class Discord(_Chat):
_icon = "discord.png" _icon = "discord.png"

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Filesharing(_Saas):
_type = "filesharing"
_icon_dir = "resources/saas/filesharing"
class Nextcloud(_Filesharing):
_icon = "nextcloud.png"
# Aliases

@ -12,6 +12,10 @@ class Datadog(_Logging):
_icon = "datadog.png" _icon = "datadog.png"
class Newrelic(_Logging):
_icon = "newrelic.png"
class Papertrail(_Logging): class Papertrail(_Logging):
_icon = "papertrail.png" _icon = "papertrail.png"
@ -19,3 +23,4 @@ class Papertrail(_Logging):
# Aliases # Aliases
DataDog = Datadog DataDog = Datadog
NewRelic = Newrelic

@ -178,7 +178,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.inmemory import Redis from diagrams.onprem.inmemory import Redis
from diagrams.onprem.logging import Fluentd from diagrams.onprem.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
@ -221,7 +221,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.inmemory import Redis from diagrams.onprem.inmemory import Redis
from diagrams.onprem.logging import Fluentd from diagrams.onprem.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka

@ -0,0 +1,90 @@
---
id: custom
title: Custom
---
## Custom with local icons
For this example we use the following architecture:
```
.
├── custom_local.py
├── my_resources
│ ├── cc_heart.black.png
│ ├── cc_attribution.png
│ ├──...
```
The content of custom_local.py file:
```python
from diagrams import Diagram, Cluster
from diagrams.custom import Custom
with Diagram("Custom with local icons\n Can be downloaded here: \nhttps://creativecommons.org/about/downloads/", show=False, filename="custom_local", direction="LR"):
cc_heart = Custom("Creative Commons", "./my_resources/cc_heart.black.png")
cc_attribution = Custom("Credit must be given to the creator", "./my_resources/cc_attribution.png")
cc_sa = Custom("Adaptations must be shared\n under the same terms", "./my_resources/cc_sa.png")
cc_nd = Custom("No derivatives or adaptations\n of the work are permitted", "./my_resources/cc_nd.png")
cc_zero = Custom("Public Domain Dedication", "./my_resources/cc_zero.png")
with Cluster("Non Commercial"):
non_commercial = [Custom("Y", "./my_resources/cc_nc-jp.png") - Custom("E", "./my_resources/cc_nc-eu.png") - Custom("S", "./my_resources/cc_nc.png")]
cc_heart >> cc_attribution
cc_heart >> non_commercial
cc_heart >> cc_sa
cc_heart >> cc_nd
cc_heart >> cc_zero
```
It will generate the following diagram:
![custom local](/img/custom_local.png)
## Custom with remote icons
If your icons are hosted and can be accessed when you generate the diagrams, you can
```python
from diagrams import Diagram, Cluster
from diagrams.custom import Custom
from urllib.request import urlretrieve
with Diagram("Custom with remote icons", show=False, filename="custom_remote", direction="LR"):
# download the icon image file
diagrams_url = "https://github.com/mingrammer/diagrams/raw/master/assets/img/diagrams.png"
diagrams_icon = "diagrams.png"
urlretrieve(diagrams_url, diagrams_icon)
diagrams = Custom("Diagrams", diagrams_icon)
with Cluster("Some Providers"):
openstack_url = "https://github.com/mingrammer/diagrams/raw/master/resources/openstack/openstack.png"
openstack_icon = "openstack.png"
urlretrieve(openstack_url, openstack_icon)
openstack = Custom("OpenStack", openstack_icon)
elastic_url = "https://github.com/mingrammer/diagrams/raw/master/resources/elastic/saas/elastic.png"
elastic_icon = "elastic.png"
urlretrieve(elastic_url, elastic_icon)
elastic = Custom("Elastic", elastic_icon)
diagrams >> openstack
diagrams >> elastic
```
It will generate the following diagram:
![custom local](/img/custom_remote.png)
Another example can be found [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes).

@ -20,9 +20,11 @@ Node classes list of onprem provider.
- **diagrams.onprem.analytics.Hive** - **diagrams.onprem.analytics.Hive**
- **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra** - **diagrams.onprem.analytics.Norikra**
- **diagrams.onprem.analytics.Presto**
- **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Singer**
- **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Spark**
- **diagrams.onprem.analytics.Storm** - **diagrams.onprem.analytics.Storm**
- **diagrams.onprem.analytics.Superset**
- **diagrams.onprem.analytics.Tableau** - **diagrams.onprem.analytics.Tableau**
## onprem.auth ## onprem.auth
@ -150,6 +152,8 @@ Node classes list of onprem provider.
- **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Datadog**
- **diagrams.onprem.monitoring.Grafana** - **diagrams.onprem.monitoring.Grafana**
- **diagrams.onprem.monitoring.Humio**
- **diagrams.onprem.monitoring.Newrelic**
- **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.PrometheusOperator**
- **diagrams.onprem.monitoring.Prometheus** - **diagrams.onprem.monitoring.Prometheus**
- **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Sentry**

@ -14,6 +14,7 @@ Node classes list of programming provider.
- **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flask**
- **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Flutter**
- **diagrams.programming.framework.Laravel** - **diagrams.programming.framework.Laravel**
- **diagrams.programming.framework.Micronaut**
- **diagrams.programming.framework.Rails** - **diagrams.programming.framework.Rails**
- **diagrams.programming.framework.React** - **diagrams.programming.framework.React**
- **diagrams.programming.framework.Spring** - **diagrams.programming.framework.Spring**

@ -7,6 +7,7 @@ Node classes list of saas provider.
## saas.alerting ## saas.alerting
- **diagrams.saas.alerting.Newrelic**
- **diagrams.saas.alerting.Opsgenie** - **diagrams.saas.alerting.Opsgenie**
- **diagrams.saas.alerting.Pushover** - **diagrams.saas.alerting.Pushover**
@ -29,6 +30,10 @@ Node classes list of saas provider.
- **diagrams.saas.chat.Teams** - **diagrams.saas.chat.Teams**
- **diagrams.saas.chat.Telegram** - **diagrams.saas.chat.Telegram**
## saas.filesharing
- **diagrams.saas.filesharing.Nextcloud**
## saas.identity ## saas.identity
- **diagrams.saas.identity.Auth0** - **diagrams.saas.identity.Auth0**
@ -37,6 +42,7 @@ Node classes list of saas provider.
## saas.logging ## saas.logging
- **diagrams.saas.logging.Datadog**, **DataDog** (alias) - **diagrams.saas.logging.Datadog**, **DataDog** (alias)
- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias)
- **diagrams.saas.logging.Papertrail** - **diagrams.saas.logging.Papertrail**
## saas.media ## saas.media

275
poetry.lock generated

@ -1,43 +1,40 @@
[[package]] [[package]]
category = "dev"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
name = "appdirs" name = "appdirs"
version = "1.4.3"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "1.4.3"
[[package]] [[package]]
category = "dev"
description = "An abstract syntax tree for Python with inference support."
name = "astroid" name = "astroid"
version = "2.3.3"
description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false optional = false
python-versions = ">=3.5.*" python-versions = ">=3.5.*"
version = "2.3.3"
[package.dependencies] [package.dependencies]
lazy-object-proxy = ">=1.4.0,<1.5.0" lazy-object-proxy = ">=1.4.0,<1.5.0"
six = ">=1.12,<2.0" six = ">=1.12,<2.0"
typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""}
wrapt = ">=1.11.0,<1.12.0" wrapt = ">=1.11.0,<1.12.0"
[package.dependencies.typed-ast]
python = "<3.8"
version = ">=1.4.0,<1.5"
[[package]] [[package]]
category = "dev"
description = "Atomic file writes."
name = "atomicwrites" name = "atomicwrites"
version = "1.3.0"
description = "Atomic file writes."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "1.3.0"
[[package]] [[package]]
category = "dev"
description = "Classes Without Boilerplate"
name = "attrs" name = "attrs"
version = "19.3.0"
description = "Classes Without Boilerplate"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "19.3.0"
[package.extras] [package.extras]
azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
@ -46,12 +43,12 @@ docs = ["sphinx", "zope.interface"]
tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
[[package]] [[package]]
category = "dev"
description = "The uncompromising code formatter."
name = "black" name = "black"
version = "19.10b0"
description = "The uncompromising code formatter."
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
version = "19.10b0"
[package.dependencies] [package.dependencies]
appdirs = "*" appdirs = "*"
@ -66,64 +63,60 @@ typed-ast = ">=1.4.0"
d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
[[package]] [[package]]
category = "dev"
description = "Composable command line interface toolkit"
name = "click" name = "click"
version = "7.0"
description = "Composable command line interface toolkit"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "7.0"
[[package]] [[package]]
category = "dev"
description = "Cross-platform colored terminal text."
marker = "sys_platform == \"win32\""
name = "colorama" name = "colorama"
version = "0.4.3"
description = "Cross-platform colored terminal text."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "0.4.3"
[[package]] [[package]]
category = "main"
description = "PEP 567 Backport"
marker = "python_version >= \"3.6\" and python_version < \"3.7\""
name = "contextvars" name = "contextvars"
version = "2.4"
description = "PEP 567 Backport"
category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "2.4"
[package.dependencies] [package.dependencies]
immutables = ">=0.9" immutables = ">=0.9"
[[package]] [[package]]
category = "main"
description = "Simple Python interface for Graphviz"
name = "graphviz" name = "graphviz"
version = "0.16"
description = "Simple Python interface for Graphviz"
category = "main"
optional = false optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
version = "0.13.2"
[package.extras] [package.extras]
dev = ["tox (>=3.0)", "flake8", "pep8-naming", "wheel", "twine"] dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"]
docs = ["sphinx (>=1.7)", "sphinx-rtd-theme"] docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"]
test = ["mock (>=2)", "pytest (>=3.4,<3.10.0 || >3.10.0)", "pytest-mock (>=1.8)", "pytest-cov"] test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"]
[[package]] [[package]]
category = "main"
description = "Immutable Collections"
marker = "python_version >= \"3.6\" and python_version < \"3.7\""
name = "immutables" name = "immutables"
version = "0.11"
description = "Immutable Collections"
category = "main"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "0.11"
[[package]] [[package]]
category = "dev"
description = "Read metadata from Python packages"
marker = "python_version < \"3.8\""
name = "importlib-metadata" name = "importlib-metadata"
version = "1.5.0"
description = "Read metadata from Python packages"
category = "dev"
optional = false optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
version = "1.5.0"
[package.dependencies] [package.dependencies]
zipp = ">=0.5" zipp = ">=0.5"
@ -133,12 +126,20 @@ docs = ["sphinx", "rst.linker"]
testing = ["packaging", "importlib-resources"] testing = ["packaging", "importlib-resources"]
[[package]] [[package]]
name = "iniconfig"
version = "1.1.1"
description = "iniconfig: brain-dead simple config-ini parsing"
category = "dev" category = "dev"
description = "A Python utility / library to sort Python imports." optional = false
python-versions = "*"
[[package]]
name = "isort" name = "isort"
version = "4.3.21"
description = "A Python utility / library to sort Python imports."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "4.3.21"
[package.extras] [package.extras]
pipfile = ["pipreqs", "requirementslib"] pipfile = ["pipreqs", "requirementslib"]
@ -147,12 +148,12 @@ requirements = ["pipreqs", "pip-api"]
xdg_home = ["appdirs (>=1.4.0)"] xdg_home = ["appdirs (>=1.4.0)"]
[[package]] [[package]]
category = "main"
description = "A very fast and expressive template engine."
name = "jinja2" name = "jinja2"
version = "2.11.1"
description = "A very fast and expressive template engine."
category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "2.11.1"
[package.dependencies] [package.dependencies]
MarkupSafe = ">=0.23" MarkupSafe = ">=0.23"
@ -161,165 +162,178 @@ MarkupSafe = ">=0.23"
i18n = ["Babel (>=0.8)"] i18n = ["Babel (>=0.8)"]
[[package]] [[package]]
category = "dev"
description = "A fast and thorough lazy object proxy."
name = "lazy-object-proxy" name = "lazy-object-proxy"
version = "1.4.3"
description = "A fast and thorough lazy object proxy."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "1.4.3"
[[package]] [[package]]
category = "main"
description = "Safely add untrusted strings to HTML/XML markup."
name = "markupsafe" name = "markupsafe"
version = "1.1.1"
description = "Safely add untrusted strings to HTML/XML markup."
category = "main"
optional = false optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
version = "1.1.1"
[[package]] [[package]]
category = "dev"
description = "McCabe checker, plugin for flake8"
name = "mccabe" name = "mccabe"
version = "0.6.1"
description = "McCabe checker, plugin for flake8"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "0.6.1"
[[package]] [[package]]
name = "packaging"
version = "20.8"
description = "Core utilities for Python packages"
category = "dev" category = "dev"
description = "More routines for operating on iterables, beyond itertools"
name = "more-itertools"
optional = false optional = false
python-versions = ">=3.5" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "8.2.0"
[package.dependencies]
pyparsing = ">=2.0.2"
[[package]] [[package]]
category = "dev"
description = "Utility library for gitignore style pattern matching of file paths."
name = "pathspec" name = "pathspec"
version = "0.7.0"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "0.7.0"
[[package]] [[package]]
category = "dev"
description = "plugin and hook calling mechanisms for python"
name = "pluggy" name = "pluggy"
version = "0.13.1"
description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "0.13.1"
[package.dependencies] [package.dependencies]
[package.dependencies.importlib-metadata] importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
python = "<3.8"
version = ">=0.12"
[package.extras] [package.extras]
dev = ["pre-commit", "tox"] dev = ["pre-commit", "tox"]
[[package]] [[package]]
category = "dev"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
name = "py" name = "py"
version = "1.10.0"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "1.8.1"
[[package]] [[package]]
category = "dev"
description = "python code static checker"
name = "pylint" name = "pylint"
version = "2.4.4"
description = "python code static checker"
category = "dev"
optional = false optional = false
python-versions = ">=3.5.*" python-versions = ">=3.5.*"
version = "2.4.4"
[package.dependencies] [package.dependencies]
astroid = ">=2.3.0,<2.4" astroid = ">=2.3.0,<2.4"
colorama = "*" colorama = {version = "*", markers = "sys_platform == \"win32\""}
isort = ">=4.2.5,<5" isort = ">=4.2.5,<5"
mccabe = ">=0.6,<0.7" mccabe = ">=0.6,<0.7"
[[package]] [[package]]
name = "pyparsing"
version = "2.4.7"
description = "Python parsing module"
category = "dev" category = "dev"
description = "pytest: simple powerful testing with Python" optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pytest" name = "pytest"
version = "6.2.1"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=3.6"
version = "3.10.1"
[package.dependencies] [package.dependencies]
atomicwrites = ">=1.0" atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
attrs = ">=17.4.0" attrs = ">=19.2.0"
colorama = "*" colorama = {version = "*", markers = "sys_platform == \"win32\""}
more-itertools = ">=4.0.0" importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
pluggy = ">=0.7" iniconfig = "*"
py = ">=1.5.0" packaging = "*"
setuptools = "*" pluggy = ">=0.12,<1.0.0a1"
six = ">=1.10.0" py = ">=1.8.2"
toml = "*"
[package.extras]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
[[package]] [[package]]
category = "dev"
description = "Alternative regular expression module, to replace re."
name = "regex" name = "regex"
version = "2020.2.20"
description = "Alternative regular expression module, to replace re."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "2020.2.20"
[[package]] [[package]]
category = "dev"
description = "a python refactoring library..."
name = "rope" name = "rope"
version = "0.14.0"
description = "a python refactoring library..."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "0.14.0"
[[package]] [[package]]
category = "dev"
description = "Python 2 and 3 compatibility utilities"
name = "six" name = "six"
version = "1.14.0"
description = "Python 2 and 3 compatibility utilities"
category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
version = "1.14.0"
[[package]] [[package]]
category = "dev"
description = "Python Library for Tom's Obvious, Minimal Language"
name = "toml" name = "toml"
version = "0.10.0"
description = "Python Library for Tom's Obvious, Minimal Language"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "0.10.0"
[[package]] [[package]]
category = "dev"
description = "a fork of Python 2 and 3 ast modules with type comment support"
name = "typed-ast" name = "typed-ast"
version = "1.4.1"
description = "a fork of Python 2 and 3 ast modules with type comment support"
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "1.4.1"
[[package]] [[package]]
category = "dev"
description = "Module for decorators, wrappers and monkey patching."
name = "wrapt" name = "wrapt"
version = "1.11.2"
description = "Module for decorators, wrappers and monkey patching."
category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
version = "1.11.2"
[[package]] [[package]]
category = "dev"
description = "Backport of pathlib-compatible object wrapper for zip files"
marker = "python_version < \"3.8\""
name = "zipp" name = "zipp"
version = "3.1.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
version = "3.1.0"
[package.extras] [package.extras]
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
testing = ["jaraco.itertools", "func-timeout"] testing = ["jaraco.itertools", "func-timeout"]
[metadata] [metadata]
content-hash = "da205efb5c35ed10116f51854f613a43fe000afa1341828bfd8cf3d6d58c4149" lock-version = "1.1"
python-versions = "^3.6" python-versions = "^3.6"
content-hash = "6cb154d248e0d13adbb5229f52d1c1ab9ce2ea9cfe54091cf34cd97ccb822653"
[metadata.files] [metadata.files]
appdirs = [ appdirs = [
@ -354,8 +368,8 @@ contextvars = [
{file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"},
] ]
graphviz = [ graphviz = [
{file = "graphviz-0.13.2-py2.py3-none-any.whl", hash = "sha256:241fb099e32b8e8c2acca747211c8237e40c0b89f24b1622860075d59f4c4b25"}, {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"},
{file = "graphviz-0.13.2.zip", hash = "sha256:60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01"}, {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"},
] ]
immutables = [ immutables = [
{file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"},
@ -379,6 +393,10 @@ importlib-metadata = [
{file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"}, {file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"},
{file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"}, {file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"},
] ]
iniconfig = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
{file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
]
isort = [ isort = [
{file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"},
{file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"},
@ -449,9 +467,9 @@ mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
] ]
more-itertools = [ packaging = [
{file = "more-itertools-8.2.0.tar.gz", hash = "sha256:b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"}, {file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"},
{file = "more_itertools-8.2.0-py3-none-any.whl", hash = "sha256:5dd8bcf33e5f9513ffa06d5ad33d78f31e1931ac9a18f33d37e77a180d393a7c"}, {file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"},
] ]
pathspec = [ pathspec = [
{file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"}, {file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"},
@ -462,16 +480,20 @@ pluggy = [
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
] ]
py = [ py = [
{file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"},
{file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
] ]
pylint = [ pylint = [
{file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"},
{file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"},
] ]
pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pytest = [ pytest = [
{file = "pytest-3.10.1-py2.py3-none-any.whl", hash = "sha256:3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec"}, {file = "pytest-6.2.1-py3-none-any.whl", hash = "sha256:1969f797a1a0dbd8ccf0fecc80262312729afea9c17f1d70ebf85c5e76c6f7c8"},
{file = "pytest-3.10.1.tar.gz", hash = "sha256:e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"}, {file = "pytest-6.2.1.tar.gz", hash = "sha256:66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306"},
] ]
regex = [ regex = [
{file = "regex-2020.2.20-cp27-cp27m-win32.whl", hash = "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb"}, {file = "regex-2020.2.20-cp27-cp27m-win32.whl", hash = "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb"},
@ -518,19 +540,28 @@ typed-ast = [
{file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"},
{file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"},
{file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"},
{file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"},
{file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"},
{file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"},
{file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"},
{file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"},
{file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"},
{file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"},
{file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"},
{file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"},
{file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"},
{file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"},
] ]
wrapt = [ wrapt = [

@ -11,12 +11,12 @@ include = ["resources/**/*"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.6" python = "^3.6"
graphviz = "^0.13.2" graphviz = ">=0.13.2,<0.17.0"
jinja2 = "^2.10" jinja2 = "^2.10"
contextvars = { version = "^2.4", python = "~3.6" } contextvars = { version = "^2.4", python = "~3.6" }
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "^3.0" pytest = "^6.2"
pylint = "^2.4" pylint = "^2.4"
black = {version = "^19.0", allow-prereleases = true} black = {version = "^19.0", allow-prereleases = true}
rope = "^0.14.0" rope = "^0.14.0"

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@ -2,7 +2,7 @@ import os
import sys import sys
from typing import Iterable from typing import Iterable
from jinja2 import Environment, FileSystemLoader, Template from jinja2 import Environment, FileSystemLoader, Template, exceptions
import config as cfg import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir from . import app_root_dir, doc_root_dir, resource_dir, template_dir
@ -41,6 +41,11 @@ def gen_classes(pvd: str, typ: str, paths: Iterable[str]) -> str:
def gen_apidoc(pvd: str, typ_paths: dict) -> str: def gen_apidoc(pvd: str, typ_paths: dict) -> str:
try:
default_tmp = cfg.TMPL_APIDOC.split('.')
tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}"
tmpl = load_tmpl(tmpl_file)
except exceptions.TemplateNotFound:
tmpl = load_tmpl(cfg.TMPL_APIDOC) tmpl = load_tmpl(cfg.TMPL_APIDOC)
# TODO: remove # TODO: remove

@ -0,0 +1,6 @@
---
id: {{ pvd }}
title: {{ pvd|up_or_title(pvd) }}
---
For a full example check: [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes).

@ -32,6 +32,9 @@
"nodes/azure": { "nodes/azure": {
"title": "Azure" "title": "Azure"
}, },
"nodes/custom": {
"title": "Custom"
},
"nodes/elastic": { "nodes/elastic": {
"title": "Elastic" "title": "Elastic"
}, },

@ -24,7 +24,8 @@
"nodes/elastic", "nodes/elastic",
"nodes/generic", "nodes/generic",
"nodes/programming", "nodes/programming",
"nodes/saas" "nodes/saas",
"nodes/custom"
] ]
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Loading…
Cancel
Save