1*14675a02SAndroid Build Coastguard Worker# Copyright 2022 Google LLC 2*14675a02SAndroid Build Coastguard Worker# 3*14675a02SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*14675a02SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*14675a02SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*14675a02SAndroid Build Coastguard Worker# 7*14675a02SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*14675a02SAndroid Build Coastguard Worker# 9*14675a02SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*14675a02SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*14675a02SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*14675a02SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*14675a02SAndroid Build Coastguard Worker# limitations under the License. 14*14675a02SAndroid Build Coastguard Worker 15*14675a02SAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library", "py_test") 16*14675a02SAndroid Build Coastguard Worker 17*14675a02SAndroid Build Coastguard Worker# The public interface for this package, providing the various Federated Program platform 18*14675a02SAndroid Build Coastguard Worker# components needed to run a Federated Program using Federated Compute clients. 19*14675a02SAndroid Build Coastguard Workerpy_library( 20*14675a02SAndroid Build Coastguard Worker name = "demo", 21*14675a02SAndroid Build Coastguard Worker srcs = ["__init__.py"], 22*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 23*14675a02SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 24*14675a02SAndroid Build Coastguard Worker deps = [ 25*14675a02SAndroid Build Coastguard Worker ":federated_computation", 26*14675a02SAndroid Build Coastguard Worker ":federated_context", 27*14675a02SAndroid Build Coastguard Worker ":federated_data_source", 28*14675a02SAndroid Build Coastguard Worker ], 29*14675a02SAndroid Build Coastguard Worker) 30*14675a02SAndroid Build Coastguard Worker 31*14675a02SAndroid Build Coastguard Workerpy_library( 32*14675a02SAndroid Build Coastguard Worker name = "aggregations", 33*14675a02SAndroid Build Coastguard Worker srcs = ["aggregations.py"], 34*14675a02SAndroid Build Coastguard Worker data = ["@pybind11_abseil//pybind11_abseil:status.so"], 35*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 36*14675a02SAndroid Build Coastguard Worker deps = [ 37*14675a02SAndroid Build Coastguard Worker ":http_actions", 38*14675a02SAndroid Build Coastguard Worker ":media", 39*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/protocol:configuration_py_pb2", 40*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/protocol:py_pb2", 41*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/protocol/python:aggregation_protocol", 42*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/tensorflow/python:aggregation_protocols", 43*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 44*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 45*14675a02SAndroid Build Coastguard Worker "@com_google_googleapis//google/rpc:code_py_proto", 46*14675a02SAndroid Build Coastguard Worker "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto", 47*14675a02SAndroid Build Coastguard Worker ], 48*14675a02SAndroid Build Coastguard Worker) 49*14675a02SAndroid Build Coastguard Worker 50*14675a02SAndroid Build Coastguard Workerpy_test( 51*14675a02SAndroid Build Coastguard Worker name = "aggregations_test", 52*14675a02SAndroid Build Coastguard Worker srcs = ["aggregations_test.py"], 53*14675a02SAndroid Build Coastguard Worker data = ["@pybind11_abseil//pybind11_abseil:status.so"], 54*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 55*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 56*14675a02SAndroid Build Coastguard Worker deps = [ 57*14675a02SAndroid Build Coastguard Worker ":aggregations", 58*14675a02SAndroid Build Coastguard Worker ":http_actions", 59*14675a02SAndroid Build Coastguard Worker ":media", 60*14675a02SAndroid Build Coastguard Worker ":test_utils", 61*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/protocol:py_pb2", 62*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/protocol/python:aggregation_protocol", 63*14675a02SAndroid Build Coastguard Worker "//fcp/aggregation/tensorflow/python:aggregation_protocols", 64*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 65*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 66*14675a02SAndroid Build Coastguard Worker ], 67*14675a02SAndroid Build Coastguard Worker) 68*14675a02SAndroid Build Coastguard Worker 69*14675a02SAndroid Build Coastguard Workerpy_library( 70*14675a02SAndroid Build Coastguard Worker name = "checkpoint_tensor_reference", 71*14675a02SAndroid Build Coastguard Worker srcs = ["checkpoint_tensor_reference.py"], 72*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 73*14675a02SAndroid Build Coastguard Worker) 74*14675a02SAndroid Build Coastguard Worker 75*14675a02SAndroid Build Coastguard Workerpy_test( 76*14675a02SAndroid Build Coastguard Worker name = "checkpoint_tensor_reference_test", 77*14675a02SAndroid Build Coastguard Worker srcs = ["checkpoint_tensor_reference_test.py"], 78*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 79*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 80*14675a02SAndroid Build Coastguard Worker deps = [ 81*14675a02SAndroid Build Coastguard Worker ":checkpoint_tensor_reference", 82*14675a02SAndroid Build Coastguard Worker ":test_utils", 83*14675a02SAndroid Build Coastguard Worker ], 84*14675a02SAndroid Build Coastguard Worker) 85*14675a02SAndroid Build Coastguard Worker 86*14675a02SAndroid Build Coastguard Workerpy_library( 87*14675a02SAndroid Build Coastguard Worker name = "eligibility_eval_tasks", 88*14675a02SAndroid Build Coastguard Worker srcs = ["eligibility_eval_tasks.py"], 89*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 90*14675a02SAndroid Build Coastguard Worker deps = [ 91*14675a02SAndroid Build Coastguard Worker ":http_actions", 92*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 93*14675a02SAndroid Build Coastguard Worker "@com_google_googleapis//google/rpc:code_py_proto", 94*14675a02SAndroid Build Coastguard Worker ], 95*14675a02SAndroid Build Coastguard Worker) 96*14675a02SAndroid Build Coastguard Worker 97*14675a02SAndroid Build Coastguard Workerpy_test( 98*14675a02SAndroid Build Coastguard Worker name = "eligibility_eval_tasks_test", 99*14675a02SAndroid Build Coastguard Worker srcs = ["eligibility_eval_tasks_test.py"], 100*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 101*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 102*14675a02SAndroid Build Coastguard Worker deps = [ 103*14675a02SAndroid Build Coastguard Worker ":eligibility_eval_tasks", 104*14675a02SAndroid Build Coastguard Worker ":http_actions", 105*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 106*14675a02SAndroid Build Coastguard Worker "@com_google_googleapis//google/rpc:code_py_proto", 107*14675a02SAndroid Build Coastguard Worker ], 108*14675a02SAndroid Build Coastguard Worker) 109*14675a02SAndroid Build Coastguard Worker 110*14675a02SAndroid Build Coastguard Workerpy_library( 111*14675a02SAndroid Build Coastguard Worker name = "federated_computation", 112*14675a02SAndroid Build Coastguard Worker srcs = ["federated_computation.py"], 113*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 114*14675a02SAndroid Build Coastguard Worker) 115*14675a02SAndroid Build Coastguard Worker 116*14675a02SAndroid Build Coastguard Workerpy_test( 117*14675a02SAndroid Build Coastguard Worker name = "federated_computation_test", 118*14675a02SAndroid Build Coastguard Worker srcs = ["federated_computation_test.py"], 119*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 120*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 121*14675a02SAndroid Build Coastguard Worker deps = [":federated_computation"], 122*14675a02SAndroid Build Coastguard Worker) 123*14675a02SAndroid Build Coastguard Worker 124*14675a02SAndroid Build Coastguard Workerpy_library( 125*14675a02SAndroid Build Coastguard Worker name = "federated_context", 126*14675a02SAndroid Build Coastguard Worker srcs = ["federated_context.py"], 127*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 128*14675a02SAndroid Build Coastguard Worker deps = [ 129*14675a02SAndroid Build Coastguard Worker ":checkpoint_tensor_reference", 130*14675a02SAndroid Build Coastguard Worker ":federated_computation", 131*14675a02SAndroid Build Coastguard Worker ":federated_data_source", 132*14675a02SAndroid Build Coastguard Worker ":server", 133*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:artifact_constants", 134*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:checkpoint_utils", 135*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:data_spec", 136*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:federated_compute_plan_builder", 137*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:plan_utils", 138*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:variable_helpers", 139*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 140*14675a02SAndroid Build Coastguard Worker ], 141*14675a02SAndroid Build Coastguard Worker) 142*14675a02SAndroid Build Coastguard Worker 143*14675a02SAndroid Build Coastguard Workerpy_test( 144*14675a02SAndroid Build Coastguard Worker name = "federated_context_test", 145*14675a02SAndroid Build Coastguard Worker size = "medium", 146*14675a02SAndroid Build Coastguard Worker srcs = ["federated_context_test.py"], 147*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 148*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 149*14675a02SAndroid Build Coastguard Worker deps = [ 150*14675a02SAndroid Build Coastguard Worker ":federated_computation", 151*14675a02SAndroid Build Coastguard Worker ":federated_context", 152*14675a02SAndroid Build Coastguard Worker ":federated_data_source", 153*14675a02SAndroid Build Coastguard Worker ":server", 154*14675a02SAndroid Build Coastguard Worker ":test_utils", 155*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:artifact_constants", 156*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:federated_compute_plan_builder", 157*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:plan_utils", 158*14675a02SAndroid Build Coastguard Worker "//fcp/artifact_building:variable_helpers", 159*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 160*14675a02SAndroid Build Coastguard Worker ], 161*14675a02SAndroid Build Coastguard Worker) 162*14675a02SAndroid Build Coastguard Worker 163*14675a02SAndroid Build Coastguard Workerpy_library( 164*14675a02SAndroid Build Coastguard Worker name = "federated_data_source", 165*14675a02SAndroid Build Coastguard Worker srcs = ["federated_data_source.py"], 166*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 167*14675a02SAndroid Build Coastguard Worker deps = [ 168*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 169*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 170*14675a02SAndroid Build Coastguard Worker ], 171*14675a02SAndroid Build Coastguard Worker) 172*14675a02SAndroid Build Coastguard Worker 173*14675a02SAndroid Build Coastguard Workerpy_test( 174*14675a02SAndroid Build Coastguard Worker name = "federated_data_source_test", 175*14675a02SAndroid Build Coastguard Worker srcs = ["federated_data_source_test.py"], 176*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 177*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 178*14675a02SAndroid Build Coastguard Worker deps = [ 179*14675a02SAndroid Build Coastguard Worker ":federated_data_source", 180*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 181*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 182*14675a02SAndroid Build Coastguard Worker ], 183*14675a02SAndroid Build Coastguard Worker) 184*14675a02SAndroid Build Coastguard Worker 185*14675a02SAndroid Build Coastguard Workerpy_test( 186*14675a02SAndroid Build Coastguard Worker name = "federated_program_test", 187*14675a02SAndroid Build Coastguard Worker size = "medium", 188*14675a02SAndroid Build Coastguard Worker srcs = ["federated_program_test.py"], 189*14675a02SAndroid Build Coastguard Worker data = ["//fcp/client:client_runner_main"], 190*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 191*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 192*14675a02SAndroid Build Coastguard Worker deps = [ 193*14675a02SAndroid Build Coastguard Worker ":demo", 194*14675a02SAndroid Build Coastguard Worker "//fcp/client:client_runner_example_data_py_pb2", 195*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 196*14675a02SAndroid Build Coastguard Worker ], 197*14675a02SAndroid Build Coastguard Worker) 198*14675a02SAndroid Build Coastguard Worker 199*14675a02SAndroid Build Coastguard Workerpy_library( 200*14675a02SAndroid Build Coastguard Worker name = "http_actions", 201*14675a02SAndroid Build Coastguard Worker srcs = ["http_actions.py"], 202*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 203*14675a02SAndroid Build Coastguard Worker deps = ["@com_google_googleapis//google/api:annotations_py_proto"], 204*14675a02SAndroid Build Coastguard Worker) 205*14675a02SAndroid Build Coastguard Worker 206*14675a02SAndroid Build Coastguard Workerpy_test( 207*14675a02SAndroid Build Coastguard Worker name = "http_actions_test", 208*14675a02SAndroid Build Coastguard Worker size = "medium", 209*14675a02SAndroid Build Coastguard Worker srcs = ["http_actions_test.py"], 210*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 211*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 212*14675a02SAndroid Build Coastguard Worker deps = [ 213*14675a02SAndroid Build Coastguard Worker ":http_actions", 214*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 215*14675a02SAndroid Build Coastguard Worker ], 216*14675a02SAndroid Build Coastguard Worker) 217*14675a02SAndroid Build Coastguard Worker 218*14675a02SAndroid Build Coastguard Workerpy_library( 219*14675a02SAndroid Build Coastguard Worker name = "media", 220*14675a02SAndroid Build Coastguard Worker srcs = ["media.py"], 221*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 222*14675a02SAndroid Build Coastguard Worker deps = [ 223*14675a02SAndroid Build Coastguard Worker ":http_actions", 224*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 225*14675a02SAndroid Build Coastguard Worker ], 226*14675a02SAndroid Build Coastguard Worker) 227*14675a02SAndroid Build Coastguard Worker 228*14675a02SAndroid Build Coastguard Workerpy_test( 229*14675a02SAndroid Build Coastguard Worker name = "media_test", 230*14675a02SAndroid Build Coastguard Worker srcs = ["media_test.py"], 231*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 232*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 233*14675a02SAndroid Build Coastguard Worker deps = [ 234*14675a02SAndroid Build Coastguard Worker ":http_actions", 235*14675a02SAndroid Build Coastguard Worker ":media", 236*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 237*14675a02SAndroid Build Coastguard Worker ], 238*14675a02SAndroid Build Coastguard Worker) 239*14675a02SAndroid Build Coastguard Worker 240*14675a02SAndroid Build Coastguard Workerpy_library( 241*14675a02SAndroid Build Coastguard Worker name = "plan_utils", 242*14675a02SAndroid Build Coastguard Worker srcs = ["plan_utils.py"], 243*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 244*14675a02SAndroid Build Coastguard Worker deps = [ 245*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 246*14675a02SAndroid Build Coastguard Worker "//fcp/tensorflow:serve_slices_py", 247*14675a02SAndroid Build Coastguard Worker ], 248*14675a02SAndroid Build Coastguard Worker) 249*14675a02SAndroid Build Coastguard Worker 250*14675a02SAndroid Build Coastguard Workerpy_test( 251*14675a02SAndroid Build Coastguard Worker name = "plan_utils_test", 252*14675a02SAndroid Build Coastguard Worker size = "medium", 253*14675a02SAndroid Build Coastguard Worker srcs = ["plan_utils_test.py"], 254*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 255*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 256*14675a02SAndroid Build Coastguard Worker deps = [ 257*14675a02SAndroid Build Coastguard Worker ":plan_utils", 258*14675a02SAndroid Build Coastguard Worker ":test_utils", 259*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 260*14675a02SAndroid Build Coastguard Worker "//fcp/tensorflow:serve_slices_py", 261*14675a02SAndroid Build Coastguard Worker ], 262*14675a02SAndroid Build Coastguard Worker) 263*14675a02SAndroid Build Coastguard Worker 264*14675a02SAndroid Build Coastguard Workerpy_library( 265*14675a02SAndroid Build Coastguard Worker name = "server", 266*14675a02SAndroid Build Coastguard Worker srcs = ["server.py"], 267*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 268*14675a02SAndroid Build Coastguard Worker deps = [ 269*14675a02SAndroid Build Coastguard Worker ":aggregations", 270*14675a02SAndroid Build Coastguard Worker ":eligibility_eval_tasks", 271*14675a02SAndroid Build Coastguard Worker ":http_actions", 272*14675a02SAndroid Build Coastguard Worker ":media", 273*14675a02SAndroid Build Coastguard Worker ":plan_utils", 274*14675a02SAndroid Build Coastguard Worker ":task_assignments", 275*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 276*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 277*14675a02SAndroid Build Coastguard Worker ], 278*14675a02SAndroid Build Coastguard Worker) 279*14675a02SAndroid Build Coastguard Worker 280*14675a02SAndroid Build Coastguard Workerpy_test( 281*14675a02SAndroid Build Coastguard Worker name = "server_test", 282*14675a02SAndroid Build Coastguard Worker size = "medium", 283*14675a02SAndroid Build Coastguard Worker srcs = ["server_test.py"], 284*14675a02SAndroid Build Coastguard Worker data = ["//fcp/client:client_runner_main"], 285*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 286*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 287*14675a02SAndroid Build Coastguard Worker deps = [ 288*14675a02SAndroid Build Coastguard Worker ":plan_utils", 289*14675a02SAndroid Build Coastguard Worker ":server", 290*14675a02SAndroid Build Coastguard Worker ":test_utils", 291*14675a02SAndroid Build Coastguard Worker "//fcp/protos:plan_py_pb2", 292*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 293*14675a02SAndroid Build Coastguard Worker "//fcp/tensorflow:external_dataset_py", 294*14675a02SAndroid Build Coastguard Worker "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto", 295*14675a02SAndroid Build Coastguard Worker ], 296*14675a02SAndroid Build Coastguard Worker) 297*14675a02SAndroid Build Coastguard Worker 298*14675a02SAndroid Build Coastguard Workerpy_library( 299*14675a02SAndroid Build Coastguard Worker name = "task_assignments", 300*14675a02SAndroid Build Coastguard Worker srcs = ["task_assignments.py"], 301*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 302*14675a02SAndroid Build Coastguard Worker deps = [ 303*14675a02SAndroid Build Coastguard Worker ":aggregations", 304*14675a02SAndroid Build Coastguard Worker ":http_actions", 305*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 306*14675a02SAndroid Build Coastguard Worker "@com_google_googleapis//google/rpc:code_py_proto", 307*14675a02SAndroid Build Coastguard Worker "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto", 308*14675a02SAndroid Build Coastguard Worker ], 309*14675a02SAndroid Build Coastguard Worker) 310*14675a02SAndroid Build Coastguard Worker 311*14675a02SAndroid Build Coastguard Workerpy_test( 312*14675a02SAndroid Build Coastguard Worker name = "task_assignments_test", 313*14675a02SAndroid Build Coastguard Worker srcs = ["task_assignments_test.py"], 314*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 315*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 316*14675a02SAndroid Build Coastguard Worker deps = [ 317*14675a02SAndroid Build Coastguard Worker ":aggregations", 318*14675a02SAndroid Build Coastguard Worker ":http_actions", 319*14675a02SAndroid Build Coastguard Worker ":task_assignments", 320*14675a02SAndroid Build Coastguard Worker "//fcp/protos/federatedcompute:federated_compute_py_pb2", 321*14675a02SAndroid Build Coastguard Worker "@com_google_googleapis//google/rpc:code_py_proto", 322*14675a02SAndroid Build Coastguard Worker ], 323*14675a02SAndroid Build Coastguard Worker) 324*14675a02SAndroid Build Coastguard Worker 325*14675a02SAndroid Build Coastguard Workerpy_library( 326*14675a02SAndroid Build Coastguard Worker name = "test_utils", 327*14675a02SAndroid Build Coastguard Worker testonly = True, 328*14675a02SAndroid Build Coastguard Worker srcs = ["test_utils.py"], 329*14675a02SAndroid Build Coastguard Worker) 330*14675a02SAndroid Build Coastguard Worker 331*14675a02SAndroid Build Coastguard Workerpy_test( 332*14675a02SAndroid Build Coastguard Worker name = "test_utils_test", 333*14675a02SAndroid Build Coastguard Worker size = "medium", 334*14675a02SAndroid Build Coastguard Worker srcs = ["test_utils_test.py"], 335*14675a02SAndroid Build Coastguard Worker python_version = "PY3", 336*14675a02SAndroid Build Coastguard Worker srcs_version = "PY3", 337*14675a02SAndroid Build Coastguard Worker deps = [":test_utils"], 338*14675a02SAndroid Build Coastguard Worker) 339