Skip to content

Commit bbcf902

Browse files
authored
chore(generator): use absolute paths in __lazy_modules__ (#17614)
The GAPIC generator template now uses the {{package_path}} variable instead of evaluating __name__ at runtime. The generator will now output the literal absolute strings (e.g., "google.cloud.compute_v1.services.accelerator_types") directly into the __lazy_modules__ set, keeping the execution as lightweight as possible.
1 parent 5d0efa3 commit bbcf902

9 files changed

Lines changed: 44 additions & 44 deletions

File tree

packages/gapic-generator/gapic/templates/%namespace/%name_%version/%sub/__init__.py.j2

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ from importlib import metadata
2121
__lazy_modules__ = {
2222
{% filter sort_lines -%}
2323
{% for subpackage, _ in api.subpackages|dictsort -%}
24-
f"{__name__}.{{ subpackage }}",
24+
"{{package_path}}.{{ subpackage }}",
2525
{% endfor -%}
2626
{% for service in api.services.values()
2727
if service.meta.address.subpackage == api.subpackage_view -%}
28-
f"{__name__}.services.{{ service.name|snake_case }}",
28+
"{{package_path}}.services.{{ service.name|snake_case }}",
2929
{% endfor -%}
3030
{% for proto in api.protos.values()
3131
if proto.meta.address.subpackage == api.subpackage_view -%}
32-
f"{__name__}.types.{{ proto.module_name }}",
32+
"{{package_path}}.types.{{ proto.module_name }}",
3333
{% endfor -%}
3434
{% endfilter %}
3535
}

packages/gapic-generator/tests/integration/goldens/asset/google/cloud/asset_v1/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.asset_service",
33-
f"{__name__}.types.asset_enrichment_resourceowners",
34-
f"{__name__}.types.asset_service",
35-
f"{__name__}.types.assets",
32+
"google.cloud.asset_v1.services.asset_service",
33+
"google.cloud.asset_v1.types.asset_enrichment_resourceowners",
34+
"google.cloud.asset_v1.types.asset_service",
35+
"google.cloud.asset_v1.types.assets",
3636
}
3737

3838

packages/gapic-generator/tests/integration/goldens/credentials/google/iam/credentials_v1/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.iam_credentials",
33-
f"{__name__}.types.common",
34-
f"{__name__}.types.iamcredentials",
32+
"google.iam.credentials_v1.services.iam_credentials",
33+
"google.iam.credentials_v1.types.common",
34+
"google.iam.credentials_v1.types.iamcredentials",
3535
}
3636

3737

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/__init__.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.eventarc",
33-
f"{__name__}.types.channel",
34-
f"{__name__}.types.channel_connection",
35-
f"{__name__}.types.discovery",
36-
f"{__name__}.types.enrollment",
37-
f"{__name__}.types.eventarc",
38-
f"{__name__}.types.google_api_source",
39-
f"{__name__}.types.google_channel_config",
40-
f"{__name__}.types.logging_config",
41-
f"{__name__}.types.message_bus",
42-
f"{__name__}.types.network_config",
43-
f"{__name__}.types.pipeline",
44-
f"{__name__}.types.trigger",
32+
"google.cloud.eventarc_v1.services.eventarc",
33+
"google.cloud.eventarc_v1.types.channel",
34+
"google.cloud.eventarc_v1.types.channel_connection",
35+
"google.cloud.eventarc_v1.types.discovery",
36+
"google.cloud.eventarc_v1.types.enrollment",
37+
"google.cloud.eventarc_v1.types.eventarc",
38+
"google.cloud.eventarc_v1.types.google_api_source",
39+
"google.cloud.eventarc_v1.types.google_channel_config",
40+
"google.cloud.eventarc_v1.types.logging_config",
41+
"google.cloud.eventarc_v1.types.message_bus",
42+
"google.cloud.eventarc_v1.types.network_config",
43+
"google.cloud.eventarc_v1.types.pipeline",
44+
"google.cloud.eventarc_v1.types.trigger",
4545
}
4646

4747

packages/gapic-generator/tests/integration/goldens/logging/google/cloud/logging_v2/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.config_service_v2",
33-
f"{__name__}.services.logging_service_v2",
34-
f"{__name__}.services.metrics_service_v2",
35-
f"{__name__}.types.log_entry",
36-
f"{__name__}.types.logging",
37-
f"{__name__}.types.logging_config",
38-
f"{__name__}.types.logging_metrics",
32+
"google.cloud.logging_v2.services.config_service_v2",
33+
"google.cloud.logging_v2.services.logging_service_v2",
34+
"google.cloud.logging_v2.services.metrics_service_v2",
35+
"google.cloud.logging_v2.types.log_entry",
36+
"google.cloud.logging_v2.types.logging",
37+
"google.cloud.logging_v2.types.logging_config",
38+
"google.cloud.logging_v2.types.logging_metrics",
3939
}
4040

4141

packages/gapic-generator/tests/integration/goldens/logging_internal/google/cloud/logging_v2/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.config_service_v2",
33-
f"{__name__}.services.logging_service_v2",
34-
f"{__name__}.services.metrics_service_v2",
35-
f"{__name__}.types.log_entry",
36-
f"{__name__}.types.logging",
37-
f"{__name__}.types.logging_config",
38-
f"{__name__}.types.logging_metrics",
32+
"google.cloud.logging_v2.services.config_service_v2",
33+
"google.cloud.logging_v2.services.logging_service_v2",
34+
"google.cloud.logging_v2.services.metrics_service_v2",
35+
"google.cloud.logging_v2.types.log_entry",
36+
"google.cloud.logging_v2.types.logging",
37+
"google.cloud.logging_v2.types.logging_config",
38+
"google.cloud.logging_v2.types.logging_metrics",
3939
}
4040

4141

packages/gapic-generator/tests/integration/goldens/redis/google/cloud/redis_v1/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.cloud_redis",
33-
f"{__name__}.types.cloud_redis",
32+
"google.cloud.redis_v1.services.cloud_redis",
33+
"google.cloud.redis_v1.types.cloud_redis",
3434
}
3535

3636

packages/gapic-generator/tests/integration/goldens/redis_selective/google/cloud/redis_v1/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.cloud_redis",
33-
f"{__name__}.types.cloud_redis",
32+
"google.cloud.redis_v1.services.cloud_redis",
33+
"google.cloud.redis_v1.types.cloud_redis",
3434
}
3535

3636

packages/gapic-generator/tests/integration/goldens/storagebatchoperations/google/cloud/storagebatchoperations_v1/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
# https://docs.python.org/3.15/library/sys.html#sys.set_lazy_imports_filter
3030
# Older Python versions safely ignore this variable.
3131
__lazy_modules__ = {
32-
f"{__name__}.services.storage_batch_operations",
33-
f"{__name__}.types.storage_batch_operations",
34-
f"{__name__}.types.storage_batch_operations_types",
32+
"google.cloud.storagebatchoperations_v1.services.storage_batch_operations",
33+
"google.cloud.storagebatchoperations_v1.types.storage_batch_operations",
34+
"google.cloud.storagebatchoperations_v1.types.storage_batch_operations_types",
3535
}
3636

3737

0 commit comments

Comments
 (0)