Avaiga / taipy

Turns Data and AI algorithms into production-ready web applications in no time.
https://www.taipy.io
Apache License 2.0
13.86k stars 1.64k forks source link

Expose more information in the compare_scenarios function #1233

Open FlorianJacta opened 5 months ago

FlorianJacta commented 5 months ago

Description The goal is to have more information as parameters of the comparator functions so that the user can create the proper comparison. For example, the user doesn't know in the comparison function which scenarios he is comparing.

An idea could be to have the data nodes themselves as parameters and not their data.

This issue comes from this discussion: https://github.com/Avaiga/taipy-doc/pull/932#discussion_r1579352806

Acceptance Criteria

jrobinAV commented 5 months ago

One concern I have is that a data node may belong to multiple scenarios depending on its scope. Passing only the data nodes can't help you get the corresponding scenario.

FlorianJacta commented 5 months ago

The parent_id would be what interests me here.

quest-bot[bot] commented 1 week ago

New Quest! image New Quest!

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 #1233 to link your PR to this Quest.

Questions? Check out the docs.

AdityaPatadiya commented 1 week ago

Hello @FlorianJacta, I want to contribute to this issue but lost somewhere in the installation process.

PS E:\coding\opensource contribution projects> git clone https://github.com/Avaiga/taipy.git
Cloning into 'taipy'...
remote: Enumerating objects: 72617, done.
remote: Counting objects: 100% (534/534), done.
remote: Compressing objects: 100% (318/318), done.
remote: Total 72617 (delta 270), reused 407 (delta 209), pack-reused 72083 (from 1)
Receiving objects: 100% (72617/72617), 149.97 MiB | 6.59 MiB/s, done.
Resolving deltas: 100% (51280/51280), done.
Updating files: 100% (1434/1434), done.

PS E:\coding\opensource contribution projects> cd taipy/frontend/taipy-gui
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui> cd dom
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui\dom> npm i

added 6 packages, and audited 8 packages in 3s

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 10.8.2 -> 10.9.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
npm notice To update run: npm install -g npm@10.9.0
npm notice
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui\dom> cd ..
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui> npm i
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated mumath@3.3.4: Redundant dependency in your project.
npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead

added 1405 packages, and audited 1406 packages in 1m

288 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui> cd dom
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui\dom> npm i 

up to date, audited 8 packages in 2s

found 0 vulnerabilities
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui\dom> npm install -g npm@10.9.0

changed 78 packages in 12s

25 packages are looking for funding
  run `npm fund` for details
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui\dom> cd ..
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui> npm run build

> taipy-gui@4.0.0 build
> webpack --mode production

<--- Last few GCs --->

[10848:00000180589B5F90]   115729 ms: Mark-Compact 2042.2 (2087.8) -> 2040.8 (2090.5) MB, 1142.10 / 0.00 ms  (average mu = 0.238, current mu = 0.031) allocation failure; scavenge might not succeed
[10848:00000180589B5F90]   116845 ms: Mark-Compact (reduce) 2044.7 (2090.5) -> 2043.8 (2086.8) MB, 627.38 / 0.01 ms  (+ 238.9 ms in 62 steps since start of marking, biggest step 6.5 ms, walltime since start of marking 894 ms) (average mu = 0.232, current

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

 1: 00007FF6D1A46E7B node::SetCppgcReference+16075
 2: 00007FF6D19BD996 v8::base::CPU::num_virtual_address_bits+79190
 3: 00007FF6D19BFBA5 v8::base::CPU::num_virtual_address_bits+87909
 4: 00007FF6D242D9E1 v8::Isolate::ReportExternalAllocationLimitReached+65
 5: 00007FF6D2417178 v8::Function::Experimental_IsNopFunction+1336
 6: 00007FF6D2278AA0 v8::Platform::SystemClockTimeMillis+659328
 7: 00007FF6D2275B28 v8::Platform::SystemClockTimeMillis+647176
 8: 00007FF6D228AE3A v8::Platform::SystemClockTimeMillis+733978
 9: 00007FF6D228B6B7 v8::Platform::SystemClockTimeMillis+736151
10: 00007FF6D2299FAF v8::Platform::SystemClockTimeMillis+795791
11: 00007FF6D1F5A565 v8::CodeEvent::GetFunctionName+116773
12: 00007FF67249AAFA
PS E:\coding\opensource contribution projects\taipy\frontend\taipy-gui>

Can someone tell me what I've done wrong here?

FlorianJacta commented 6 days ago

@FabienLelaquais Do you know the issue?

trgiangdo commented 6 days ago

You can try to set the environment variable before installing with npm as in https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048

Chr0m0some commented 4 days ago

Hello! Could I be assigned this task? @FlorianJacta

Chr0m0some commented 4 days ago

I'm feeling kinda lost with this one. I'm trying to find the compare_scenarios function that the issue is talking about by using the search bar but nothing comes up. I also searched in Taipy docs because I saw this was referring to the comparison tutorial under scenario but nothing was there either.

trgiangdo commented 3 days ago

The method is here https://github.com/Avaiga/taipy/blob/8379661f1380a7722f1643b1252f62df55b5df8d/taipy/core/taipy.py#L648

AdityaPatadiya commented 2 days ago

Hello @trgiangdo, Can you assign this issue to me?

AdityaPatadiya commented 2 days ago

Hello @jrobinAV, thanks for assigning this issue to me. I got one error with setting up the repo, Can you take a look at this discussion and help me to resolve this?

jrobinAV commented 1 day ago

Hello @jrobinAV, thanks for assigning this issue to me. I got one error with setting up the repo, Can you take a look at this discussion and help me to resolve this?

@AdityaPatadiya An answer has been given directly on the discussion thread.

Thanks

AdityaPatadiya commented 1 day ago

Hello @FlorianJacta, what kind of other information should we expose in compare_scenarios function?

FlorianJacta commented 11 hours ago

I would want to add not only the values of the data nodes but the data nodes object directly so U can gather more information on them