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

Reply via email to