Phase 4: ConcatField - Refactor to Polars

Aperta
#491 3 commenti 0 reazioni 3 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@VENKAT-AVVARI-190825 ci sta già lavorando.

Dal 23/2/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Overview
The Parse step now produces data using Polars LazyFrames, but the ConcatField step still uses the legacy implementation and cannot process this new output. To keep the pipeline consistent and efficient, the ConcatField phase must be updated to use the Polars version. This will keep existing behaviour while modernising the underlying process.

Tech Approach

  • Update digital_land/phase/ConcatField.py so it delegates to the Polars parse implementation.
  • Implement the full ConcatField logic inside digital_land/phase_polars/transform/ConcatField.py.
  • Convert existing ConcatField rules into Polars lazy transformations.
  • Ensure the ConcatField phase accepts the LazyFrame produced by the new normalise step.
  • Keep the same public interface so no downstream code needs changing.

Acceptance Criteria/Tests

  • ConcatField phase accepts the normalise phase LazyFrame without errors.
  • Legacy ConcatField behaviour is reproduced using Polars.
  • Outputs match the legacy ConcatField phase (apart from expected improvements).
  • No Pandas or row‑based Python operations are used.
  • Add test cases
  • Refactored code complies with project formatting and style standards (black/flake8/pep)

Resourcing & Dependencies
Depends on Parse phase, no external teams.

Lingua principale
Python
Stelle
10
Fork
4
Merge medio
11h 29m
PR unite (30g)
16

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di digital-land/digital-land-python

Tutte le issue di digital-land/digital-land-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.