Proposal: fork pvfactors to a new pvlib project #1657
kandersolar
started this conversation in
General
Replies: 1 comment 7 replies
-
I don't think it's necessary to rename the pvlib function - I think the PyPI name is independent from the namespace - I think we should continue to reuse the same "pvfactors" namespace in pvlib and which pvfactors gets used will depend on what the user installs |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Background
pvfactors is an open-source python package originally developed by SunPower. It implements a 2-D view factors model for determining front- and rear-side irradiance for bifacial PV systems, considering things like row-row and row-ground shadows. It is slower than
pvlib.infinite_sheds
but can model some things thatinfinite_sheds
cannot, for example finite numbers of rows and irradiance at multiple locations along the row's slant height. pvfactors can be used directly or viapvlib.bifacial.pvfactors_timeseries
, a convenience function that wraps pvfactors as an optional dependency. Its PVSC paper has been cited 30+ times since 2017 and I can attest to ongoing use of pvfactors in PV industry.Aside from the code itself, pvfactors has sphinx-based documentation and a pytest-based test suite, both of which will feel familiar to those who work on pvlib-python. The pvfactors repository contents are BSD-3 licensed.
It was developed and maintained by @anomam until he left SunPower a few years ago. Since then, the project has been mostly inactive, with just a few PRs getting merged between @anomam, @markcampanelli, and me. The main road block is the lack of overlap between the people who are motivated to work on the project and the people with the admin privileges necessary to properly manage the project. Unless something changes on the SunPower side, I'm not confident that the package will receive the maintenance it needs to continue working as the rest of the python ecosystem evolves. Over a year ago we first approached SunPower regarding the future of pvfactors: SunPower/pvfactors#127. Unfortunately that conversation hasn't reached any satisfying conclusion. In the meantime, bug reports and dependency incompatibilities accumulate.
Proposal
In the absence of SunPower actively maintaining pvfactors or agreeing to transfer ownership to another steward, I propose we fork the pvfactors repository into a new repository in the pvlib GitHub organization, release it as a new package on PyPI, and have pvlib's wrapper function use our fork. Specifically, I am thinking of a sequence like this:
SunPower/pvfactors
repository topvlib/pvfactors
, and then rename the repository to something other thanpvfactors
. Renaming is necessary so that we can eventually publish it to PyPI without a name conflict.pvfactors
in the name), in which case we should consider making other changes/improvements while we're at it.I am interested and willing to be a maintainer of the new repository. @anomam has expressed interest as well although may not have much time available to contribute directly. The involvement of other maintainers would be very welcome but my support for this plan is not contingent on it.
What is needed from you
Beta Was this translation helpful? Give feedback.
All reactions