feat(db-dtypes): support pandas 3.1.0 and update extension compliance tests

Offen
#18,528 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
52/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
numpy, pandas, python
Bereich
data, testing-qa

Rechercherichtung

Start in tests/compliance/ and inspect the JSONArray and TimeArray compliance coverage, then review packages/db-dtypes/setup.py for the pandas version bound. Run the compliance tests against pandas 3.1.0 and check fillna, comparisons, reductions, warnings, and test_map behavior. Done means the compliance tests pass and the pandas upper bound is updated after compatibility is confirmed.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Description

(introduced in pandas 3.1.0rc0) includes changes to pandas' internal ExtensionArray compliance test base classes and reduction semantics.

Areas to address:
  1. Private import removal: Replace from pandas.compat.numpy import np_version_gt2 in tests/compliance/ with a dynamic version check against NumPy (packaging.version.parse(np.__version__) >= Version('2')).
  2. JSONArray & TimeArray compliance: Update JSONArray and TimeArray methods to conform to pandas 3.1 ExtensionArray behaviors:
    • ExtensionArray.fillna dict filling semantics.
    • Comparison and reduction return dtypes and Pandas4Warning deprecation warnings.
    • test_map return types.
  3. Upper bound relaxation: Relax pandas < 3.1.0 back to pandas < 4.0.0 in packages/db-dtypes/setup.py once fully compliant.
Vorherrschende Sprache
Python
Sterne
5.4k
Forks
1.8k
Ø Merge
2 T. 7 Std.
Gemergte PRs (30 T.)
173

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus googleapis/google-cloud-python

Alle Issues in googleapis/google-cloud-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.