-
Notifications
You must be signed in to change notification settings - Fork 22
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
Standardize Importing Conventions From IS #388
Comments
The fact that |
This is also an issue for documentation consistency. I have just found that the |
Just ran into another problem with this. I want to implement
In the status quo, this is far more complicated: if |
I am now officially in support of making |
@GabrielKS , relatedly, I am pushing documentation updates for |
Mostly not an issue with the IS codebase itself, but an issue with how all the other Sienna packages use IS. Since IS doesn't
export
anything, it is up to things thatimport
it what identifiers they want to explicitly bring into their own namespace, and we are pretty inconsistent about this.Sometimes, it has been argued, we might define a function in a downstream package that has the same name as a semantically similar function in IS because we only want the downstream function to be visible to the user, e.g., when they query for documentation — this is the reasoning for
get_components
.This gets more complicated when there are multiple downstream packages that both define their own versions of a function rather than adding methods to the IS version. Here's a case where there are four different functions that are semantically all the same thing:
PSI isn't importing IS's version, but also PSI isn't importing PSY's version, so things get complicated.
That gets even worse when multiple downstream packages export two semantically identical functions with the same name:
When thinking through how to import things from
IS.Optimization
into PowerSimulations, I made a list of categories starting here, but I ended up missing a few functions, causing NREL-Sienna/PowerSimulations.jl#1125.My hope is that at some point we can come up with some guidelines that rigorously define how things ought to be imported across the Sienna system and document them somewhere to avoid future issues like this.
The text was updated successfully, but these errors were encountered: