apache / apache/iceberg-python
[feature] Investigate integrations leveraging the PyCapsule protocol
- Langage dominant
- Python
- Étoiles
- 1.1k
- Forks
- 581
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 78
Description
### Feature Request / Improvement
Context: https://github.com/apache/iceberg-python/pull/1614#issuecomment-2641089912
Copying the comment over:
Separately, rather than adding more library-specific conversion code, it might make sense for pyiceberg to start leveraging the [PyCapsule protocol](https://arrow.apache.org/docs/format/CDataInterface/PyCapsuleInterface.html) to allow any third party library (dataframe or otherwise) that supports Arrow data to seamlessly consume pyiceberg constructs.
Polars already supports the PyCapsule interface. See https://docs.pola.rs/user-guide/misc/arrow/#using-the-arrow-pycapsule-interface for details.
Implementing the interface on e.g. pyiceberg tables would allow them to be passed directly to dataframe init in polars, just like you can do a pyarrow table today. It also doesn't assume anything about polars support/doesn't add a dependency on polars.
cc @corleyma if you would like to provide more context :)
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par le contexte du commentaire lié de PR 1614, puis lisez le protocole Arrow PyCapsule et le guide de l’interface PyCapsule de Polars. Identifiez quelles constructions de table de pyiceberg devraient exposer le protocole et comment elles peuvent être transmises directement à l’initialisation d’un dataframe. C’est terminé lorsqu’un chemin d’intégration documenté et testé fonctionne sans ajouter de dépendance à Polars.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- data
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100