This is an automated email from the ASF dual-hosted git repository.
honahx pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git
The following commit(s) were added to refs/heads/main by this push:
new afdfa351 Imports decouple (#505)
afdfa351 is described below
commit afdfa351119090f09d38ef72857d6303e691f5ad
Author: Andre Luis Anastacio <[email protected]>
AuthorDate: Fri Mar 8 06:11:30 2024 -0300
Imports decouple (#505)
---
pyiceberg/catalog/glue.py | 4 +---
pyiceberg/catalog/hive.py | 4 +---
pyiceberg/catalog/noop.py | 3 +--
pyiceberg/catalog/rest.py | 2 +-
pyiceberg/catalog/sql.py | 4 +---
pyiceberg/expressions/visitors.py | 3 +--
pyiceberg/io/pyarrow.py | 2 +-
pyiceberg/table/__init__.py | 13 +++++++------
tests/catalog/test_base.py | 4 +---
tests/catalog/test_rest.py | 3 ++-
tests/catalog/test_sql.py | 2 +-
tests/expressions/test_parser.py | 2 +-
tests/integration/test_writes.py | 5 +++--
tests/io/test_pyarrow.py | 2 +-
tests/table/test_init.py | 2 +-
tests/table/test_metadata.py | 3 +--
tests/test_schema.py | 2 +-
tests/utils/test_manifest.py | 3 +--
18 files changed, 27 insertions(+), 36 deletions(-)
diff --git a/pyiceberg/catalog/glue.py b/pyiceberg/catalog/glue.py
index bd902cd1..adec150d 100644
--- a/pyiceberg/catalog/glue.py
+++ b/pyiceberg/catalog/glue.py
@@ -46,8 +46,6 @@ from pyiceberg.catalog import (
PREVIOUS_METADATA_LOCATION,
TABLE_TYPE,
Catalog,
- Identifier,
- Properties,
PropertiesUpdateSummary,
)
from pyiceberg.exceptions import (
@@ -67,7 +65,7 @@ from pyiceberg.serializers import FromInputFile
from pyiceberg.table import CommitTableRequest, CommitTableResponse, Table,
update_table_metadata
from pyiceberg.table.metadata import TableMetadata, new_table_metadata
from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder
-from pyiceberg.typedef import EMPTY_DICT
+from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties
from pyiceberg.types import (
BinaryType,
BooleanType,
diff --git a/pyiceberg/catalog/hive.py b/pyiceberg/catalog/hive.py
index c24355f6..18bbcfe0 100644
--- a/pyiceberg/catalog/hive.py
+++ b/pyiceberg/catalog/hive.py
@@ -59,8 +59,6 @@ from pyiceberg.catalog import (
METADATA_LOCATION,
TABLE_TYPE,
Catalog,
- Identifier,
- Properties,
PropertiesUpdateSummary,
)
from pyiceberg.exceptions import (
@@ -79,7 +77,7 @@ from pyiceberg.serializers import FromInputFile
from pyiceberg.table import CommitTableRequest, CommitTableResponse, Table,
TableProperties, update_table_metadata
from pyiceberg.table.metadata import new_table_metadata
from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder
-from pyiceberg.typedef import EMPTY_DICT
+from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties
from pyiceberg.types import (
BinaryType,
BooleanType,
diff --git a/pyiceberg/catalog/noop.py b/pyiceberg/catalog/noop.py
index a8b71546..e294390e 100644
--- a/pyiceberg/catalog/noop.py
+++ b/pyiceberg/catalog/noop.py
@@ -28,10 +28,9 @@ from pyiceberg.schema import Schema
from pyiceberg.table import (
CommitTableRequest,
CommitTableResponse,
- SortOrder,
Table,
)
-from pyiceberg.table.sorting import UNSORTED_SORT_ORDER
+from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder
from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties
if TYPE_CHECKING:
diff --git a/pyiceberg/catalog/rest.py b/pyiceberg/catalog/rest.py
index 79fc37a3..c401339e 100644
--- a/pyiceberg/catalog/rest.py
+++ b/pyiceberg/catalog/rest.py
@@ -65,8 +65,8 @@ from pyiceberg.table import (
CommitTableResponse,
Table,
TableIdentifier,
- TableMetadata,
)
+from pyiceberg.table.metadata import TableMetadata
from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder,
assign_fresh_sort_order_ids
from pyiceberg.typedef import EMPTY_DICT, UTF8, IcebergBaseModel
from pyiceberg.types import transform_dict_value_to_str
diff --git a/pyiceberg/catalog/sql.py b/pyiceberg/catalog/sql.py
index b6b2feee..d44d4996 100644
--- a/pyiceberg/catalog/sql.py
+++ b/pyiceberg/catalog/sql.py
@@ -44,8 +44,6 @@ from sqlalchemy.orm import (
from pyiceberg.catalog import (
METADATA_LOCATION,
Catalog,
- Identifier,
- Properties,
PropertiesUpdateSummary,
)
from pyiceberg.exceptions import (
@@ -64,7 +62,7 @@ from pyiceberg.serializers import FromInputFile
from pyiceberg.table import CommitTableRequest, CommitTableResponse, Table,
update_table_metadata
from pyiceberg.table.metadata import new_table_metadata
from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder
-from pyiceberg.typedef import EMPTY_DICT
+from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties
if TYPE_CHECKING:
import pyarrow as pa
diff --git a/pyiceberg/expressions/visitors.py
b/pyiceberg/expressions/visitors.py
index a185164c..79bc9951 100644
--- a/pyiceberg/expressions/visitors.py
+++ b/pyiceberg/expressions/visitors.py
@@ -54,7 +54,6 @@ from pyiceberg.expressions import (
BoundStartsWith,
BoundTerm,
BoundUnaryPredicate,
- L,
Not,
Or,
UnboundPredicate,
@@ -63,7 +62,7 @@ from pyiceberg.expressions.literals import Literal
from pyiceberg.manifest import DataFile, ManifestFile, PartitionFieldSummary
from pyiceberg.partitioning import PartitionSpec
from pyiceberg.schema import Schema
-from pyiceberg.typedef import EMPTY_DICT, StructProtocol
+from pyiceberg.typedef import EMPTY_DICT, L, StructProtocol
from pyiceberg.types import (
DoubleType,
FloatType,
diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py
index be944ffb..7192513a 100644
--- a/pyiceberg/io/pyarrow.py
+++ b/pyiceberg/io/pyarrow.py
@@ -75,8 +75,8 @@ from pyiceberg.expressions import (
AlwaysTrue,
BooleanExpression,
BoundTerm,
- Literal,
)
+from pyiceberg.expressions.literals import Literal
from pyiceberg.expressions.visitors import (
BoundBooleanExpressionVisitor,
bind,
diff --git a/pyiceberg/table/__init__.py b/pyiceberg/table/__init__.py
index 13e1ac1d..09cb814a 100644
--- a/pyiceberg/table/__init__.py
+++ b/pyiceberg/table/__init__.py
@@ -46,6 +46,8 @@ from pydantic import Field, SerializeAsAny
from sortedcontainers import SortedList
from typing_extensions import Annotated
+import pyiceberg.expressions.parser as parser
+import pyiceberg.expressions.visitors as visitors
from pyiceberg.exceptions import CommitFailedException, ResolveError,
ValidationError
from pyiceberg.expressions import (
AlwaysTrue,
@@ -53,10 +55,7 @@ from pyiceberg.expressions import (
BooleanExpression,
EqualTo,
Reference,
- parser,
- visitors,
)
-from pyiceberg.expressions.visitors import _InclusiveMetricsEvaluator,
inclusive_projection
from pyiceberg.io import FileIO, load_file_io
from pyiceberg.manifest import (
POSITIONAL_DELETE_SCHEMA,
@@ -1379,7 +1378,9 @@ def _match_deletes_to_data_file(data_entry:
ManifestEntry, positional_delete_ent
relevant_entries =
positional_delete_entries[positional_delete_entries.bisect_right(data_entry) :]
if len(relevant_entries) > 0:
- evaluator = _InclusiveMetricsEvaluator(POSITIONAL_DELETE_SCHEMA,
EqualTo("file_path", data_entry.data_file.file_path))
+ evaluator = visitors._InclusiveMetricsEvaluator(
+ POSITIONAL_DELETE_SCHEMA, EqualTo("file_path",
data_entry.data_file.file_path)
+ )
return {
positional_delete_entry.data_file
for positional_delete_entry in relevant_entries
@@ -1403,7 +1404,7 @@ class DataScan(TableScan):
super().__init__(table, row_filter, selected_fields, case_sensitive,
snapshot_id, options, limit)
def _build_partition_projection(self, spec_id: int) -> BooleanExpression:
- project = inclusive_projection(self.table.schema(),
self.table.specs()[spec_id])
+ project = visitors.inclusive_projection(self.table.schema(),
self.table.specs()[spec_id])
return project(self.row_filter)
@cached_property
@@ -1470,7 +1471,7 @@ class DataScan(TableScan):
# this filter depends on the partition spec used to write the manifest
file
partition_evaluators: Dict[int, Callable[[DataFile], bool]] =
KeyDefaultDict(self._build_partition_evaluator)
- metrics_evaluator = _InclusiveMetricsEvaluator(
+ metrics_evaluator = visitors._InclusiveMetricsEvaluator(
self.table.schema(), self.row_filter, self.case_sensitive,
self.options.get("include_empty_files") == "true"
).eval
diff --git a/tests/catalog/test_base.py b/tests/catalog/test_base.py
index 1defb099..1f006078 100644
--- a/tests/catalog/test_base.py
+++ b/tests/catalog/test_base.py
@@ -31,8 +31,6 @@ from pytest_lazyfixture import lazy_fixture
from pyiceberg.catalog import (
Catalog,
- Identifier,
- Properties,
PropertiesUpdateSummary,
)
from pyiceberg.exceptions import (
@@ -58,7 +56,7 @@ from pyiceberg.table import (
from pyiceberg.table.metadata import TableMetadataV1
from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder
from pyiceberg.transforms import IdentityTransform
-from pyiceberg.typedef import EMPTY_DICT
+from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties
from pyiceberg.types import IntegerType, LongType, NestedField
diff --git a/tests/catalog/test_rest.py b/tests/catalog/test_rest.py
index 51bc2862..850e5f01 100644
--- a/tests/catalog/test_rest.py
+++ b/tests/catalog/test_rest.py
@@ -23,7 +23,7 @@ import pytest
from requests_mock import Mocker
import pyiceberg
-from pyiceberg.catalog import PropertiesUpdateSummary, Table, load_catalog
+from pyiceberg.catalog import PropertiesUpdateSummary, load_catalog
from pyiceberg.catalog.rest import AUTH_URL, RestCatalog
from pyiceberg.exceptions import (
AuthorizationExpiredError,
@@ -36,6 +36,7 @@ from pyiceberg.exceptions import (
from pyiceberg.io import load_file_io
from pyiceberg.partitioning import PartitionField, PartitionSpec
from pyiceberg.schema import Schema
+from pyiceberg.table import Table
from pyiceberg.table.metadata import TableMetadataV1
from pyiceberg.table.sorting import SortField, SortOrder
from pyiceberg.transforms import IdentityTransform, TruncateTransform
diff --git a/tests/catalog/test_sql.py b/tests/catalog/test_sql.py
index 0b869d68..3a77f867 100644
--- a/tests/catalog/test_sql.py
+++ b/tests/catalog/test_sql.py
@@ -25,7 +25,6 @@ from pydantic_core import ValidationError
from pytest_lazyfixture import lazy_fixture
from sqlalchemy.exc import ArgumentError, IntegrityError
-from pyiceberg.catalog import Identifier
from pyiceberg.catalog.sql import SqlCatalog
from pyiceberg.exceptions import (
CommitFailedException,
@@ -49,6 +48,7 @@ from pyiceberg.table.sorting import (
SortOrder,
)
from pyiceberg.transforms import IdentityTransform
+from pyiceberg.typedef import Identifier
from pyiceberg.types import IntegerType
diff --git a/tests/expressions/test_parser.py b/tests/expressions/test_parser.py
index 3ce2f222..0bccc9b8 100644
--- a/tests/expressions/test_parser.py
+++ b/tests/expressions/test_parser.py
@@ -17,6 +17,7 @@
import pytest
from pyparsing import ParseException
+import pyiceberg.expressions.parser as parser
from pyiceberg.expressions import (
AlwaysFalse,
AlwaysTrue,
@@ -37,7 +38,6 @@ from pyiceberg.expressions import (
NotStartsWith,
Or,
StartsWith,
- parser,
)
diff --git a/tests/integration/test_writes.py b/tests/integration/test_writes.py
index 3b6d476b..82c4ace7 100644
--- a/tests/integration/test_writes.py
+++ b/tests/integration/test_writes.py
@@ -32,11 +32,12 @@ from pydantic_core import ValidationError
from pyspark.sql import SparkSession
from pytest_mock.plugin import MockerFixture
-from pyiceberg.catalog import Catalog, Properties, Table
+from pyiceberg.catalog import Catalog
from pyiceberg.catalog.sql import SqlCatalog
from pyiceberg.exceptions import NoSuchTableError
from pyiceberg.schema import Schema
-from pyiceberg.table import _dataframe_to_data_files
+from pyiceberg.table import Table, _dataframe_to_data_files
+from pyiceberg.typedef import Properties
from pyiceberg.types import (
BinaryType,
BooleanType,
diff --git a/tests/io/test_pyarrow.py b/tests/io/test_pyarrow.py
index a3dd56db..2acffdfd 100644
--- a/tests/io/test_pyarrow.py
+++ b/tests/io/test_pyarrow.py
@@ -53,8 +53,8 @@ from pyiceberg.expressions import (
GreaterThan,
Not,
Or,
- literal,
)
+from pyiceberg.expressions.literals import literal
from pyiceberg.io import InputStream, OutputStream, load_file_io
from pyiceberg.io.pyarrow import (
ICEBERG_SCHEMA,
diff --git a/tests/table/test_init.py b/tests/table/test_init.py
index b8097f5f..f7342115 100644
--- a/tests/table/test_init.py
+++ b/tests/table/test_init.py
@@ -57,7 +57,6 @@ from pyiceberg.table import (
SetDefaultSortOrderUpdate,
SetPropertiesUpdate,
SetSnapshotRefUpdate,
- SnapshotRef,
StaticTable,
Table,
UpdateSchema,
@@ -68,6 +67,7 @@ from pyiceberg.table import (
update_table_metadata,
)
from pyiceberg.table.metadata import INITIAL_SEQUENCE_NUMBER,
TableMetadataUtil, TableMetadataV2, _generate_snapshot_id
+from pyiceberg.table.refs import SnapshotRef
from pyiceberg.table.snapshots import (
Operation,
Snapshot,
diff --git a/tests/table/test_metadata.py b/tests/table/test_metadata.py
index c05700ec..0cf17b11 100644
--- a/tests/table/test_metadata.py
+++ b/tests/table/test_metadata.py
@@ -29,7 +29,6 @@ from pyiceberg.exceptions import ValidationError
from pyiceberg.partitioning import PartitionField, PartitionSpec
from pyiceberg.schema import Schema
from pyiceberg.serializers import FromByteStream
-from pyiceberg.table import SortOrder
from pyiceberg.table.metadata import (
TableMetadataUtil,
TableMetadataV1,
@@ -37,7 +36,7 @@ from pyiceberg.table.metadata import (
new_table_metadata,
)
from pyiceberg.table.refs import SnapshotRef, SnapshotRefType
-from pyiceberg.table.sorting import NullOrder, SortDirection, SortField
+from pyiceberg.table.sorting import NullOrder, SortDirection, SortField,
SortOrder
from pyiceberg.transforms import IdentityTransform
from pyiceberg.typedef import UTF8
from pyiceberg.types import (
diff --git a/tests/test_schema.py b/tests/test_schema.py
index 6394b72b..7e10dd5b 100644
--- a/tests/test_schema.py
+++ b/tests/test_schema.py
@@ -23,8 +23,8 @@ import pytest
from pyiceberg import schema
from pyiceberg.exceptions import ResolveError, ValidationError
-from pyiceberg.expressions import Accessor
from pyiceberg.schema import (
+ Accessor,
Schema,
build_position_accessors,
promote,
diff --git a/tests/utils/test_manifest.py b/tests/utils/test_manifest.py
index 6ef11a47..3e789cb8 100644
--- a/tests/utils/test_manifest.py
+++ b/tests/utils/test_manifest.py
@@ -37,8 +37,7 @@ from pyiceberg.manifest import (
)
from pyiceberg.partitioning import PartitionField, PartitionSpec
from pyiceberg.schema import Schema
-from pyiceberg.table import Snapshot
-from pyiceberg.table.snapshots import Operation, Summary
+from pyiceberg.table.snapshots import Operation, Snapshot, Summary
from pyiceberg.transforms import IdentityTransform
from pyiceberg.typedef import Record
from pyiceberg.types import IntegerType, NestedField