Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`col_summary_tbl()` raises a bare `AssertionError` when no column has a supported type

Open
#467 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@cristianchiriac is already working on this.

Since Oct 17, 2026.

  • #469 by @cristianchiriac — open

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
62/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
pandas, python
Domain
data, testing-qa

Research direction

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.

Written by the indexing model from the issue text.

Description

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)
Dominant language
Python
Stars
494
Forks
38
Avg merge
6h 59m
Merged PRs (30d)
33

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from posit-dev/pointblank

All issues in posit-dev/pointblank

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.