feat: make pandas an optional dependency
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 72/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Domaine
- backend, build-system
Piste de recherche
Commencez par pyproject.toml et inspectez les références à pandas dans client.dataframe.* et client.records.create(table, dataframe). Vérifiez que l’installation principale ne nécessite plus pandas, tandis que l’extra dataframe rétablit l’intégration existante ; l’importation de client.dataframe sans l’extra devrait produire le ImportError clair proposé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
pandas is a required dependency (pandas>=2.0.0 in pyproject.toml) but is only used by the DataFrame integration (client.dataframe.*, client.records.create(table, dataframe)). The core SDK surface (client.tables.*, client.records.* with dict input, client.query.*) does not import pandas at all.
This makes the SDK unsuitable as a lightweight dependency for services that need only schema manipulation (e.g., table creation, column addition, relationship management) without DataFrame support. pandas adds ~30MB to the installed footprint.
Proposal
Move pandas to an optional extra:
` oml
[project]
dependencies = [
"azure-identity>=1.17.0",
"azure-core>=1.30.2",
"requests>=2.32.0",
]
[project.optional-dependencies]
dataframe = ["pandas>=2.0.0"]
`
Users who need DataFrame integration install pip install powerplatform-dataverse[dataframe]. The core SDK installs with zero heavy dependencies beyond azure-identity and requests.
Motivation
The Cowork (M365 Copilot) runtime is evaluating the SDK as the backend for Dataverse schema operations in the App Builder experience. The runtime already has azure-identity, azure-core, and requests -- but adding pandas (~30MB) as a transitive dependency for unused DataFrame features is a container footprint concern. Making pandas optional would unblock SDK adoption for schema-only use cases.
Backward compatibility
No breaking change: pip install powerplatform-dataverse[dataframe] gives the same behavior as today. Users who import client.dataframe without the extra get an ImportError with a clear message suggesting the extra.
- Langage dominant
- Python
- Étoiles
- 61
- Forks
- 25
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun 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 microsoft/PowerPlatform-DataverseClient-Python
-
client.dataframe.get() only returns physical columns, not the full logical schemaPeut-être à nouveau libre @sagebree l’a pris il y a 156 jours, et aucune pull request n’est ouverte. Ouverte
microsoft/PowerPlatform-DataverseClient-Python#170 · 1 personne assignée ·
-
`DisplayCollectionName` uses naive + "s" pluralization in tables.create()Peut-être à nouveau libre @abelmilash-msft l’a pris il y a 104 jours, et aucune pull request n’est ouverte. Ouvertebug
microsoft/PowerPlatform-DataverseClient-Python#166 · 1 commentaire · 1 personne assignée ·
-
Add client-side batching for CreateMultiple/UpdateMultiple/UpsertMultiplePeut-être à nouveau libre @abelmilash-msft l’a pris il y a 182 jours, et aucune pull request n’est ouverte. Ouverteenhancement
microsoft/PowerPlatform-DataverseClient-Python#156 · 1 commentaire · 1 personne assignée ·
-
Feature Request: Support OData Deep Inserts in create() and upsert()Peut-être à nouveau libre @sagebree l’a pris il y a 169 jours, et aucune pull request n’est ouverte. Ouverteenhancement
microsoft/PowerPlatform-DataverseClient-Python#149 · 1 personne assignée ·
-
@odata.bind problem with same column and table namesPeut-être à nouveau libre @sagebree l’a pris il y a 169 jours, et aucune pull request n’est ouverte. Ouvertebug
microsoft/PowerPlatform-DataverseClient-Python#77 · 1 commentaire · 1 réaction · 1 personne assignée ·
Toutes les issues de microsoft/PowerPlatform-DataverseClient-Python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
rpm-software-management/mock#1824 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
jpata/particleflow#520 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue hacktoberfest
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
gridhead/gi-loadouts#699 ·
Les mainteneurs répondent en général sous 13 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
FinanceFlash/unvibecode#206 ·
Les mainteneurs répondent en général sous 1 jour