Consider making pandas an optional dependency
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 50/100
Rechercherichtung
Öffne src/databricks/sql/client.py und untersuche den pandas-Import und die Methode _convert_arrow_table, insbesondere die Bedingung disable_pandas. Verschiebe den Import, sodass pandas nur benötigt wird, wenn dieser Konvertierungspfad ausgeführt wird. Führe anschließend die Testsuite aus und überprüfe, dass das gezeigte Connection- und polars-Beispiel nach der Deinstallation von pandas funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
Currently pandas is a hard requirement for the library, however not necessarily used.
By delaying pandas import in src/databricks/sql/client.py from the top of the file to _convert_arrow_table method after the if self.connection.disable_pandas is True: condition it would be possible to make pandas an optional dependency.
I was able to run all the tests with this change flawlessly, as well as uninstalling pandas and then run the following:
import polars as pl
from databricks.sql.client import Connection
credentials = ...
query = ...
conn = Connection(
server_hostname=credentials["server_hostname"],
http_path=credentials["http_path"],
access_token=credentials["access_token"],
)
dframe = pl.read_database(query, conn)
without any issue
- Vorherrschende Sprache
- Python
- Sterne
- 233
- Forks
- 152
- Ø Merge
- 21 Std. 5 Min.
- Gemergte PRs (30 T.)
- 10
Beitragsleitfaden
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 databricks/databricks-sql-python
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100