Skip to content

feat: expose catalog metadata api for pypaimon_rust#306

Open
SML0127 wants to merge 1 commit into
apache:mainfrom
SML0127:issue-284
Open

feat: expose catalog metadata api for pypaimon_rust#306
SML0127 wants to merge 1 commit into
apache:mainfrom
SML0127:issue-284

Conversation

@SML0127
Copy link
Copy Markdown
Contributor

@SML0127 SML0127 commented May 3, 2026

Purpose

Linked issue: close #284

Brief change log

  • added list_databases, list_tables, and get_table methods to existing PaimonCatalog.
  • introduced new PyO3 wrapper classes for metadata inspection: Table, TableSchema, and DataField.

Tests

API and Format

  • Python-only API additions. No changes to Rust public APIs or storage formats.

Documentation

Copy link
Copy Markdown

@leaves12138 leaves12138 left a comment

Choose a reason for hiding this comment

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

Thanks for the PR. The runtime binding implementation looks generally good, and the existing CI is green. I also verified locally that cargo test -q -p pypaimon_rust --no-default-features passes after the first build.

One blocking issue: this package ships py.typed and bindings/python/python/pypaimon_rust/datafusion.pyi, but the stub file still only exposes PaimonCatalog.__init__ and __datafusion_catalog_provider__. The new public APIs added by this PR (list_databases, list_tables, get_table, plus the new Table, TableSchema, and DataField classes and their methods) are missing from the type stubs.

That means dynamic Python calls work, but type-aware users and IDEs will still see the old API. Please update bindings/python/python/pypaimon_rust/datafusion.pyi to match the new exported Python surface. It would also be helpful to cover this with a small stub/import check if the project already has a place for that.

Also, GitHub currently reports the PR as not mergeable (mergeable_state=dirty), so it will need a rebase/update before merge.

@SML0127
Copy link
Copy Markdown
Contributor Author

SML0127 commented May 22, 2026

@leaves12138 Thanks for the comment. I've updated and rebbased the branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose catalog metadata API (list_databases, list_tables, schema) for pypaimon_rust

2 participants