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):