-
Notifications
You must be signed in to change notification settings - Fork 93
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
Add DrWatsonSim functionality #333
base: main
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #333 +/- ##
==========================================
- Coverage 92.63% 82.91% -9.72%
==========================================
Files 7 9 +2
Lines 665 843 +178
==========================================
+ Hits 616 699 +83
- Misses 49 144 +95
Continue to review full report at Codecov.
|
Locking is only required when multiple threads write one metadata file at the same time. I think this is a very common problem (IO in mult-threaded env.), so the users have to take care of locking them self.
Alrighty, after the meeting with Alex, here are the actionable points:
Alright. I have some ideas on how to do the last point 4. It relies on the concept of additional dictionaries and intuitive commands to add stuff to them. I'm not yet sure on how the final code imlementation would be, and whether we would have many dictionaries each saved to a different file, but we'll see as we go. First way So the idea is that whenever a user adds a descriptive field to a metadata entry, a new dinctionary is initialized that has as name the field name. E.g., a user tries to add a "desription" to field "a". A dictionary called "description" is initialized, and then obtains a key-value pair "a" => acxtual description string. When the user tries to add a description to another pameter, the existing "description" dictionary is used. The way to store this as an additional field of the Second way How would be the API for adding descriptions to metadata? I can see several ways ( @describe d["a"] = 10 "descrriptop"
d["a", "descriptiopn"] = (10, "descr")
add!(m, "a" => 10, "description" => 10)
d["a"] = 10
meta!(d, "a"; keywrds....) # keywrds are key-value pairs such as "description" => x, "unitws" =>y ( and more proposals welcomed of course Based on this twin dictionaries approach, we can allow an infrastructure for "autoextraction" of metadata descriptions. For example. If someone tries to add a Unitful.jl quantity to the metadata, we detect that, and we add the value of the quantity in the metadata, and its units in the "units" twin dictionary. Other points of discussion that are not directly related with implementation:
|
@sebastianpech that's the write down, let me know what you think. |
@Datseris I have not forgotten about this, just really focusing on finishing my phd at the moment. I'll post my thoughts and ideas about this in the next days. |
@sebastianpech How is your PhD progressing? Have you defended? Any chance to get back to this? |
@Datseris I defended my thesis, all done :) I will try to get back to it soon |
Congratulations man, well deserved!!! |
Bump here! |
Next up