feat: Add cloud_function_cpus option to remote_function (#2475) · googleapis/python-bigquery-dataframes@4caf74c · GitHub
Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 4caf74c

Browse files
feat: Add cloud_function_cpus option to remote_function (#2475)
1 parent cb00daa commit 4caf74c

5 files changed

Lines changed: 120 additions & 17 deletions

File tree

bigframes/functions/_function_client.py

Lines changed: 67 additions & 1 deletion

bigframes/functions/_function_session.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,8 @@ def remote_function(
248248
cloud_function_vpc_connector_egress_settings: Optional[
249249
Literal["all", "private-ranges-only", "unspecified"]
250250
] = None,
251-
cloud_function_memory_mib: Optional[int] = 1024,
251+
cloud_function_memory_mib: Optional[int] = None,
252+
cloud_function_cpus: Optional[float] = None,
252253
cloud_function_ingress_settings: Literal[
253254
"all", "internal-only", "internal-and-gclb"
254255
] = "internal-only",
@@ -444,6 +445,10 @@ def remote_function(
444445
default memory of cloud functions be allocated, pass `None`. See
445446
for more details
446447
https://cloud.google.com/functions/docs/configuring/memory.
448+
cloud_function_cpus (float, Optional):
449+
The number of cpus to allocate for the cloud
450+
function (2nd gen) created.
451+
https://docs.cloud.google.com/run/docs/configuring/services/cpu.
447452
cloud_function_ingress_settings (str, Optional):
448453
Ingress settings controls dictating what traffic can reach the
449454
function. Options are: `all`, `internal-only`, or `internal-and-gclb`.
@@ -638,6 +643,7 @@ def wrapper(func):
638643
cloud_function_vpc_connector=cloud_function_vpc_connector,
639644
cloud_function_vpc_connector_egress_settings=cloud_function_vpc_connector_egress_settings,
640645
cloud_function_memory_mib=cloud_function_memory_mib,
646+
cloud_function_cpus=cloud_function_cpus,
641647
cloud_function_ingress_settings=cloud_function_ingress_settings,
642648
bq_metadata=bqrf_metadata,
643649
)

bigframes/pandas/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ def remote_function(
8888
cloud_function_vpc_connector_egress_settings: Optional[
8989
Literal["all", "private-ranges-only", "unspecified"]
9090
] = None,
91-
cloud_function_memory_mib: Optional[int] = 1024,
91+
cloud_function_memory_mib: Optional[int] = None,
92+
cloud_function_cpus: Optional[float] = None,
9293
cloud_function_ingress_settings: Literal[
9394
"all", "internal-only", "internal-and-gclb"
9495
] = "internal-only",
@@ -112,6 +113,7 @@ def remote_function(
112113
cloud_function_vpc_connector=cloud_function_vpc_connector,
113114
cloud_function_vpc_connector_egress_settings=cloud_function_vpc_connector_egress_settings,
114115
cloud_function_memory_mib=cloud_function_memory_mib,
116+
cloud_function_cpus=cloud_function_cpus,
115117
cloud_function_ingress_settings=cloud_function_ingress_settings,
116118
cloud_build_service_account=cloud_build_service_account,
117119
)

bigframes/session/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1536,7 +1536,8 @@ def remote_function(
15361536
cloud_function_vpc_connector_egress_settings: Optional[
15371537
Literal["all", "private-ranges-only", "unspecified"]
15381538
] = None,
1539-
cloud_function_memory_mib: Optional[int] = 1024,
1539+
cloud_function_memory_mib: Optional[int] = None,
1540+
cloud_function_cpus: Optional[float] = None,
15401541
cloud_function_ingress_settings: Literal[
15411542
"all", "internal-only", "internal-and-gclb"
15421543
] = "internal-only",
@@ -1717,6 +1718,10 @@ def remote_function(
17171718
default memory of cloud functions be allocated, pass `None`. See
17181719
for more details
17191720
https://cloud.google.com/functions/docs/configuring/memory.
1721+
cloud_function_cpus (float, Optional):
1722+
The number of cpus to allocate for the cloud
1723+
function (2nd gen) created.
1724+
https://docs.cloud.google.com/run/docs/configuring/services/cpu.
17201725
cloud_function_ingress_settings (str, Optional):
17211726
Ingress settings controls dictating what traffic can reach the
17221727
function. Options are: `all`, `internal-only`, or `internal-and-gclb`.
@@ -1767,6 +1772,7 @@ def remote_function(
17671772
cloud_function_vpc_connector=cloud_function_vpc_connector,
17681773
cloud_function_vpc_connector_egress_settings=cloud_function_vpc_connector_egress_settings,
17691774
cloud_function_memory_mib=cloud_function_memory_mib,
1775+
cloud_function_cpus=cloud_function_cpus,
17701776
cloud_function_ingress_settings=cloud_function_ingress_settings,
17711777
cloud_build_service_account=cloud_build_service_account,
17721778
)

tests/system/large/functions/test_remote_function.py

Lines changed: 36 additions & 13 deletions

0 commit comments

Comments
 (0)