Compatibility with the Array API standard?
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 22/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- numpy, pandas, python, pytorch, tensorflow
- Domaine
- data
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 1.7k
- Forks
- 1.2k
- Merge moyen
- 3 j 18 h
- PR mergées (30 j)
- 13
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de pvlib/pvlib-python
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
pvlib/pvlib-python#2903 · 5 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
pvlib/pvlib-python#2902 ·
Les mainteneurs répondent en général sous 1 jour
-
Add an example or documentation on using 'bhi' from ERA5Peut-être à nouveau libre @anshurajbisoyi98-ctrl l’a pris il y a 14 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
pvlib/pvlib-python#2880 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Use "long-wave" rather than "infra-red" to refer to thermal radiation.Peut-être à nouveau libre @Rahi-padwal l’a pris il y a 252 jours, et aucune pull request n’est ouverte. Ouverteapi easy
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
pvlib/pvlib-python#2653 · 6 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
question
Difficulté 1/5 1-3 heures Accessibilité débutants 72/100
pvlib/pvlib-python#2637 · 10 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de pvlib/pvlib-python
Issues similaires
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ianktoo/project-monitor#14 ·
-
A wrong descriptor checksum is refused with the right one, also for an xprv or WIF descriptorOuvertesecurity
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
btclib-org/btclib-wallet#478 ·
Les mainteneurs répondent en général sous 1 jour
-
security
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
btclib-org/btclib#2727 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue lead variant:container
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
radialmonster/orf-cleanroom#10 ·
Les mainteneurs répondent en général sous 1 jour
-
gdsa opencode: keep-alive cleanup trap fails with 'keepalive_pid: unbound variable'Peut-être pris @darribas l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100