-
Notifications
You must be signed in to change notification settings - Fork 26
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
[Feature]: Remove or enchance the warning about ignoring cached name spaces #1018
Comments
These warnings can happen when loading a namespace. In practice this is usually the case when opening a file with In most cases, this currently does not lead to downstream issues, but it can if different versions of an extension are incompatible with each other. As such, I do think we should keep some form of a warning. However, I do agree that this should be improved to clarify what this means for the user. How about the following:
|
I could have sworn we had already made an issue on this but maybe we just discussed it. For hdmf-common and NWB core, I think we should raise the warning only if the cached namespace is newer than the loaded namespace, and thus we cannot ensure compatibility. The warning should recommend updating to the latest version of PyNWB. If the cached namespace is older or equal to than the loaded namespace, then if we have written HDMF and PyNWB well, then there should not be any compatibility issues. This is the most common case. |
Came across this just now and looked to see if this was already raised because it seems like odd behavior to me - i would expect when I load a file that has embedded some schema that those schema would be used. I could understand if i had multiple files open with different versions why there would be problems (although i'm not sure why the namespace catalog can't hold multiple versions at a time, seems simple enough to do), but it's especially puzzling when i am only loading one file fresh after booting up my interpreter. Seems like the correct behavior would be to replace any cached namespaces with the ones that are correct and provided by my file, or else what's the purpose of embedding them along with my file? I couldn't figure out how to force this behavior even with |
What would you like to see added to HDMF?
I get this warning to standard error sometimes and I don't know what to make out of it:
It comes from here:
hdmf/src/hdmf/spec/namespace.py
Lines 527 to 532 in 41fabd4
I have the feeling that warnings should be actionable by the person that receives them. I feel that displaying this to end users is obscure (as I assume most users are not familiar with the concept of namespaces in the context of hdmf) and non-actionable. It is not clear what (and if) there is something wrong and what should be done about it.
What solution would you like?
If this is something that the end users should be concerned about, maybe enchance the warning to add instructions of what should be done or try.
If this is something that end users should not be concerned about maybe we could eliminate or restrict the warning so only the people that should be concerned get it.
Can this be done?
Do you have any interest in helping implement the feature?
Yes.
The text was updated successfully, but these errors were encountered: