Skip to content

refactor: Dispatch IO functions via *Namespace methods - #3793

Merged
dangotbanned merged 7 commits into
mainfrom
refactor/io-contract
Jul 21, 2026
Merged

refactor: Dispatch IO functions via *Namespace methods#3793
dangotbanned merged 7 commits into
mainfrom
refactor/io-contract

Conversation

@FBruzzesi

Copy link
Copy Markdown
Member

Description

Follow-up to the contract discussion in #3753 (#3753 (comment))

read_csv, scan_csv, read_parquet and scan_parquet now dispatch to same-named methods on the compliant *Namespace instead of per-backend if/elif chains in functions.py.

What type of PR is this? (check all applicable)

  • 💾 Refactor
  • ✨ Feature
  • 🐛 Bug Fix
  • 🔧 Optimization
  • 📝 Documentation
  • ✅ Test
  • 🐳 Other

Related issues

@FBruzzesi
FBruzzesi marked this pull request as ready for review July 15, 2026 10:52

@MarcoGorelli MarcoGorelli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @FBruzzesi !

@dangotbanned
dangotbanned requested review from dangotbanned and removed request for dangotbanned July 21, 2026 11:00

@dangotbanned dangotbanned left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @FBruzzesi, really appreciate this!

cat-ptain on a narwhal

Comment thread src/narwhals/_compliant/namespace.py Outdated
Comment thread src/narwhals/_spark_like/utils.py
Comment thread src/narwhals/functions.py
Comment thread docs/extending.md Outdated
Comment thread docs/extending.md Outdated
@FBruzzesi

FBruzzesi commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

Thanks @dangotbanned - addressed all your feedback in 264b5a3 - Update: except that the wrong doc file was committed, so look at 2f26bee 🤦🏼‍♂️

Looking forward to merge this 🔥

@dangotbanned dangotbanned left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double approved

bullseye

@dangotbanned
dangotbanned merged commit d15bdf8 into main Jul 21, 2026
44 checks passed
@dangotbanned
dangotbanned deleted the refactor/io-contract branch July 21, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants