Skip to content

[Enhancement] Simplify Import Paths by truncating py4j #42

Closed
@chenghuichen

Description

@chenghuichen

Currently, users need to import core classes like Catalog and Table from the implementation-specific module py4j:

from pypaimon.py4j import Catalog
from pypaimon.py4j import Table

This exposes internal technical details and creates unnecessary coupling between user code and the implementation mechanism.

I propose to expose these core classes at the package root level by re-exporting them in init.py, allowing users to import directly from the main package:

from pypaimon import Catalog
from pypaimon import Table

Benefits:

  • Cleaner and more intuitive API - users don't need to know about the underlying Py4J implementation
  • More flexibility for future refactoring - we can change the underlying implementation without breaking user code
  • Follows Python best practices of providing a clean public API

This change maintains backward compatibility while providing a better developer experience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions