Skip to content

Commit

Permalink
Ensure IOConfig imports are guarded by TYPE_CHECKING to avoid circula…
Browse files Browse the repository at this point in the history
…r imports
  • Loading branch information
Jay Chia committed Jul 25, 2023
1 parent 8d7a0ff commit e118673
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 7 deletions.
4 changes: 3 additions & 1 deletion daft/datasources.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
import sys
from dataclasses import dataclass
from enum import Enum
from typing import TYPE_CHECKING

from daft.io import IOConfig
if TYPE_CHECKING:
from daft.io import IOConfig

Check warning on line 9 in daft/datasources.py

View check run for this annotation

Codecov / codecov/patch

daft/datasources.py#L9

Added line #L9 was not covered by tests

if sys.version_info < (3, 8):
from typing_extensions import Protocol
Expand Down
8 changes: 5 additions & 3 deletions daft/io/parquet.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
# isort: dont-add-import: from __future__ import annotations

from typing import Dict, List, Optional, Union
from typing import TYPE_CHECKING, Dict, List, Optional, Union

import fsspec

from daft.api_annotations import PublicAPI
from daft.dataframe import DataFrame
from daft.datasources import ParquetSourceInfo
from daft.datatype import DataType
from daft.io import IOConfig
from daft.io.common import _get_tabular_files_scan

if TYPE_CHECKING:
from daft.io import IOConfig

Check warning on line 14 in daft/io/parquet.py

View check run for this annotation

Codecov / codecov/patch

daft/io/parquet.py#L14

Added line #L14 was not covered by tests


@PublicAPI
def read_parquet(
path: Union[str, List[str]],
schema_hints: Optional[Dict[str, DataType]] = None,
fs: Optional[fsspec.AbstractFileSystem] = None,
io_config: Optional[IOConfig] = None,
io_config: Optional["IOConfig"] = None,
use_native_downloader: bool = False,
) -> DataFrame:
"""Creates a DataFrame from Parquet file(s)
Expand Down
3 changes: 2 additions & 1 deletion daft/table/schema_inference.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

from daft.datatype import DataType
from daft.filesystem import _resolve_paths_and_filesystem
from daft.io import IOConfig
from daft.logical.schema import Schema
from daft.runners.partitioning import TableParseCSVOptions
from daft.table import Table
Expand All @@ -18,6 +17,8 @@
if TYPE_CHECKING:
import fsspec

from daft.io import IOConfig

Check warning on line 20 in daft/table/schema_inference.py

View check run for this annotation

Codecov / codecov/patch

daft/table/schema_inference.py#L20

Added line #L20 was not covered by tests


def from_csv(
file: FileInput,
Expand Down
6 changes: 4 additions & 2 deletions daft/table/table_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import contextlib
import pathlib
from collections.abc import Generator
from typing import IO, Union
from typing import IO, TYPE_CHECKING, Union
from uuid import uuid4

import fsspec
Expand All @@ -16,11 +16,13 @@

from daft.expressions import ExpressionsProjection
from daft.filesystem import _resolve_paths_and_filesystem
from daft.io import IOConfig
from daft.logical.schema import Schema
from daft.runners.partitioning import TableParseCSVOptions, TableReadOptions
from daft.table import Table

if TYPE_CHECKING:
from daft.io import IOConfig

Check warning on line 24 in daft/table/table_io.py

View check run for this annotation

Codecov / codecov/patch

daft/table/table_io.py#L24

Added line #L24 was not covered by tests

FileInput = Union[pathlib.Path, str, IO[bytes]]


Expand Down

0 comments on commit e118673

Please sign in to comment.