Open jrobinAV opened 3 months ago
I certainly don't like this idea, involving both the import of another (large) package but also impacts the global product homogeneity, as Taipy GUI and Taipy Studio already provide ways of representing DAGs. Why chose a technology that we don't already use?
A new Quest has been launched in @Avaiga’s repo. Merge a PR that solves this issue to loot the Quest and earn your reward.
Some loot has been stashed in this issue to reward the solver!
🗡 Comment @quest-bot embark
to check-in for this Quest and start solving the issue. Other solvers will be notified!
⚔️ When you submit a PR, comment @quest-bot loot #1592
to link your PR to this Quest.
Questions? Check out the docs.
@quest-bot loot #1932
⚠️ Oops... You can only loot
in a Pull Request!
Check the docs for more info.
@quest-bot embark
@HimangshuYadav has embarked on their Quest. 🗡
Python
and TypeScript
magic ✨Questions? Check out the docs.
@jrobinAV could you please assign this issue to me, I would like to take this up.
@quest-bot loot #1592
⚠️ Oops... You can only loot
in a Pull Request!
Check the docs for more info.
Yep sure, you are assigned, @xyfer17 .
Hey can you assign me this
@jrobinAV can you please tell me that image format should be a svg or png ( mention if any other format is suitable ), also what would be the warning log message please specify?
@xyfer17 The functionality is really for developers, not for end-users, so I don't think the image format matters.
Both svg
or png
are good. By the way, the format could also be an optional parameter to the draw method with one of the two as a default value.
If you need an external package with a specific version range, and if the package is not installed, the log message could be:
f"Package '{package_name}' between version '{min_version}'and '{max_version}' is required to use the draw method. Please install the package first."
The purpose of this issue is to let developers draw a scenario config DAG using matplotlib (or an alternative) and networkx to visualize the graph he just created, helping him understand if it is correct.
Description
In the
ScenarioConfig
class (located attaipy/core/config/scenario_config.py
), we want a new method nameddraw()
that exports the scenario configuration graph (a DAG) as an image file.The graph comprises the input
DataNodeConfigs
, the outputDataNodeConfigs
, and theTaskConfigs
as nodes. There is a directed edge from aDatanodeConfig
node to aTaskConfig
node if and only if theDatanodeConfig
is aTaskConfig
input. A directed edge is from aTaskConfig
node to aDatanodeConfig
node if and only if theDatanodeConfig
is aTaskConfig
input.Implementation constraint.
If a new package is required (matplotlib?, marmaid?, etc.), it must be made optional. The
draw
function should check the presence of the package before using it. If the package is not installed, thedraw
function should log a warning message and return doing nothing else.https://networkx.org/documentation/stable/reference/drawing.html