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

[GUIDE] Interoperability with Polars, DuckDB, and PyArrow (Zero-Copy Analytics)

Open Beginner friendly
#717 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
documentation

Research direction

The guide file is to be created at doc/guides/interop_arrow_duckdb_polars.md. Start by examining the existing doc/guides/index.rst to understand the linking pattern. Review the blosc2.CTable API documentation for to_arrow() and from_arrow() methods. Write runnable examples for PyArrow round-trips, DuckDB queries, and Polars integration, ensuring they work with sample data. Finally, update the index file to link the new guide.

Written by the indexing model from the issue text.

Description

sustain-2026

Blosc2 provides zero-copy Apache Arrow interoperability via CTable.to_arrow(), from_arrow(), and the PyCapsule protocol. Some data teams may want to leverage Blosc2 for high-ratio compressed columnar storage while running analytical queries using modern query engines like DuckDB and Polars.

Suggested Work

Create doc/guides/interop_arrow_duckdb_polars.md and link it from doc/guides/index.rst.

Provide runnable code examples showing:

  1. PyArrow Round-trip: Converting a blosc2.CTable to a pyarrow.Table / RecordBatch and back with zero copying where supported.
  2. Direct SQL queries with DuckDB: Querying Blosc2 tables using DuckDB's Arrow scanner:
    import duckdb
    import blosc2
    
    table = blosc2.open("dataset.b2z")
    res = duckdb.arrow(table.to_arrow()).filter("price > 100").aggregate("avg(score)").df()
    
  3. Polars Integration: Ingesting a Blosc2 table into Polars (pl.from_arrow(table.to_arrow())) and converting Polars DataFrames into Blosc2 CTables.
  4. Performance & Memory Comparisons: Illustrating memory usage during queries on compressed Blosc2 tables vs. raw in-memory DataFrames.
Dominant language
Python
Stars
211
Forks
63
Avg merge
2d 1h
Merged PRs (30d)
9

Contributor guide

Open the contributing guide

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 Blosc/python-blosc2

All issues in Blosc/python-blosc2

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.