Skip to content

Commit 9ec116a

Browse files
rename expression_types.py to agg_expressions.py
1 parent 6d02dbc commit 9ec116a

File tree

22 files changed

+116
-114
lines changed

22 files changed

+116
-114
lines changed

bigframes/core/array_value.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import pandas
2525
import pyarrow as pa
2626

27-
from bigframes.core import expression_types
27+
from bigframes.core import agg_expressions
2828
import bigframes.core.expression as ex
2929
import bigframes.core.guid
3030
import bigframes.core.identifiers as ids
@@ -191,7 +191,7 @@ def row_count(self) -> ArrayValue:
191191
child=self.node,
192192
aggregations=(
193193
(
194-
expression_types.NullaryAggregation(agg_ops.size_op),
194+
agg_expressions.NullaryAggregation(agg_ops.size_op),
195195
ids.ColumnId(bigframes.core.guid.generate_guid()),
196196
),
197197
),
@@ -380,7 +380,7 @@ def drop_columns(self, columns: Iterable[str]) -> ArrayValue:
380380

381381
def aggregate(
382382
self,
383-
aggregations: typing.Sequence[typing.Tuple[expression_types.Aggregation, str]],
383+
aggregations: typing.Sequence[typing.Tuple[agg_expressions.Aggregation, str]],
384384
by_column_ids: typing.Sequence[str] = (),
385385
dropna: bool = True,
386386
) -> ArrayValue:
@@ -421,15 +421,15 @@ def project_window_op(
421421
"""
422422

423423
return self.project_window_expr(
424-
expression_types.UnaryAggregation(op, ex.deref(column_name)),
424+
agg_expressions.UnaryAggregation(op, ex.deref(column_name)),
425425
window_spec,
426426
never_skip_nulls,
427427
skip_reproject_unsafe,
428428
)
429429

430430
def project_window_expr(
431431
self,
432-
expression: expression_types.Aggregation,
432+
expression: agg_expressions.Aggregation,
433433
window: WindowSpec,
434434
never_skip_nulls=False,
435435
skip_reproject_unsafe: bool = False,

bigframes/core/block_transforms.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import pandas as pd
2222

2323
import bigframes.constants
24-
from bigframes.core import expression_types
24+
from bigframes.core import agg_expressions
2525
import bigframes.core as core
2626
import bigframes.core.blocks as blocks
2727
import bigframes.core.expression as ex
@@ -133,7 +133,7 @@ def quantile(
133133
block, _ = block.aggregate(
134134
grouping_column_ids,
135135
tuple(
136-
expression_types.UnaryAggregation(agg_ops.AnyValueOp(), ex.deref(col))
136+
agg_expressions.UnaryAggregation(agg_ops.AnyValueOp(), ex.deref(col))
137137
for col in quantile_cols
138138
),
139139
column_labels=pd.Index(labels),
@@ -363,7 +363,7 @@ def value_counts(
363363
block = dropna(block, columns, how="any")
364364
block, agg_ids = block.aggregate(
365365
by_column_ids=(*grouping_keys, *columns),
366-
aggregations=[expression_types.NullaryAggregation(agg_ops.size_op)],
366+
aggregations=[agg_expressions.NullaryAggregation(agg_ops.size_op)],
367367
dropna=drop_na and not grouping_keys,
368368
)
369369
count_id = agg_ids[0]
@@ -647,15 +647,15 @@ def skew(
647647
# counts, moment3 for each column
648648
aggregations = []
649649
for i, col in enumerate(original_columns):
650-
count_agg = expression_types.UnaryAggregation(
650+
count_agg = agg_expressions.UnaryAggregation(
651651
agg_ops.count_op,
652652
ex.deref(col),
653653
)
654-
moment3_agg = expression_types.UnaryAggregation(
654+
moment3_agg = agg_expressions.UnaryAggregation(
655655
agg_ops.mean_op,
656656
ex.deref(delta3_ids[i]),
657657
)
658-
variance_agg = expression_types.UnaryAggregation(
658+
variance_agg = agg_expressions.UnaryAggregation(
659659
agg_ops.PopVarOp(),
660660
ex.deref(col),
661661
)
@@ -698,11 +698,11 @@ def kurt(
698698
# counts, moment4 for each column
699699
aggregations = []
700700
for i, col in enumerate(original_columns):
701-
count_agg = expression_types.UnaryAggregation(agg_ops.count_op, ex.deref(col))
702-
moment4_agg = expression_types.UnaryAggregation(
701+
count_agg = agg_expressions.UnaryAggregation(agg_ops.count_op, ex.deref(col))
702+
moment4_agg = agg_expressions.UnaryAggregation(
703703
agg_ops.mean_op, ex.deref(delta4_ids[i])
704704
)
705-
variance_agg = expression_types.UnaryAggregation(
705+
variance_agg = agg_expressions.UnaryAggregation(
706706
agg_ops.PopVarOp(), ex.deref(col)
707707
)
708708
aggregations.extend([count_agg, moment4_agg, variance_agg])

bigframes/core/blocks.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@
5151
from bigframes import session
5252
from bigframes._config import sampling_options
5353
import bigframes.constants
54-
from bigframes.core import expression_types, local_data
54+
from bigframes.core import agg_expressions, local_data
5555
import bigframes.core as core
56+
import bigframes.core.agg_expressions as ex_types
5657
import bigframes.core.compile.googlesql as googlesql
5758
import bigframes.core.expression as ex
5859
import bigframes.core.expression as scalars
59-
import bigframes.core.expression_types as ex_types
6060
import bigframes.core.guid as guid
6161
import bigframes.core.identifiers
6262
import bigframes.core.join_def as join_defs
@@ -1144,7 +1144,7 @@ def apply_window_op(
11441144
skip_reproject_unsafe: bool = False,
11451145
never_skip_nulls: bool = False,
11461146
) -> typing.Tuple[Block, str]:
1147-
agg_expr = expression_types.UnaryAggregation(op, ex.deref(column))
1147+
agg_expr = agg_expressions.UnaryAggregation(op, ex.deref(column))
11481148
return self.apply_analytic(
11491149
agg_expr,
11501150
window_spec,
@@ -1156,7 +1156,7 @@ def apply_window_op(
11561156

11571157
def apply_analytic(
11581158
self,
1159-
agg_expr: expression_types.Aggregation,
1159+
agg_expr: agg_expressions.Aggregation,
11601160
window: windows.WindowSpec,
11611161
result_label: Label,
11621162
*,
@@ -1249,9 +1249,9 @@ def aggregate_all_and_stack(
12491249
if axis_n == 0:
12501250
aggregations = [
12511251
(
1252-
expression_types.UnaryAggregation(operation, ex.deref(col_id))
1252+
agg_expressions.UnaryAggregation(operation, ex.deref(col_id))
12531253
if isinstance(operation, agg_ops.UnaryAggregateOp)
1254-
else expression_types.NullaryAggregation(operation),
1254+
else agg_expressions.NullaryAggregation(operation),
12551255
col_id,
12561256
)
12571257
for col_id in self.value_columns
@@ -1281,7 +1281,7 @@ def aggregate_size(
12811281
"""Returns a block object to compute the size(s) of groups."""
12821282
agg_specs = [
12831283
(
1284-
expression_types.NullaryAggregation(agg_ops.SizeOp()),
1284+
agg_expressions.NullaryAggregation(agg_ops.SizeOp()),
12851285
guid.generate_guid(),
12861286
),
12871287
]
@@ -1354,7 +1354,7 @@ def remap_f(x):
13541354
def aggregate(
13551355
self,
13561356
by_column_ids: typing.Sequence[str] = (),
1357-
aggregations: typing.Sequence[expression_types.Aggregation] = (),
1357+
aggregations: typing.Sequence[agg_expressions.Aggregation] = (),
13581358
column_labels: Optional[pd.Index] = None,
13591359
*,
13601360
dropna: bool = True,
@@ -1423,9 +1423,9 @@ def get_stat(
14231423

14241424
aggregations = [
14251425
(
1426-
expression_types.UnaryAggregation(stat, ex.deref(column_id))
1426+
agg_expressions.UnaryAggregation(stat, ex.deref(column_id))
14271427
if isinstance(stat, agg_ops.UnaryAggregateOp)
1428-
else expression_types.NullaryAggregation(stat),
1428+
else agg_expressions.NullaryAggregation(stat),
14291429
stat.name,
14301430
)
14311431
for stat in stats_to_fetch
@@ -1451,7 +1451,7 @@ def get_binary_stat(
14511451
# TODO(kemppeterson): Add a cache here.
14521452
aggregations = [
14531453
(
1454-
expression_types.BinaryAggregation(
1454+
agg_expressions.BinaryAggregation(
14551455
stat, ex.deref(column_id_left), ex.deref(column_id_right)
14561456
),
14571457
f"{stat.name}_{column_id_left}{column_id_right}",
@@ -1478,9 +1478,9 @@ def summarize(
14781478
labels = pd.Index([stat.name for stat in stats])
14791479
aggregations = [
14801480
(
1481-
expression_types.UnaryAggregation(stat, ex.deref(col_id))
1481+
agg_expressions.UnaryAggregation(stat, ex.deref(col_id))
14821482
if isinstance(stat, agg_ops.UnaryAggregateOp)
1483-
else expression_types.NullaryAggregation(stat),
1483+
else agg_expressions.NullaryAggregation(stat),
14841484
f"{col_id}-{stat.name}",
14851485
)
14861486
for stat in stats
@@ -1754,7 +1754,7 @@ def pivot(
17541754

17551755
block = block.select_columns(column_ids)
17561756
aggregations = [
1757-
expression_types.UnaryAggregation(agg_ops.AnyValueOp(), ex.deref(col_id))
1757+
agg_expressions.UnaryAggregation(agg_ops.AnyValueOp(), ex.deref(col_id))
17581758
for col_id in column_ids
17591759
]
17601760
result_block, _ = block.aggregate(
@@ -2022,7 +2022,7 @@ def _generate_resample_label(
20222022

20232023
agg_specs = [
20242024
(
2025-
expression_types.UnaryAggregation(agg_ops.min_op, ex.deref(col_id)),
2025+
agg_expressions.UnaryAggregation(agg_ops.min_op, ex.deref(col_id)),
20262026
guid.generate_guid(),
20272027
),
20282028
]

bigframes/core/compile/compiled.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@
3030
import pyarrow as pa
3131

3232
from bigframes.core import utils
33+
import bigframes.core.agg_expressions as ex_types
3334
import bigframes.core.compile.googlesql
3435
import bigframes.core.compile.ibis_compiler.aggregate_compiler as agg_compiler
3536
import bigframes.core.compile.ibis_compiler.scalar_op_compiler as op_compilers
3637
import bigframes.core.compile.ibis_types
3738
import bigframes.core.expression as ex
38-
import bigframes.core.expression_types as ex_types
3939
from bigframes.core.ordering import OrderingExpression
4040
import bigframes.core.sql
4141
from bigframes.core.window_spec import RangeWindowBounds, RowsWindowBounds, WindowSpec

bigframes/core/compile/ibis_compiler/aggregate_compiler.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import bigframes_vendored.ibis.expr.types as ibis_types
2727
import pandas as pd
2828

29-
from bigframes.core import expression_types
29+
from bigframes.core import agg_expressions
3030
from bigframes.core.compile import constants as compiler_constants
3131
import bigframes.core.compile.ibis_compiler.scalar_op_compiler as scalar_compilers
3232
import bigframes.core.compile.ibis_types as compile_ibis_types
@@ -48,19 +48,19 @@ def approx_quantiles(expression: float, number) -> List[float]:
4848

4949

5050
def compile_aggregate(
51-
aggregate: expression_types.Aggregation,
51+
aggregate: agg_expressions.Aggregation,
5252
bindings: typing.Dict[str, ibis_types.Value],
5353
order_by: typing.Sequence[ibis_types.Value] = [],
5454
) -> ibis_types.Value:
55-
if isinstance(aggregate, expression_types.NullaryAggregation):
55+
if isinstance(aggregate, agg_expressions.NullaryAggregation):
5656
return compile_nullary_agg(aggregate.op)
57-
if isinstance(aggregate, expression_types.UnaryAggregation):
57+
if isinstance(aggregate, agg_expressions.UnaryAggregation):
5858
input = scalar_compiler.compile_expression(aggregate.arg, bindings=bindings)
5959
if not aggregate.op.order_independent:
6060
return compile_ordered_unary_agg(aggregate.op, input, order_by=order_by) # type: ignore
6161
else:
6262
return compile_unary_agg(aggregate.op, input) # type: ignore
63-
elif isinstance(aggregate, expression_types.BinaryAggregation):
63+
elif isinstance(aggregate, agg_expressions.BinaryAggregation):
6464
left = scalar_compiler.compile_expression(aggregate.left, bindings=bindings)
6565
right = scalar_compiler.compile_expression(aggregate.right, bindings=bindings)
6666
return compile_binary_agg(aggregate.op, left, right) # type: ignore
@@ -69,16 +69,16 @@ def compile_aggregate(
6969

7070

7171
def compile_analytic(
72-
aggregate: expression_types.Aggregation,
72+
aggregate: agg_expressions.Aggregation,
7373
window: window_spec.WindowSpec,
7474
bindings: typing.Dict[str, ibis_types.Value],
7575
) -> ibis_types.Value:
76-
if isinstance(aggregate, expression_types.NullaryAggregation):
76+
if isinstance(aggregate, agg_expressions.NullaryAggregation):
7777
return compile_nullary_agg(aggregate.op, window)
78-
elif isinstance(aggregate, expression_types.UnaryAggregation):
78+
elif isinstance(aggregate, agg_expressions.UnaryAggregation):
7979
input = scalar_compiler.compile_expression(aggregate.arg, bindings=bindings)
8080
return compile_unary_agg(aggregate.op, input, window) # type: ignore
81-
elif isinstance(aggregate, expression_types.BinaryAggregation):
81+
elif isinstance(aggregate, agg_expressions.BinaryAggregation):
8282
raise NotImplementedError("binary analytic operations not yet supported")
8383
else:
8484
raise ValueError(f"Unexpected analytic operation: {aggregate}")

bigframes/core/compile/polars/compiler.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import pandas as pd
2323

2424
import bigframes.core
25-
from bigframes.core import expression_types, identifiers, nodes, ordering, window_spec
25+
from bigframes.core import agg_expressions, identifiers, nodes, ordering, window_spec
2626
from bigframes.core.compile.polars import lowering
2727
import bigframes.core.expression as ex
2828
import bigframes.core.guid as guid
@@ -443,15 +443,15 @@ class PolarsAggregateCompiler:
443443

444444
def get_args(
445445
self,
446-
agg: expression_types.Aggregation,
446+
agg: agg_expressions.Aggregation,
447447
) -> Sequence[pl.Expr]:
448448
"""Prepares arguments for aggregation by compiling them."""
449-
if isinstance(agg, expression_types.NullaryAggregation):
449+
if isinstance(agg, agg_expressions.NullaryAggregation):
450450
return []
451-
elif isinstance(agg, expression_types.UnaryAggregation):
451+
elif isinstance(agg, agg_expressions.UnaryAggregation):
452452
arg = self.scalar_compiler.compile_expression(agg.arg)
453453
return [arg]
454-
elif isinstance(agg, expression_types.BinaryAggregation):
454+
elif isinstance(agg, agg_expressions.BinaryAggregation):
455455
larg = self.scalar_compiler.compile_expression(agg.left)
456456
rarg = self.scalar_compiler.compile_expression(agg.right)
457457
return [larg, rarg]
@@ -460,13 +460,13 @@ def get_args(
460460
f"Aggregation {agg} not yet supported in polars engine."
461461
)
462462

463-
def compile_agg_expr(self, expr: expression_types.Aggregation):
464-
if isinstance(expr, expression_types.NullaryAggregation):
463+
def compile_agg_expr(self, expr: agg_expressions.Aggregation):
464+
if isinstance(expr, agg_expressions.NullaryAggregation):
465465
inputs: Tuple = ()
466-
elif isinstance(expr, expression_types.UnaryAggregation):
466+
elif isinstance(expr, agg_expressions.UnaryAggregation):
467467
assert isinstance(expr.arg, ex.DerefOp)
468468
inputs = (expr.arg.id.sql,)
469-
elif isinstance(expr, expression_types.BinaryAggregation):
469+
elif isinstance(expr, agg_expressions.BinaryAggregation):
470470
assert isinstance(expr.left, ex.DerefOp)
471471
assert isinstance(expr.right, ex.DerefOp)
472472
inputs = (
@@ -770,7 +770,7 @@ def _aggregate(
770770
self,
771771
df: pl.LazyFrame,
772772
aggregations: Sequence[
773-
Tuple[expression_types.Aggregation, identifiers.ColumnId]
773+
Tuple[agg_expressions.Aggregation, identifiers.ColumnId]
774774
],
775775
grouping_keys: Tuple[ex.DerefOp, ...],
776776
) -> pl.LazyFrame:
@@ -860,7 +860,7 @@ def compile_window(self, node: nodes.WindowOpNode):
860860
def _calc_row_analytic_func(
861861
self,
862862
frame: pl.LazyFrame,
863-
agg_expr: expression_types.Aggregation,
863+
agg_expr: agg_expressions.Aggregation,
864864
window: window_spec.WindowSpec,
865865
name: str,
866866
) -> pl.LazyFrame:

0 commit comments

Comments
 (0)