remove arbitrary kwargs from Location, PVSystem, SingleAxisTracker, ModelChain#1034
remove arbitrary kwargs from Location, PVSystem, SingleAxisTracker, ModelChain#1034wholmgren wants to merge 2 commits intopvlib:masterfrom
Conversation
|
LGTM.
Is there a timeline to deprecate and remove the LocalizedX classes? I ask because this isn't the first time I've seen not-very-positive remarks about them, but the classes persist regardless. Seems like if the plan is to remove them at some point, might as well do it sooner rather than later so it breaks less user code. |
|
No plan. I don't often see them in the google group or stack overflow, which suggests to me that they're not used much. They're usually not a problem to maintain along with the rest of the code, so I haven't been sufficiently bothered by their presence to put in the effort to argue for and implement their deprecation. I suspect that the best reason to remove them might be to simplify the documentation and API so that newcomers are not confused by another way of doing things. |
|
I've never used the LocalizedX class, FWIW. |
|
I would vote to remove the LocalizedX classes if only to avoid maintaining |
|
+1 remove localized, less is more |
|
I searched github for instances of LocalizedPVSystem. It's not used much. The most notable is in rdtools: |
|
Thanks for catching that @wholmgren. Removal of LocalizedPVSystem would break RdTools API. It's possible that we would be able to maintain backward compatibility by taking an optional |
|
@mdeceglie I'm looking at deprecating the |
|
started over in #1053 |
docs/sphinx/source/api.rstfor API changes.docs/sphinx/source/whatsnewfor all changes. Includes link to the GitHub Issue with:issue:`num`or this Pull Request with:pull:`num`. Includes contributor name and/or GitHub username (link with:ghuser:`user`).Straightforward except for dealing with the construction of
LocalizedPVSystemandLocalizedSingleAxisTracker. The init methods of these classes passed all kwargs to bothPVSystemandLocation. I wrote some awful code to manually pull out the relevant values from the base object or kwargs. I'm sure you could do something smarter usinginspectbut that felt like overkill for objects that I don't use and don't want to support in the long run.