|
20 | 20 |
|
21 | 21 | from typing import Optional, TypeVar, cast |
22 | 22 |
|
23 | | -import bigframes.extensions.core.series_accessor as core_accessor |
24 | | -import bigframes.series |
25 | | -import bigframes.session |
| 23 | +from bigframes import dataframe, series, session |
26 | 24 | from bigframes.core.logging import log_adapter |
| 25 | +from bigframes.extensions.core import series_accessor as core_accessor |
27 | 26 |
|
28 | | -S = TypeVar("S", bound="bigframes.series.Series") |
| 27 | +T = TypeVar("T", bound="dataframe.DataFrame") |
| 28 | +S = TypeVar("S", bound="series.Series") |
29 | 29 |
|
30 | 30 |
|
31 | 31 | @log_adapter.class_logger |
32 | | -class BigframesBigQuerySeriesAccessor(core_accessor.BigQuerySeriesAccessor[S]): |
| 32 | +class BigframesBigQuerySeriesAccessor(core_accessor.BigQuerySeriesAccessor[T, S]): |
33 | 33 | def __init__(self, bf_obj: S): |
34 | 34 | super().__init__(bf_obj) |
35 | 35 |
|
36 | 36 | def _bf_from_series( |
37 | | - self, session: Optional[bigframes.session.Session] = None |
38 | | - ) -> bigframes.series.Series: |
| 37 | + self, session: Optional[session.Session] = None |
| 38 | + ) -> series.Series: |
39 | 39 | return self._obj |
40 | 40 |
|
41 | | - def _to_series(self, bf_series: bigframes.series.Series) -> S: |
| 41 | + def _to_dataframe(self, bf_df: dataframe.DataFrame) -> T: |
| 42 | + return cast(T, bf_df) |
| 43 | + |
| 44 | + def _to_series(self, bf_series: series.Series) -> S: |
42 | 45 | return cast(S, bf_series) |
43 | 46 |
|
44 | 47 | @property |
45 | | - def aead(self) -> BigframesAeadSeriesAccessor[S]: |
| 48 | + def ai(self) -> BigframesAiSeriesAccessor[T, S]: |
| 49 | + return BigframesAiSeriesAccessor(self._obj) |
| 50 | + |
| 51 | + @property |
| 52 | + def aead(self) -> BigframesAeadSeriesAccessor[T, S]: |
46 | 53 | return BigframesAeadSeriesAccessor(self._obj) |
47 | 54 |
|
48 | 55 |
|
49 | 56 | @log_adapter.class_logger |
50 | | -class BigframesAeadSeriesAccessor(core_accessor.AeadSeriesAccessor[S]): |
| 57 | +class BigframesAiSeriesAccessor(core_accessor.AiSeriesAccessor[T, S]): |
51 | 58 | def __init__(self, bf_obj: S): |
52 | 59 | super().__init__(bf_obj) |
53 | 60 |
|
54 | 61 | def _bf_from_series( |
55 | | - self, session: Optional[bigframes.session.Session] = None |
56 | | - ) -> bigframes.series.Series: |
| 62 | + self, session: Optional[session.Session] = None |
| 63 | + ) -> series.Series: |
57 | 64 | return self._obj |
58 | 65 |
|
59 | | - def _to_series(self, bf_series: bigframes.series.Series) -> S: |
| 66 | + def _to_dataframe(self, bf_df: dataframe.DataFrame) -> T: |
| 67 | + return cast(T, bf_df) |
| 68 | + |
| 69 | + def _to_series(self, bf_series: series.Series) -> S: |
| 70 | + return cast(S, bf_series) |
| 71 | + |
| 72 | + |
| 73 | +@log_adapter.class_logger |
| 74 | +class BigframesAeadSeriesAccessor(core_accessor.AeadSeriesAccessor[T, S]): |
| 75 | + def __init__(self, bf_obj: S): |
| 76 | + super().__init__(bf_obj) |
| 77 | + |
| 78 | + def _bf_from_series( |
| 79 | + self, session: Optional[session.Session] = None |
| 80 | + ) -> series.Series: |
| 81 | + return self._obj |
| 82 | + |
| 83 | + def _to_dataframe(self, bf_df: dataframe.DataFrame) -> T: |
| 84 | + return cast(T, bf_df) |
| 85 | + |
| 86 | + def _to_series(self, bf_series: series.Series) -> S: |
60 | 87 | return cast(S, bf_series) |
0 commit comments