Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.

Commit 82c91b8

Browse files
committed
Merge branch 'master' of github.com:yon-mg/gapic-generator-python
2 parents 5f1ba34 + 959e1a0 commit 82c91b8

10 files changed

Lines changed: 74 additions & 36 deletions

File tree

BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ py_binary(
5757
python_version = "PY3",
5858
visibility = ["//visibility:public"],
5959
deps = [
60-
"@com_google_protobuf//:protobuf_python",
6160
"@com_github_grpc_grpc//src/python/grpcio/grpc:grpcio",
61+
requirement("protobuf"),
6262
requirement("click"),
6363
requirement("google-api-core"),
6464
requirement("googleapis-common-protos"),

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
### [0.40.7](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.6...v0.40.7) (2021-02-03)
4+
5+
6+
### Bug Fixes
7+
8+
* don't use integer for enums in json encoding ([#761](https://www.github.com/googleapis/gapic-generator-python/issues/761)) ([6d37a73](https://www.github.com/googleapis/gapic-generator-python/commit/6d37a7388995b90428ee6293bcce5d48cd9a48f8))
9+
10+
### [0.40.6](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.5...v0.40.6) (2021-02-02)
11+
12+
13+
### Bug Fixes
14+
15+
* remove duplicate assignment of certain flattened, repeated fields ([#760](https://www.github.com/googleapis/gapic-generator-python/issues/760)) ([cdbc221](https://www.github.com/googleapis/gapic-generator-python/commit/cdbc22130a176e733c529f60a6b8b1d224e82e89))
16+
17+
### [0.40.5](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.4...v0.40.5) (2021-02-01)
18+
19+
20+
### Bug Fixes
21+
22+
* Fix namespace packages conflict issue ([#757](https://www.github.com/googleapis/gapic-generator-python/issues/757)) ([8035662](https://www.github.com/googleapis/gapic-generator-python/commit/8035662bdcfbdffd1c294c5d28479733358407ca))
23+
24+
### [0.40.4](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.3...v0.40.4) (2021-01-28)
25+
26+
27+
### Bug Fixes
28+
29+
* Make gapic-generator-python compatible with protobuf 3.14.0 (packaged as native namespace package) ([#753](https://www.github.com/googleapis/gapic-generator-python/issues/753)) ([45212af](https://www.github.com/googleapis/gapic-generator-python/commit/45212afb9f523a416d86272798d71ce05dc292f0))
30+
* mypy 0.800 update errors ([#754](https://www.github.com/googleapis/gapic-generator-python/issues/754)) ([608275a](https://www.github.com/googleapis/gapic-generator-python/commit/608275aa923f495520dea8ebddb94a99f26e27a5))
31+
32+
### [0.40.3](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.2...v0.40.3) (2021-01-21)
33+
34+
35+
### Bug Fixes
36+
37+
* stabilize order of query_params ([#742](https://www.github.com/googleapis/gapic-generator-python/issues/742)) ([2835ddb](https://www.github.com/googleapis/gapic-generator-python/commit/2835ddbe62b520e2e4c84f02810b1ac936c9cbb9))
38+
339
### [0.40.2](https://www.github.com/googleapis/gapic-generator-python/compare/v0.40.1...v0.40.2) (2021-01-21)
440

541

WORKSPACE

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
4444

4545
grpc_deps()
4646

47-
load("@upb//bazel:repository_defs.bzl", "bazel_version_repository")
47+
load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
4848

49-
bazel_version_repository(
50-
name = "bazel_version",
51-
)
49+
grpc_extra_deps()
5250

5351
load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
5452

gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/client.py.j2

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -341,17 +341,17 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
341341
raise ValueError('If the `request` argument is set, then none of '
342342
'the individual field arguments should be set.')
343343

344-
{% endif -%}
344+
{% endif -%} {# method.flattened_fields #}
345345
{% if method.input.ident.package != method.ident.package -%} {# request lives in a different package, so there is no proto wrapper #}
346-
# The request isn't a proto-plus wrapped type,
346+
# The request isn't a proto-plus wrapped type.
347347
# so it must be constructed via keyword expansion.
348348
if isinstance(request, dict):
349349
request = {{ method.input.ident }}(**request)
350350
{% if method.flattened_fields -%}{# Cross-package req and flattened fields #}
351351
elif not request:
352352
request = {{ method.input.ident }}({% if method.input.ident.package != method.ident.package %}{% for f in method.flattened_fields.values() %}{{ f.name }}={{ f.name }}, {% endfor %}{% endif %})
353353
{% endif -%}{# Cross-package req and flattened fields #}
354-
{%- else %}
354+
{%- else %} {# Request is in _our_ package #}
355355
# Minor optimization to avoid making a copy if the user passes
356356
# in a {{ method.input.ident }}.
357357
# There's no risk of modifying the input as we've already verified
@@ -364,22 +364,22 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
364364
# If we have keyword arguments corresponding to fields on the
365365
# request, apply these.
366366
{% endif -%}
367-
{%- for key, field in method.flattened_fields.items() if not(field.repeated and method.input.ident.package != method.ident.package) %}
367+
{%- for key, field in method.flattened_fields.items() if not field.repeated or method.input.ident.package == method.ident.package %}
368368
if {{ field.name }} is not None:
369369
request.{{ key }} = {{ field.name }}
370370
{%- endfor %}
371371
{# Map-y fields can be _updated_, however #}
372-
{%- for key, field in method.flattened_fields.items() if field.map and method.input.ident.package == method.ident.package %}
373-
372+
{%- for key, field in method.flattened_fields.items() if field.repeated and method.input.ident.package != method.ident.package %}
373+
{%- if field.map %} {# map implies repeated, but repeated does NOT imply map#}
374374
if {{ field.name }}:
375375
request.{{ key }}.update({{ field.name }})
376-
{%- endfor %}
376+
{%- else %}
377377
{# And list-y fields can be _extended_ -#}
378-
{%- for key, field in method.flattened_fields.items() if field.repeated and not field.map and method.input.ident.package == method.ident.package %}
379378
if {{ field.name }}:
380379
request.{{ key }}.extend({{ field.name }})
381-
{%- endfor %}
382-
{%- endif %}
380+
{%- endif %} {# field.map #}
381+
{%- endfor %} {# key, field in method.flattened_fields.items() #}
382+
{%- endif %} {# method.client_streaming #}
383383

384384
# Wrap the RPC method; this adds retry and timeout information,
385385
# and friendly error handling.
@@ -397,15 +397,15 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
397397
{%- endfor %}
398398
)),
399399
)
400-
{%- endif %}
400+
{%- endif %} {# method.field_headers #}
401401

402402
# Send the request.
403403
{% if not method.void %}response = {% endif %}rpc(
404404
{%- if not method.client_streaming %}
405405
request,
406406
{%- else %}
407407
requests,
408-
{%- endif %}
408+
{%- endif %} {# method.client_streaming #}
409409
retry=retry,
410410
timeout=timeout,
411411
metadata=metadata,
@@ -429,12 +429,12 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
429429
response=response,
430430
metadata=metadata,
431431
)
432-
{%- endif %}
432+
{%- endif %} {# method.lro #}
433433
{%- if not method.void %}
434434

435435
# Done; return the response.
436436
return response
437-
{%- endif %}
437+
{%- endif %} {# method.void #}
438438
{{ '\n' }}
439439
{% endfor %}
440440

gapic/ads-templates/noxfile.py.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import os
66
import nox # type: ignore
77

88

9-
@nox.session(python=['3.6', '3.7'])
9+
@nox.session(python=['3.7', '3.8'])
1010
def unit(session):
1111
"""Run the unit test suite."""
1212

@@ -24,7 +24,7 @@ def unit(session):
2424
)
2525

2626

27-
@nox.session(python=['3.6', '3.7'])
27+
@nox.session(python=['3.7', '3.8'])
2828
def mypy(session):
2929
"""Run the type checker."""
3030
session.install('mypy')

gapic/ads-templates/setup.py.j2

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ setuptools.setup(
3535
'Development Status :: 3 - Alpha',
3636
'Intended Audience :: Developers',
3737
'Operating System :: OS Independent',
38-
'Programming Language :: Python :: 3.6',
3938
'Programming Language :: Python :: 3.7',
4039
'Programming Language :: Python :: 3.8',
4140
'Topic :: Internet',

gapic/cli/generate_with_pandoc.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import os
2-
3-
from gapic.cli import generate
2+
import sys
43

54
if __name__ == '__main__':
65
os.environ['PYPANDOC_PANDOC'] = os.path.join(
76
os.path.abspath(__file__).rsplit("gapic", 1)[0], "pandoc")
87
os.environ['LC_ALL'] = 'C.UTF-8'
9-
generate.generate()
8+
os.environ['PYTHONNOUSERSITE'] = 'True'
9+
10+
entry_point_script = os.path.join(
11+
os.path.dirname(os.path.abspath(__file__)), "generate.py")
12+
args = [sys.executable, entry_point_script] + sys.argv[1:]
13+
14+
os.execv(args[0], args)

gapic/templates/%namespace/%name_%version/%sub/services/%service/client.py.j2

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
244244
if use_client_cert:
245245
if client_options.client_cert_source:
246246
is_mtls = True
247-
client_cert_source_func = client_options.client_cert_source
247+
client_cert_source_func = client_options.client_cert_source
248248
else:
249249
is_mtls = mtls.has_default_client_cert_source()
250250
client_cert_source_func = mtls.default_client_cert_source() if is_mtls else None
@@ -381,22 +381,22 @@ class {{ service.client_name }}(metaclass={{ service.client_name }}Meta):
381381
# If we have keyword arguments corresponding to fields on the
382382
# request, apply these.
383383
{% endif -%}
384-
{%- for key, field in method.flattened_fields.items() if not field.repeated and method.input.ident.package == method.ident.package %}
384+
{%- for key, field in method.flattened_fields.items() if not field.repeated or method.input.ident.package == method.ident.package %}
385385
if {{ field.name }} is not None:
386386
request.{{ key }} = {{ field.name }}
387387
{%- endfor %}
388-
{# Map-y fields can be _updated_, however #}
389-
{%- for key, field in method.flattened_fields.items() if field.map and method.input.ident.package == method.ident.package %}
390-
388+
{# Map-y fields can be _updated_, however #}
389+
{%- for key, field in method.flattened_fields.items() if field.repeated and method.input.ident.package != method.ident.package %}
390+
{%- if field.map %} {# map implies repeated, but repeated does NOT imply map#}
391391
if {{ field.name }}:
392392
request.{{ key }}.update({{ field.name }})
393-
{%- endfor %}
393+
{%- else %}
394394
{# And list-y fields can be _extended_ -#}
395-
{%- for key, field in method.flattened_fields.items() if field.repeated and not field.map and method.input.ident.package == method.ident.package %}
396395
if {{ field.name }}:
397396
request.{{ key }}.extend({{ field.name }})
398-
{%- endfor %}
399-
{%- endif %}
397+
{%- endif %} {# field.map #}
398+
{%- endfor %} {# method.flattened_fields.items() #}
399+
{%- endif %} {# method.client_streaming #}
400400

401401
# Wrap the RPC method; this adds retry and timeout information,
402402
# and friendly error handling.

repositories.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def gapic_generator_python():
1515
requirements = "@gapic_generator_python//:requirements.txt",
1616
)
1717

18-
_protobuf_version = "3.13.0"
18+
_protobuf_version = "3.14.0"
1919
_protobuf_version_in_link = "v%s" % _protobuf_version
2020
_maybe(
2121
http_archive,

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
click==7.1.2
22
google-api-core==1.25.0
33
googleapis-common-protos==1.52.0
4-
jinja2==2.11.2
4+
jinja2==2.11.3
55
MarkupSafe==1.1.1
66
protobuf==3.14.0
77
pypandoc==1.5

0 commit comments

Comments
 (0)