Compatibility with the Array API standard?
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 22/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- numpy, pandas, python, pytorch, tensorflow
- Bereich
- data
Rechercherichtung
The payload names no specific files, so begin by reading the Array API standard docs and choosing a few representative pvlib functions that rely on NumPy and pandas calls. Record which calls would break with other array libraries, then prototype compatibility in those functions. Done means a written cost-benefit summary with a working prototype and tests run against at least one non-NumPy array library.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The Array API standard makes it possible to write generic code that works with many types of arrays (NumPy, Tensorflow, PyTorch, Dask, JAX, CuPy, MXNet, Xarray, ...). In principle, this would enable a pvlib simulation to be run in parallel, or on a GPU, using only code that looks very similar to the numpy-style code we are familiar with.
The Array API standard is gaining some meaningful traction in the community. For example, SciPy is adding support: see their array types tag, progress tracking tables, and developer documentation. scikit-learn is working on it too.
Adopting the standard could be a fairly straightforward way of enabling new use cases for pvlib. However, I don't have any experience with it myself and can't say anything more concrete than it seems worth looking into. So, following discussion with @echedey-ls, a good first step here is to explore the cost and benefit by prototyping compatibility in a small number of representative pvlib functions (I leave it an open question which functions might be considered representative). That would inform decisions about whether and how to pursue broader adoption across pvlib.
For reference, I copy this description from our GSoC 2025 project ideas list:
Project Title: Compatibility with the Array API
Project Description: An exciting development in the Python ecosystem is the Python array API standard, a uniform interface across the various array libraries (NumPy, Xarray, JAX, etc). Historically, pvlib has been written for compatibility with NumPy arrays and Pandas Series, but making use of the Array API to expand compatibility to other array libraries could be very beneficial. A successful proposal for this project will include some investigation about what it would take to adopt the Array API across pvlib.
Expected Outcomes: A plan/roadmap for adopting the Array API, Array API compatibility in several pvlib modules, and automated tests ensuring compatibility across the various array packages.
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 1.2k
- Ø Merge
- 3 T. 18 Std.
- Gemergte PRs (30 T.)
- 13
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus pvlib/pvlib-python
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
pvlib/pvlib-python#2903 · 2 Kommentare · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
pvlib/pvlib-python#2902 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add an example or documentation on using 'bhi' from ERA5Evtl. wieder frei @anshurajbisoyi98-ctrl hat das vor 14 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
pvlib/pvlib-python#2880 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Use "long-wave" rather than "infra-red" to refer to thermal radiation.Evtl. wieder frei @Rahi-padwal hat das vor 251 Tagen übernommen, und es ist kein Pull Request offen. Offenapi easy
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
pvlib/pvlib-python#2653 · 6 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
question
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 72/100
pvlib/pvlib-python#2637 · 10 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in pvlib/pvlib-python
Ähnliche Issues
-
Deferred from #1869: Complete the companion pytest guardrail update noted in the PR description...Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
NousResearch/hermes-agent#140958 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bug triage/confirmed
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 85/100
agentscope-ai/agentscope#3355 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
ethereum/execution-specs#3859 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag