betterproto2-compiler 0.7.1__py3-none-any.whl → 0.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,9 +4,9 @@
4
4
  # This file has been @generated
5
5
 
6
6
  __all__ = (
7
- "CodeGeneratorResponseFeature",
8
7
  "CodeGeneratorRequest",
9
8
  "CodeGeneratorResponse",
9
+ "CodeGeneratorResponseFeature",
10
10
  "CodeGeneratorResponseFile",
11
11
  "Version",
12
12
  )
@@ -17,7 +17,8 @@ import betterproto2
17
17
 
18
18
  from ....message_pool import default_message_pool
19
19
 
20
- betterproto2.check_compiler_version("0.7.0")
20
+ _COMPILER_VERSION = "0.8.0"
21
+ betterproto2.check_compiler_version(_COMPILER_VERSION)
21
22
 
22
23
 
23
24
  class CodeGeneratorResponseFeature(betterproto2.Enum):
@@ -25,11 +26,27 @@ class CodeGeneratorResponseFeature(betterproto2.Enum):
25
26
  Sync with code_generator.h.
26
27
  """
27
28
 
28
- FEATURE_NONE = 0
29
+ NONE = 0
30
+
31
+ PROTO3_OPTIONAL = 1
32
+
33
+ SUPPORTS_EDITIONS = 2
29
34
 
30
- FEATURE_PROTO3_OPTIONAL = 1
35
+ @classmethod
36
+ def betterproto_value_to_renamed_proto_names(cls) -> dict[int, str]:
37
+ return {
38
+ 0: "FEATURE_NONE",
39
+ 1: "FEATURE_PROTO3_OPTIONAL",
40
+ 2: "FEATURE_SUPPORTS_EDITIONS",
41
+ }
31
42
 
32
- FEATURE_SUPPORTS_EDITIONS = 2
43
+ @classmethod
44
+ def betterproto_renamed_proto_names_to_value(cls) -> dict[str, int]:
45
+ return {
46
+ "FEATURE_NONE": 0,
47
+ "FEATURE_PROTO3_OPTIONAL": 1,
48
+ "FEATURE_SUPPORTS_EDITIONS": 2,
49
+ }
33
50
 
34
51
 
35
52
  @dataclass(eq=False, repr=False)
File without changes
@@ -60,43 +60,43 @@ from betterproto2_compiler.settings import Settings
60
60
 
61
61
  # Organize proto types into categories
62
62
  PROTO_FLOAT_TYPES = (
63
- FieldDescriptorProtoType.TYPE_DOUBLE, # 1
64
- FieldDescriptorProtoType.TYPE_FLOAT, # 2
63
+ FieldDescriptorProtoType.DOUBLE, # 1
64
+ FieldDescriptorProtoType.FLOAT, # 2
65
65
  )
66
66
  PROTO_INT_TYPES = (
67
- FieldDescriptorProtoType.TYPE_INT64, # 3
68
- FieldDescriptorProtoType.TYPE_UINT64, # 4
69
- FieldDescriptorProtoType.TYPE_INT32, # 5
70
- FieldDescriptorProtoType.TYPE_FIXED64, # 6
71
- FieldDescriptorProtoType.TYPE_FIXED32, # 7
72
- FieldDescriptorProtoType.TYPE_UINT32, # 13
73
- FieldDescriptorProtoType.TYPE_SFIXED32, # 15
74
- FieldDescriptorProtoType.TYPE_SFIXED64, # 16
75
- FieldDescriptorProtoType.TYPE_SINT32, # 17
76
- FieldDescriptorProtoType.TYPE_SINT64, # 18
67
+ FieldDescriptorProtoType.INT64, # 3
68
+ FieldDescriptorProtoType.UINT64, # 4
69
+ FieldDescriptorProtoType.INT32, # 5
70
+ FieldDescriptorProtoType.FIXED64, # 6
71
+ FieldDescriptorProtoType.FIXED32, # 7
72
+ FieldDescriptorProtoType.UINT32, # 13
73
+ FieldDescriptorProtoType.SFIXED32, # 15
74
+ FieldDescriptorProtoType.SFIXED64, # 16
75
+ FieldDescriptorProtoType.SINT32, # 17
76
+ FieldDescriptorProtoType.SINT64, # 18
77
77
  )
78
- PROTO_BOOL_TYPES = (FieldDescriptorProtoType.TYPE_BOOL,) # 8
79
- PROTO_STR_TYPES = (FieldDescriptorProtoType.TYPE_STRING,) # 9
80
- PROTO_BYTES_TYPES = (FieldDescriptorProtoType.TYPE_BYTES,) # 12
78
+ PROTO_BOOL_TYPES = (FieldDescriptorProtoType.BOOL,) # 8
79
+ PROTO_STR_TYPES = (FieldDescriptorProtoType.STRING,) # 9
80
+ PROTO_BYTES_TYPES = (FieldDescriptorProtoType.BYTES,) # 12
81
81
  PROTO_MESSAGE_TYPES = (
82
- FieldDescriptorProtoType.TYPE_MESSAGE, # 11
83
- FieldDescriptorProtoType.TYPE_ENUM, # 14
82
+ FieldDescriptorProtoType.MESSAGE, # 11
83
+ FieldDescriptorProtoType.ENUM, # 14
84
84
  )
85
- PROTO_MAP_TYPES = (FieldDescriptorProtoType.TYPE_MESSAGE,) # 11
85
+ PROTO_MAP_TYPES = (FieldDescriptorProtoType.MESSAGE,) # 11
86
86
  PROTO_PACKED_TYPES = (
87
- FieldDescriptorProtoType.TYPE_DOUBLE, # 1
88
- FieldDescriptorProtoType.TYPE_FLOAT, # 2
89
- FieldDescriptorProtoType.TYPE_INT64, # 3
90
- FieldDescriptorProtoType.TYPE_UINT64, # 4
91
- FieldDescriptorProtoType.TYPE_INT32, # 5
92
- FieldDescriptorProtoType.TYPE_FIXED64, # 6
93
- FieldDescriptorProtoType.TYPE_FIXED32, # 7
94
- FieldDescriptorProtoType.TYPE_BOOL, # 8
95
- FieldDescriptorProtoType.TYPE_UINT32, # 13
96
- FieldDescriptorProtoType.TYPE_SFIXED32, # 15
97
- FieldDescriptorProtoType.TYPE_SFIXED64, # 16
98
- FieldDescriptorProtoType.TYPE_SINT32, # 17
99
- FieldDescriptorProtoType.TYPE_SINT64, # 18
87
+ FieldDescriptorProtoType.DOUBLE, # 1
88
+ FieldDescriptorProtoType.FLOAT, # 2
89
+ FieldDescriptorProtoType.INT64, # 3
90
+ FieldDescriptorProtoType.UINT64, # 4
91
+ FieldDescriptorProtoType.INT32, # 5
92
+ FieldDescriptorProtoType.FIXED64, # 6
93
+ FieldDescriptorProtoType.FIXED32, # 7
94
+ FieldDescriptorProtoType.BOOL, # 8
95
+ FieldDescriptorProtoType.UINT32, # 13
96
+ FieldDescriptorProtoType.SFIXED32, # 15
97
+ FieldDescriptorProtoType.SFIXED64, # 16
98
+ FieldDescriptorProtoType.SINT32, # 17
99
+ FieldDescriptorProtoType.SINT64, # 18
100
100
  )
101
101
 
102
102
 
@@ -309,7 +309,7 @@ class MessageCompiler(ProtoContentBase):
309
309
 
310
310
  def is_map(proto_field_obj: FieldDescriptorProto, parent_message: DescriptorProto) -> bool:
311
311
  """True if proto_field_obj is a map, otherwise False."""
312
- if proto_field_obj.type == FieldDescriptorProtoType.TYPE_MESSAGE:
312
+ if proto_field_obj.type == FieldDescriptorProtoType.MESSAGE:
313
313
  if not hasattr(parent_message, "nested_type"):
314
314
  return False
315
315
 
@@ -347,7 +347,7 @@ class FieldCompiler(ProtoContentBase):
347
347
  field_args = ", ".join(([""] + self.betterproto_field_args) if self.betterproto_field_args else [])
348
348
 
349
349
  betterproto_field_type = (
350
- f"betterproto2.field({self.proto_obj.number}, betterproto2.{str(self.field_type)}{field_args})"
350
+ f"betterproto2.field({self.proto_obj.number}, betterproto2.TYPE_{str(self.field_type)}{field_args})"
351
351
  )
352
352
  if self.py_name in dir(builtins):
353
353
  self.message.builtins_types.add(self.py_name)
@@ -357,7 +357,7 @@ class FieldCompiler(ProtoContentBase):
357
357
  def betterproto_field_args(self) -> list[str]:
358
358
  args = []
359
359
 
360
- if self.field_type == FieldDescriptorProtoType.TYPE_MESSAGE and self.is_wrapped:
360
+ if self.field_type == FieldDescriptorProtoType.MESSAGE and self.is_wrapped:
361
361
  unwrap_type = self.unwrapped_py_type
362
362
 
363
363
  # Without the lambda function, the type is evaluated right away, which fails since the corresponding
@@ -368,7 +368,7 @@ class FieldCompiler(ProtoContentBase):
368
368
  args.append("optional=True")
369
369
  elif self.repeated:
370
370
  args.append("repeated=True")
371
- elif self.field_type == FieldType.TYPE_ENUM:
371
+ elif self.field_type == FieldType.ENUM:
372
372
  args.append(f"default_factory=lambda: {self.py_type}(0)")
373
373
  return args
374
374
 
@@ -384,12 +384,12 @@ class FieldCompiler(ProtoContentBase):
384
384
 
385
385
  @property
386
386
  def repeated(self) -> bool:
387
- return self.proto_obj.label == FieldDescriptorProtoLabel.LABEL_REPEATED
387
+ return self.proto_obj.label == FieldDescriptorProtoLabel.REPEATED
388
388
 
389
389
  @property
390
390
  def optional(self) -> bool:
391
391
  # TODO not for maps
392
- return self.proto_obj.proto3_optional or (self.field_type == FieldType.TYPE_MESSAGE and not self.repeated)
392
+ return self.proto_obj.proto3_optional or (self.field_type == FieldType.MESSAGE and not self.repeated)
393
393
 
394
394
  @property
395
395
  def field_type(self) -> FieldType:
@@ -412,7 +412,7 @@ class FieldCompiler(ProtoContentBase):
412
412
 
413
413
  @property
414
414
  def is_wrapped(self) -> bool:
415
- assert self.field_type == FieldDescriptorProtoType.TYPE_MESSAGE
415
+ assert self.field_type == FieldDescriptorProtoType.MESSAGE
416
416
  type_package, type_name = parse_source_type_name(self.proto_obj.type_name, self.output_file.parent_request)
417
417
 
418
418
  return (type_package, type_name) in WRAPPED_TYPES
@@ -457,22 +457,22 @@ class FieldCompiler(ProtoContentBase):
457
457
 
458
458
  annotations = []
459
459
 
460
- if self.proto_obj.type in (FieldType.TYPE_INT32, FieldType.TYPE_SFIXED32, FieldType.TYPE_SINT32):
460
+ if self.proto_obj.type in (FieldType.INT32, FieldType.SFIXED32, FieldType.SINT32):
461
461
  annotations.append("pydantic.Field(ge=-2**31, le=2**31 - 1)")
462
462
 
463
- elif self.proto_obj.type in (FieldType.TYPE_UINT32, FieldType.TYPE_FIXED32):
463
+ elif self.proto_obj.type in (FieldType.UINT32, FieldType.FIXED32):
464
464
  annotations.append("pydantic.Field(ge=0, le=2**32 - 1)")
465
465
 
466
- elif self.proto_obj.type in (FieldType.TYPE_INT64, FieldType.TYPE_SFIXED64, FieldType.TYPE_SINT64):
466
+ elif self.proto_obj.type in (FieldType.INT64, FieldType.SFIXED64, FieldType.SINT64):
467
467
  annotations.append("pydantic.Field(ge=-2**63, le=2**63 - 1)")
468
468
 
469
- elif self.proto_obj.type in (FieldType.TYPE_UINT64, FieldType.TYPE_FIXED64):
469
+ elif self.proto_obj.type in (FieldType.UINT64, FieldType.FIXED64):
470
470
  annotations.append("pydantic.Field(ge=0, le=2**64 - 1)")
471
471
 
472
- elif self.proto_obj.type == FieldType.TYPE_FLOAT:
472
+ elif self.proto_obj.type == FieldType.FLOAT:
473
473
  annotations.append("pydantic.AfterValidator(betterproto2.validators.validate_float32)")
474
474
 
475
- elif self.proto_obj.type == FieldType.TYPE_STRING:
475
+ elif self.proto_obj.type == FieldType.STRING:
476
476
  annotations.append("pydantic.AfterValidator(betterproto2.validators.validate_string)")
477
477
 
478
478
  return annotations
@@ -544,7 +544,7 @@ class MapEntryCompiler(FieldCompiler):
544
544
 
545
545
  self.py_v_type = value_field_compiler.py_type
546
546
  if (
547
- value_field_compiler.field_type == FieldDescriptorProtoType.TYPE_MESSAGE
547
+ value_field_compiler.field_type == FieldDescriptorProtoType.MESSAGE
548
548
  and value_field_compiler.is_wrapped
549
549
  ):
550
550
  self.unwrap_v = value_field_compiler.unwrapped_py_type
@@ -560,8 +560,8 @@ class MapEntryCompiler(FieldCompiler):
560
560
 
561
561
  def get_field_string(self) -> str:
562
562
  """Construct string representation of this field as a field."""
563
- proto_type_1 = f"betterproto2.{self.proto_k_type}"
564
- proto_type_2 = f"betterproto2.{self.proto_v_type}"
563
+ proto_type_1 = f"betterproto2.TYPE_{self.proto_k_type}"
564
+ proto_type_2 = f"betterproto2.TYPE_{self.proto_v_type}"
565
565
 
566
566
  unwrap_2 = ""
567
567
  if self.unwrap_v:
@@ -89,7 +89,7 @@ def get_settings(plugin_options: list[str]) -> Settings:
89
89
 
90
90
 
91
91
  def generate_code(request: CodeGeneratorRequest) -> CodeGeneratorResponse:
92
- response = CodeGeneratorResponse(supported_features=CodeGeneratorResponseFeature.FEATURE_PROTO3_OPTIONAL)
92
+ response = CodeGeneratorResponse(supported_features=CodeGeneratorResponseFeature.PROTO3_OPTIONAL)
93
93
 
94
94
  plugin_options = request.parameter.split(",") if request.parameter else []
95
95
  settings = get_settings(plugin_options)
@@ -171,6 +171,8 @@ def generate_code(request: CodeGeneratorRequest) -> CodeGeneratorResponse:
171
171
  )
172
172
  )
173
173
 
174
+ response.file.append(CodeGeneratorResponseFile(name="py.typed", content=""))
175
+
174
176
  if settings.google_protobuf_descriptors:
175
177
  response.file.append(
176
178
  CodeGeneratorResponseFile(
@@ -8,8 +8,9 @@ class {{ enum.py_name | add_to_all }}(betterproto2.Enum):
8
8
 
9
9
  {% if output_file.settings.google_protobuf_descriptors %}
10
10
  {# Add descriptor class property to be more drop-in compatible with other libraries. #}
11
- @betterproto2.classproperty
12
- def DESCRIPTOR(self) -> EnumDescriptor:
11
+ @betterproto2.staticproperty
12
+ @staticmethod
13
+ def DESCRIPTOR() -> EnumDescriptor:
13
14
  return {{ enum.descriptor_name }}.enum_types_by_name['{{ enum.prefixed_proto_name }}']
14
15
  {% endif %}
15
16
 
@@ -23,22 +24,26 @@ class {{ enum.py_name | add_to_all }}(betterproto2.Enum):
23
24
 
24
25
  {% endfor %}
25
26
 
26
- {% if output_file.settings.pydantic_dataclasses %}
27
+ {% if enum.has_renamed_entries %}
27
28
  @classmethod
28
- def __get_pydantic_core_schema__(cls, _source_type, _handler):
29
- from pydantic_core import core_schema
30
-
31
- return core_schema.int_schema(ge=0)
32
- {% endif %}
29
+ def betterproto_value_to_renamed_proto_names(cls) -> dict[int, str]:
30
+ return {
31
+ {% for entry in enum.entries %}
32
+ {% if entry.proto_name != entry.name %}
33
+ {{ entry.value }}: "{{ entry.proto_name }}",
34
+ {% endif %}
35
+ {% endfor %}
36
+ }
33
37
 
34
- {% if enum.has_renamed_entries %}
35
- betterproto_proto_names = {
36
- {% for entry in enum.entries %}
37
- {% if entry.proto_name != entry.name %}
38
- {{ entry.value }}: "{{ entry.proto_name }}",
39
- {% endif %}
40
- {% endfor %}
41
- }
38
+ @classmethod
39
+ def betterproto_renamed_proto_names_to_value(cls) -> dict[str, int]:
40
+ return {
41
+ {% for entry in enum.entries %}
42
+ {% if entry.proto_name != entry.name %}
43
+ "{{ entry.proto_name }}": {{ entry.value }},
44
+ {% endif %}
45
+ {% endfor %}
46
+ }
42
47
  {% endif %}
43
48
 
44
49
  {% endfor %}
@@ -64,8 +69,9 @@ class {{ message.py_name | add_to_all }}(betterproto2.Message):
64
69
 
65
70
  {% if output_file.settings.google_protobuf_descriptors %}
66
71
  {# Add descriptor class property to be more drop-in compatible with other libraries. #}
67
- @betterproto2.classproperty
68
- def DESCRIPTOR(self) -> Descriptor:
72
+ @betterproto2.staticproperty
73
+ @staticmethod
74
+ def DESCRIPTOR() -> Descriptor:
69
75
  return {{ message.descriptor_name }}.message_types_by_name['{{ message.prefixed_proto_name }}']
70
76
  {% endif %}
71
77
 
@@ -167,6 +173,7 @@ class {{ (service.py_name + "Base") | add_to_all }}(ServiceBase):
167
173
  async def __rpc_{{ method.py_name }}(self, stream: "grpclib.server.Stream[{{ method.py_input_message_type }}, {{ method.py_output_message_type }}]") -> None:
168
174
  {% if not method.client_streaming %}
169
175
  request = await stream.recv_message()
176
+ assert request is not None
170
177
  {% else %}
171
178
  request = stream.__aiter__()
172
179
  {% endif %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: betterproto2_compiler
3
- Version: 0.7.1
3
+ Version: 0.8.0
4
4
  Summary: Compiler for betterproto2
5
5
  Project-URL: Documentation, https://betterproto.github.io/python-betterproto2/
6
6
  Project-URL: Repository, https://github.com/betterproto/python-betterproto2
@@ -8,7 +8,7 @@ Author-email: Adrien Vannson <adrien.vannson@protonmail.com>, "Daniel G. Taylor"
8
8
  License-Expression: MIT
9
9
  Keywords: compiler,gRPC,protobuf
10
10
  Requires-Python: <4.0,>=3.10
11
- Requires-Dist: betterproto2[grpclib]<0.8,>=0.7.0
11
+ Requires-Dist: betterproto2[grpclib]<0.9,>=0.8.0
12
12
  Requires-Dist: jinja2>=3.0.3
13
13
  Requires-Dist: ruff~=0.9.3
14
14
  Requires-Dist: strenum<0.5,>=0.4.15; python_version == '3.10'
@@ -5,30 +5,32 @@ betterproto2_compiler/settings.py,sha256=Y867wBQad2EunzlsZEd0OjPaXGwzqcBmPKYMG9Q
5
5
  betterproto2_compiler/compile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  betterproto2_compiler/compile/importing.py,sha256=yfIJ7oEXR1Ghe5meGzOE0ORf1Sr7Xa2Pr_slOw-rT3s,7137
7
7
  betterproto2_compiler/compile/naming.py,sha256=zf0VOmNojzyv33upOGelGxjZTEDE8JULEEED5_3inHg,562
8
- betterproto2_compiler/known_types/__init__.py,sha256=nrWckuv4hGhL8-tW7V5TD5qXs1Sa5vC7zMusGnz7jsE,3485
9
- betterproto2_compiler/known_types/any.py,sha256=E3OoAoUU9xrGHmYEvF0YnrwQdTUuY4h54XbKU0eGxQ8,1897
10
- betterproto2_compiler/known_types/duration.py,sha256=M-qsFeiHsw5Z_AoSata1ZUjfkhooP9WhrmecNfuP16k,2312
8
+ betterproto2_compiler/known_types/__init__.py,sha256=_rXiV7lE3oPyKsaxEZ585j0jxljGYE-5ghdiG2r6Sa0,3833
9
+ betterproto2_compiler/known_types/any.py,sha256=KMSnzec_IPalCkFnJ3ujo9t7zvs5gxo8cd84obe2VSI,2567
10
+ betterproto2_compiler/known_types/duration.py,sha256=qSQYkDUr1SSpDgR-A3AF9inS9Ta4uvJbC7qQ55KADIk,2397
11
11
  betterproto2_compiler/known_types/google_values.py,sha256=F5MmKIj70dNBdnusKB9ejDal5E2D_ZTOdpMt53H6ciU,7453
12
- betterproto2_compiler/known_types/timestamp.py,sha256=y1sNWG2Q0FWv6nIte1UTifFVCsryp7T8foXZqp4qhQQ,3409
13
- betterproto2_compiler/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ betterproto2_compiler/known_types/struct.py,sha256=YQcL4PTENRwTTNbdKWk1RefH4pCHviGttk5A0t9v5i8,4054
13
+ betterproto2_compiler/known_types/timestamp.py,sha256=u7Z3ndfeqE1nxOE-f9BBjalaa68hn9s1bN4Q_NN0elM,3494
14
+ betterproto2_compiler/lib/__init__.py,sha256=9v142BnixNiDls_1XGBHm-U03b2m6NM2lbppIqazejA,267
14
15
  betterproto2_compiler/lib/message_pool.py,sha256=4-cRhhiM6bmfpUJZ8qxc8LEyqHBHpLCcotjbyZxl7JM,71
16
+ betterproto2_compiler/lib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
17
  betterproto2_compiler/lib/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- betterproto2_compiler/lib/google/protobuf/__init__.py,sha256=r5R69Q9iYg8FZX6J6pCY6xnOTxgl_-zz2Xwn4uGGPyw,102114
17
- betterproto2_compiler/lib/google/protobuf/compiler/__init__.py,sha256=SaJT2xsLVFPvTd12R2V2wjEWeP4JewKMPJlIKeyZ2Mk,9600
18
+ betterproto2_compiler/lib/google/protobuf/__init__.py,sha256=8SrZ2ZQHBfQOLLCNF-o3j6wmvH10TDq7ITDLd31cKkw,128480
19
+ betterproto2_compiler/lib/google/protobuf/compiler/__init__.py,sha256=OQB0eUz-jC1czWdhivi3Z9dWzfjPRMruj2WfeVm5Srg,10084
18
20
  betterproto2_compiler/plugin/__init__.py,sha256=L3pW0b4CvkM5x53x_sYt1kYiSFPO0_vaeH6EQPq9FAM,43
19
21
  betterproto2_compiler/plugin/__main__.py,sha256=vBQ82334kX06ImDbFlPFgiBRiLIinwNk3z8Khs6hd74,31
20
22
  betterproto2_compiler/plugin/compiler.py,sha256=9jZcNlwxWLUQlZyCLKG33P2xCoJgqaIQHIgcZM40JGY,2730
21
23
  betterproto2_compiler/plugin/main.py,sha256=b1jDEdG1Iau-4cPq89uSjU0SHwC278SxqwiuFwIF8fA,1288
22
- betterproto2_compiler/plugin/models.py,sha256=7iMpcTUlhl3s3xGtfdvVE6AlsiOqlQi3txebT8RW0Cw,26165
24
+ betterproto2_compiler/plugin/models.py,sha256=x6W2hHXDeuyDzr2SUwqlvaTVSGBE-7VmJch0gbM8Zc8,25929
23
25
  betterproto2_compiler/plugin/module_validation.py,sha256=JnP8dSN83eJJVDP_UPJsHzq7E7Md3lah0PnKXDbFW5Q,4808
24
- betterproto2_compiler/plugin/parser.py,sha256=GHVZGpC_lxvQRGgDaJTCS4ab9sUST7XAef2wj2UKqOg,10966
26
+ betterproto2_compiler/plugin/parser.py,sha256=pugZXBMQ4RDF-q9hmJRf37DxLc30OohRb26vzeA89_4,11040
25
27
  betterproto2_compiler/plugin/plugin.bat,sha256=lfLT1WguAXqyerLLsRL6BfHA0RqUE6QG79v-1BYVSpI,48
26
28
  betterproto2_compiler/templates/header.py.j2,sha256=4C88YH5jtEzlBcUP054rk6lK5pQ1n5_TCzlH_3VrztY,1754
27
29
  betterproto2_compiler/templates/service_stub.py.j2,sha256=2fhbty6uw57EyxOskGcNlZjIjGELMKWY--pvq5ZEjFw,967
28
30
  betterproto2_compiler/templates/service_stub_async.py.j2,sha256=JNOAa8FPhzYS5D0zi0DPESVEwAjkdFsVQZ008Qi4JmE,2968
29
31
  betterproto2_compiler/templates/service_stub_sync.py.j2,sha256=ru0Gw4u3vQ3QYpHQVCxQ7aXFGmNkNxHyW8_KijcB9Ao,2576
30
- betterproto2_compiler/templates/template.py.j2,sha256=D3Z38RnAwd1Xr2VHGqABXTKWe7pRSBQlIQFZoBjf59c,6847
31
- betterproto2_compiler-0.7.1.dist-info/METADATA,sha256=KjBSTiA0snZZaVtLhV_6WTBmW6H3HAFBph-bSUsIsrw,658
32
- betterproto2_compiler-0.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
33
- betterproto2_compiler-0.7.1.dist-info/entry_points.txt,sha256=MXDaz7YfiaWx8KiSzArjUPLt6eTlMRbqzE4jCjXozuI,85
34
- betterproto2_compiler-0.7.1.dist-info/RECORD,,
32
+ betterproto2_compiler/templates/template.py.j2,sha256=tPWFd1EhA5DIu7JFg5O-cdV65bUbyTkt4ga4k0zglkE,7084
33
+ betterproto2_compiler-0.8.0.dist-info/METADATA,sha256=ttFojLxk4O2OxnMQF6wjhgDoolVHzBOoNP53JhFEzr8,658
34
+ betterproto2_compiler-0.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
35
+ betterproto2_compiler-0.8.0.dist-info/entry_points.txt,sha256=MXDaz7YfiaWx8KiSzArjUPLt6eTlMRbqzE4jCjXozuI,85
36
+ betterproto2_compiler-0.8.0.dist-info/RECORD,,