-
Notifications
You must be signed in to change notification settings - Fork 688
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define input, ouput, intermediate data nodes #1363
Comments
For the global Config:
For |
This seems right to me! |
The APIs you mentioned @trgiangdo are contextual, meaning they are
The question is slightly different, though. It concerns the default context when there is no explicit one. How can we answer the question, "Is this data node an input?" independently from any context? @FlorianJacta proposes using Let's take a complex example. from datetime import datetime
from taipy import Config, Core, Frequency, Scope, create_scenario
def identity(value):
return value
d1 = Config.configure_data_node("d1", scope=Scope.GLOBAL)
d2 = Config.configure_data_node("d2", scope=Scope.CYCLE)
d3 = Config.configure_data_node("d3", scope=Scope.SCENARIO)
d4 = Config.configure_data_node("d4", scope=Scope.SCENARIO)
t1 = Config.configure_task("t1", function=identity, input=[d1], output=[d2])
t2 = Config.configure_task("t2", function=identity, input=[d2], output=[d3])
t3 = Config.configure_task("t3", function=identity, input=[d1, d2, d3], output=[d4])
s1 = Config.configure_scenario("s1", task_configs=[t1, t2],
sequences={"seq1": [t1], "seq2": [t2]},
frequency=Frequency.DAILY)
s2 = Config.configure_scenario("s2", task_configs=[t3], frequency=Frequency.DAILY)
Core().run()
scenario_1 = create_scenario(s1, datetime(2021, 1, 1))
scenario_2 = create_scenario(s1, datetime(2021, 1, 2))
scenario_3 = create_scenario(s2, datetime(2021, 1, 1))
scenario_4 = create_scenario(s2, datetime(2021, 1, 2)) The piece of code instantiates the following data nodes: What are the inputs, the outputs, and the intermediate data nodes? As an end-user, I really don't know what I am expecting as an answer. |
I need clarification on what is confusing about this. Why is the definition above not the expected definition? |
As an end user, listing all input data nodes is not self-explanatory. I need to well understand the whole config with all the scenario configs, all the sequences, etc. to understand what I am going to get. Let's imagine I have a role that only allows me to view scenarios from the second scenarios config |
Do we have a role system that can explicitly set the access role of a user to some specific scenarios? Anyway, from the example that you declare: For the scenario entities:
The scope of the data node doesn't affect the outcome of these APIs I think |
@trgiangdo I was not specifically talking about Taipy enterprise roles. My example was confusing. Let me rephrase the sentence. What would be the result of |
This is what I wrote in the issue.
A Data Node is input/output depending on the context. |
I don't think Me and Florian agree on the 6 APIs: For the |
Are you saying I should better read you description? 🤣 I misunderstood your proposal. Sorry. |
So do we agree on the requirements now? |
After a better reading, I now understand the proposal. I am okay with the concepts exposed in the Taipy core package. But I believe it does not answer the issue, in particular on the sentence from the description that is, in the end, the root motivation of the issue:
I strongly believe, we don't want to expose the config inputs and outputs in the data node selector.
|
Description
The goal of this issue is to discuss what does input, ouput, intermediate data nodes mean.
Solution Proposed
To my mind, the concept of input, output and intermediate data nodes are relative to the DAG.
In my opinion,
<data node>.is_input
doesn't have a meaning for example by itself.This concept should be attached to the objects representing a DAG:
In other terms:
Config.inputs
should return the list of inputs corresponding to the DAG created by all the Scenario ConfigsConfig.outputs
should return the list of outputs corresponding to the DAG created by all the Scenario Configs<Scenario>.inputs
should return the list of inputs corresponding to the DAG created by THE Scenario (Config)<Scenario>.outputs
should return the list of outputs corresponding to the DAG created by THE Scenario (Config)<Sequence>.inputs
should return the list of inputs corresponding to the DAG created by THE Sequence<Sequence>.outputs
should return the list of outputs corresponding to the DAG created by THE SequenceI think the inputs/outputs of interest for the Data Node Selector are the ones relative to the whole Config.
Impact of Solution
No response
Additional Context
No response
Acceptance Criteria
Code of Conduct
The text was updated successfully, but these errors were encountered: