This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new e2ab2a0b90 [python] Expose CatalogFactory and Schema directly (#6243)
e2ab2a0b90 is described below

commit e2ab2a0b900d7eb3758d62fba8165905cf4a5422
Author: Jingsong Lee <[email protected]>
AuthorDate: Thu Sep 11 22:39:45 2025 +0800

    [python] Expose CatalogFactory and Schema directly (#6243)
---
 docs/content/program-api/python-api.md                     | 2 +-
 paimon-python/pypaimon/__init__.py                         | 4 ++++
 paimon-python/pypaimon/tests/filesystem_catalog_test.py    | 4 ++--
 paimon-python/pypaimon/tests/predicate_push_down_test.py   | 4 ++--
 paimon-python/pypaimon/tests/predicates_test.py            | 4 ++--
 paimon-python/pypaimon/tests/py36/ao_predicate_test.py     | 4 ++--
 paimon-python/pypaimon/tests/py36/ao_read_write_test.py    | 4 ++--
 paimon-python/pypaimon/tests/reader_append_only_test.py    | 4 ++--
 paimon-python/pypaimon/tests/reader_basic_test.py          | 4 ++--
 paimon-python/pypaimon/tests/reader_primary_key_test.py    | 4 ++--
 paimon-python/pypaimon/tests/rest_catalog_base_test.py     | 4 ++--
 paimon-python/pypaimon/tests/rest_server.py                | 2 +-
 paimon-python/pypaimon/tests/rest_table_read_write_test.py | 4 ++--
 paimon-python/pypaimon/tests/rest_table_test.py            | 2 +-
 paimon-python/pypaimon/tests/schema_test.py                | 2 +-
 paimon-python/pypaimon/tests/serializable_test.py          | 4 ++--
 paimon-python/pypaimon/tests/writer_test.py                | 4 ++--
 17 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/docs/content/program-api/python-api.md 
b/docs/content/program-api/python-api.md
index 90779ed266..ab4967a895 100644
--- a/docs/content/program-api/python-api.md
+++ b/docs/content/program-api/python-api.md
@@ -44,7 +44,7 @@ pip install pypaimon
 Before coming into contact with the Table, you need to create a Catalog.
 
 ```python
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 
 # Note that keys and values are all string
 catalog_options = {
diff --git a/paimon-python/pypaimon/__init__.py 
b/paimon-python/pypaimon/__init__.py
index 4273f0d868..060529a185 100644
--- a/paimon-python/pypaimon/__init__.py
+++ b/paimon-python/pypaimon/__init__.py
@@ -16,7 +16,11 @@
 #  under the License.
 
 from pypaimon.filesystem.pvfs import PaimonVirtualFileSystem
+from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon.schema.schema import Schema
 
 __all__ = [
     "PaimonVirtualFileSystem",
+    "CatalogFactory",
+    "Schema",
 ]
diff --git a/paimon-python/pypaimon/tests/filesystem_catalog_test.py 
b/paimon-python/pypaimon/tests/filesystem_catalog_test.py
index 764bf4d802..0e9900efb4 100644
--- a/paimon-python/pypaimon/tests/filesystem_catalog_test.py
+++ b/paimon-python/pypaimon/tests/filesystem_catalog_test.py
@@ -23,9 +23,9 @@ from pypaimon.catalog.catalog_exception import 
(DatabaseAlreadyExistException,
                                                 DatabaseNotExistException,
                                                 TableAlreadyExistException,
                                                 TableNotExistException)
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 from pypaimon.schema.data_types import AtomicType, DataField
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.table.file_store_table import FileStoreTable
 
 
diff --git a/paimon-python/pypaimon/tests/predicate_push_down_test.py 
b/paimon-python/pypaimon/tests/predicate_push_down_test.py
index b5b403f674..e809295d57 100644
--- a/paimon-python/pypaimon/tests/predicate_push_down_test.py
+++ b/paimon-python/pypaimon/tests/predicate_push_down_test.py
@@ -23,9 +23,9 @@ import unittest
 
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 from pypaimon.common.predicate_builder import PredicateBuilder
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 
 
 class PredicatePushDownTest(unittest.TestCase):
diff --git a/paimon-python/pypaimon/tests/predicates_test.py 
b/paimon-python/pypaimon/tests/predicates_test.py
index 19d101fb28..ca3caa5276 100644
--- a/paimon-python/pypaimon/tests/predicates_test.py
+++ b/paimon-python/pypaimon/tests/predicates_test.py
@@ -23,8 +23,8 @@ import unittest
 import pandas as pd
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 
 
 def _check_filtered_result(read_builder, expected_df):
diff --git a/paimon-python/pypaimon/tests/py36/ao_predicate_test.py 
b/paimon-python/pypaimon/tests/py36/ao_predicate_test.py
index ffa305240b..5e7435a360 100644
--- a/paimon-python/pypaimon/tests/py36/ao_predicate_test.py
+++ b/paimon-python/pypaimon/tests/py36/ao_predicate_test.py
@@ -22,8 +22,8 @@ import unittest
 import pandas as pd
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 from pypaimon.tests.predicates_test import _random_format, 
_check_filtered_result
 
 
diff --git a/paimon-python/pypaimon/tests/py36/ao_read_write_test.py 
b/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
index ca75d352a1..3247ea691f 100644
--- a/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
+++ b/paimon-python/pypaimon/tests/py36/ao_read_write_test.py
@@ -23,7 +23,7 @@ import pandas as pd
 import pyarrow as pa
 from pypaimon.api.options import Options
 from pypaimon.catalog.catalog_context import CatalogContext
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 from pypaimon.catalog.rest.rest_catalog import RESTCatalog
 from pypaimon.common.identifier import Identifier
 from pypaimon.manifest.manifest_file_manager import ManifestFileManager
@@ -31,7 +31,7 @@ from pypaimon.manifest.schema.data_file_meta import 
DataFileMeta
 from pypaimon.manifest.schema.manifest_entry import ManifestEntry
 from pypaimon.manifest.schema.simple_stats import SimpleStats
 from pypaimon.schema.data_types import DataField, AtomicType
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.table.row.generic_row import GenericRow, GenericRowSerializer, 
GenericRowDeserializer
 from pypaimon.table.row.row_kind import RowKind
 from pypaimon.tests.py36.pyarrow_compat import table_sort_by
diff --git a/paimon-python/pypaimon/tests/reader_append_only_test.py 
b/paimon-python/pypaimon/tests/reader_append_only_test.py
index 72b421aa94..5a6c291f2e 100644
--- a/paimon-python/pypaimon/tests/reader_append_only_test.py
+++ b/paimon-python/pypaimon/tests/reader_append_only_test.py
@@ -22,8 +22,8 @@ import unittest
 
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 
 
 class AoReaderTest(unittest.TestCase):
diff --git a/paimon-python/pypaimon/tests/reader_basic_test.py 
b/paimon-python/pypaimon/tests/reader_basic_test.py
index 62255c8a79..ce5a0bc308 100644
--- a/paimon-python/pypaimon/tests/reader_basic_test.py
+++ b/paimon-python/pypaimon/tests/reader_basic_test.py
@@ -30,8 +30,8 @@ from pypaimon.table.row.generic_row import GenericRow
 
 from pypaimon.schema.data_types import DataField, AtomicType
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 from pypaimon.manifest.manifest_file_manager import ManifestFileManager
 from pypaimon.manifest.schema.simple_stats import SimpleStats
 from pypaimon.manifest.schema.data_file_meta import DataFileMeta
diff --git a/paimon-python/pypaimon/tests/reader_primary_key_test.py 
b/paimon-python/pypaimon/tests/reader_primary_key_test.py
index 73cca1a788..d1a565d4cc 100644
--- a/paimon-python/pypaimon/tests/reader_primary_key_test.py
+++ b/paimon-python/pypaimon/tests/reader_primary_key_test.py
@@ -23,8 +23,8 @@ import unittest
 
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 
 
 class PkReaderTest(unittest.TestCase):
diff --git a/paimon-python/pypaimon/tests/rest_catalog_base_test.py 
b/paimon-python/pypaimon/tests/rest_catalog_base_test.py
index e56580e0ae..0dc3a129b7 100644
--- a/paimon-python/pypaimon/tests/rest_catalog_base_test.py
+++ b/paimon-python/pypaimon/tests/rest_catalog_base_test.py
@@ -29,13 +29,13 @@ from pypaimon.api.api_response import ConfigResponse
 from pypaimon.api.auth import BearTokenAuthProvider
 from pypaimon.api.options import Options
 from pypaimon.catalog.catalog_context import CatalogContext
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 from pypaimon.catalog.rest.rest_catalog import RESTCatalog
 from pypaimon.catalog.rest.table_metadata import TableMetadata
 from pypaimon.common.identifier import Identifier
 from pypaimon.schema.data_types import (ArrayType, AtomicType, DataField,
                                         MapType)
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.schema.table_schema import TableSchema
 from pypaimon.tests.rest_server import RESTCatalogServer
 
diff --git a/paimon-python/pypaimon/tests/rest_server.py 
b/paimon-python/pypaimon/tests/rest_server.py
index 1419faeb13..7290863eb9 100644
--- a/paimon-python/pypaimon/tests/rest_server.py
+++ b/paimon-python/pypaimon/tests/rest_server.py
@@ -42,7 +42,7 @@ from pypaimon.catalog.catalog_exception import 
(DatabaseNoPermissionException,
 from pypaimon.catalog.rest.table_metadata import TableMetadata
 from pypaimon.common.identifier import Identifier
 from pypaimon.common.json_util import JSON
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.schema.table_schema import TableSchema
 
 
diff --git a/paimon-python/pypaimon/tests/rest_table_read_write_test.py 
b/paimon-python/pypaimon/tests/rest_table_read_write_test.py
index efa0839a33..b070d39bbf 100644
--- a/paimon-python/pypaimon/tests/rest_table_read_write_test.py
+++ b/paimon-python/pypaimon/tests/rest_table_read_write_test.py
@@ -23,10 +23,10 @@ import pyarrow as pa
 
 from pypaimon.api.options import Options
 from pypaimon.catalog.catalog_context import CatalogContext
-from pypaimon.catalog.catalog_factory import CatalogFactory
+from pypaimon import CatalogFactory
 from pypaimon.catalog.rest.rest_catalog import RESTCatalog
 from pypaimon.common.identifier import Identifier
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.tests.rest_catalog_base_test import RESTCatalogBaseTest
 
 
diff --git a/paimon-python/pypaimon/tests/rest_table_test.py 
b/paimon-python/pypaimon/tests/rest_table_test.py
index b905fa593b..d86046c80c 100644
--- a/paimon-python/pypaimon/tests/rest_table_test.py
+++ b/paimon-python/pypaimon/tests/rest_table_test.py
@@ -20,7 +20,7 @@ import os
 
 import pyarrow as pa
 
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.tests.rest_catalog_base_test import RESTCatalogBaseTest
 from pypaimon.write.row_key_extractor import (DynamicBucketRowKeyExtractor,
                                               FixedBucketRowKeyExtractor,
diff --git a/paimon-python/pypaimon/tests/schema_test.py 
b/paimon-python/pypaimon/tests/schema_test.py
index 766676e95f..97c09246ac 100644
--- a/paimon-python/pypaimon/tests/schema_test.py
+++ b/paimon-python/pypaimon/tests/schema_test.py
@@ -22,7 +22,7 @@ import pyarrow
 
 from pypaimon.schema.data_types import (ArrayType, AtomicType, DataField,
                                         MapType, PyarrowFieldParser)
-from pypaimon.schema.schema import Schema
+from pypaimon import Schema
 from pypaimon.schema.table_schema import TableSchema
 
 
diff --git a/paimon-python/pypaimon/tests/serializable_test.py 
b/paimon-python/pypaimon/tests/serializable_test.py
index 475a3ad6e7..eed351e330 100644
--- a/paimon-python/pypaimon/tests/serializable_test.py
+++ b/paimon-python/pypaimon/tests/serializable_test.py
@@ -23,8 +23,8 @@ import unittest
 
 import pyarrow as pa
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 
 
 class SerializableTest(unittest.TestCase):
diff --git a/paimon-python/pypaimon/tests/writer_test.py 
b/paimon-python/pypaimon/tests/writer_test.py
index 8bf38f72e0..34f7c53e70 100644
--- a/paimon-python/pypaimon/tests/writer_test.py
+++ b/paimon-python/pypaimon/tests/writer_test.py
@@ -23,8 +23,8 @@ import unittest
 
 import pyarrow
 
-from pypaimon.catalog.catalog_factory import CatalogFactory
-from pypaimon.schema.schema import Schema
+from pypaimon import CatalogFactory
+from pypaimon import Schema
 
 
 class WriterTest(unittest.TestCase):

Reply via email to