`col_summary_tbl()` raises a bare `AssertionError` when no column has a supported type
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 62/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- data, testing-qa
Direzione di ricerca
Start with the bare assert self.column_profiles in as_dataframe() in scan_profile.py (around line 270), then look at the is_illegal and NotImplementedError skip checks in datascan.py. Run the reproducer with a Decimal-only or time-only polars frame and confirm the AssertionError. Done means either a clear error that names the skipped column types, or a summary that lists unsupported columns, with the mixed-type case also reporting them. The issue leaves the choice between those two open, so confirm which one to implement with the maintainers first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
col_summary_tbl() raises an AssertionError with no message when none of the table's columns has a type it can profile, for example a table of only Decimal or Time columns, or a pandas object column holding booleans and None.
Minimal reproducible example
import datetime
import decimal
import pandas as pd
import polars as pl
import pointblank as pb
pb.col_summary_tbl(pl.DataFrame({"amount": [decimal.Decimal("1.50"), decimal.Decimal("2.25")]}))
File ".../pointblank/scan_profile.py", line 270, in as_dataframe
assert self.column_profiles
AssertionError
The same happens with:
pb.col_summary_tbl(pl.DataFrame({"t": [datetime.time(9, 0), datetime.time(10, 30)]}))
pb.col_summary_tbl(pd.DataFrame({"flag": [True, None, False]})) # object dtype
pb.col_summary_tbl(
pl.DataFrame({"amount": [decimal.Decimal("1.5")], "t": [datetime.time(9, 0)]})
)
Expected
Either an error that says no column could be summarized and which types were skipped, or a summary table that lists those columns as unsupported.
Actual
A bare AssertionError from _DataProfile.as_dataframe(). DataScan skips columns whose type _TypeMap cannot profile (datascan.py, the is_illegal / NotImplementedError checks), so when every column is skipped column_profiles is empty and the internal assertion fails.
When only some columns are unsupported the report renders, but those columns are left out with no note. For pl.DataFrame({"amount": [decimal.Decimal("1.50")], "n": [1]}), the summary shows only n. Fixing the error case the second way would cover this too.
Environment
- pointblank main (6412f6f8)
- Python 3.12.13, polars 2.0.0, pandas 2.3.3
- macOS (arm64)
- Lingua principale
- Python
- Stelle
- 494
- Fork
- 38
- Merge medio
- 6h 59m
- PR unite (30g)
- 33
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di posit-dev/pointblank
-
Type: ★ Enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
posit-dev/pointblank#379 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
posit-dev/pointblank#395 ·
I maintainer di solito rispondono entro 1 giorno
-
Type: ★ Enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
posit-dev/pointblank#394 ·
I maintainer di solito rispondono entro 1 giorno
-
ibis.pyspark col_vals_in_set produces invalid SQLForse di nuovo libera @rich-iannone l’ha presa 297 giorni fa e non c’è nessuna pull request aperta. ApertaDifficulty: [2] Intermediate Effort: [3] High Priority: [3] High Type: ☹︎ Bug
posit-dev/pointblank#335 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
YAML value column selectorForse di nuovo libera @rich-iannone l’ha presa 316 giorni fa e non c’è nessuna pull request aperta. ApertaDifficulty: [2] Intermediate Effort: [3] High Priority: [3] High Type: ☹︎ Bug
posit-dev/pointblank#333 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di posit-dev/pointblank
Issue simili
-
documentation good first issue
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
sujithputta02/Esapay#13 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Flaky: credential-proxy admission metric test asserts a wall-clock bound it does not establishApertaneeds-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
gke-labs/kube-agents#3277 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jbacalso24/mimry#291 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 82/100
eli-alvarado/us-watchlist-alerts#14 ·
I maintainer di solito rispondono entro 1 giorno