sift-stack-py 0.3.2__tar.gz

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.
Files changed (297) hide show
  1. sift_stack_py-0.3.2/LICENSE +7 -0
  2. sift_stack_py-0.3.2/PKG-INFO +109 -0
  3. sift_stack_py-0.3.2/README.md +50 -0
  4. sift_stack_py-0.3.2/lib/google/__init__.py +1 -0
  5. sift_stack_py-0.3.2/lib/google/api/__init__.py +0 -0
  6. sift_stack_py-0.3.2/lib/google/api/annotations_pb2.py +27 -0
  7. sift_stack_py-0.3.2/lib/google/api/annotations_pb2.pyi +29 -0
  8. sift_stack_py-0.3.2/lib/google/api/annotations_pb2_grpc.py +4 -0
  9. sift_stack_py-0.3.2/lib/google/api/annotations_pb2_grpc.pyi +30 -0
  10. sift_stack_py-0.3.2/lib/google/api/field_behavior_pb2.py +30 -0
  11. sift_stack_py-0.3.2/lib/google/api/field_behavior_pb2.pyi +175 -0
  12. sift_stack_py-0.3.2/lib/google/api/field_behavior_pb2_grpc.py +4 -0
  13. sift_stack_py-0.3.2/lib/google/api/field_behavior_pb2_grpc.pyi +30 -0
  14. sift_stack_py-0.3.2/lib/google/api/http_pb2.py +31 -0
  15. sift_stack_py-0.3.2/lib/google/api/http_pb2.pyi +433 -0
  16. sift_stack_py-0.3.2/lib/google/api/http_pb2_grpc.py +4 -0
  17. sift_stack_py-0.3.2/lib/google/api/http_pb2_grpc.pyi +30 -0
  18. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/__init__.py +0 -0
  19. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/__init__.py +0 -0
  20. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/annotations_pb2.py +27 -0
  21. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/annotations_pb2.pyi +48 -0
  22. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/annotations_pb2_grpc.py +4 -0
  23. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/annotations_pb2_grpc.pyi +17 -0
  24. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/openapiv2_pb2.py +132 -0
  25. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/openapiv2_pb2.pyi +1533 -0
  26. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/openapiv2_pb2_grpc.py +4 -0
  27. sift_stack_py-0.3.2/lib/protoc_gen_openapiv2/options/openapiv2_pb2_grpc.pyi +17 -0
  28. sift_stack_py-0.3.2/lib/sift/__init__.py +0 -0
  29. sift_stack_py-0.3.2/lib/sift/annotation_logs/__init__.py +0 -0
  30. sift_stack_py-0.3.2/lib/sift/annotation_logs/v1/__init__.py +0 -0
  31. sift_stack_py-0.3.2/lib/sift/annotation_logs/v1/annotation_logs_pb2.py +115 -0
  32. sift_stack_py-0.3.2/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi +370 -0
  33. sift_stack_py-0.3.2/lib/sift/annotation_logs/v1/annotation_logs_pb2_grpc.py +135 -0
  34. sift_stack_py-0.3.2/lib/sift/annotation_logs/v1/annotation_logs_pb2_grpc.pyi +84 -0
  35. sift_stack_py-0.3.2/lib/sift/annotations/__init__.py +0 -0
  36. sift_stack_py-0.3.2/lib/sift/annotations/v1/__init__.py +0 -0
  37. sift_stack_py-0.3.2/lib/sift/annotations/v1/annotations_pb2.py +180 -0
  38. sift_stack_py-0.3.2/lib/sift/annotations/v1/annotations_pb2.pyi +539 -0
  39. sift_stack_py-0.3.2/lib/sift/annotations/v1/annotations_pb2_grpc.py +237 -0
  40. sift_stack_py-0.3.2/lib/sift/annotations/v1/annotations_pb2_grpc.pyi +144 -0
  41. sift_stack_py-0.3.2/lib/sift/assets/__init__.py +0 -0
  42. sift_stack_py-0.3.2/lib/sift/assets/v1/__init__.py +0 -0
  43. sift_stack_py-0.3.2/lib/sift/assets/v1/assets_pb2.py +90 -0
  44. sift_stack_py-0.3.2/lib/sift/assets/v1/assets_pb2.pyi +235 -0
  45. sift_stack_py-0.3.2/lib/sift/assets/v1/assets_pb2_grpc.py +168 -0
  46. sift_stack_py-0.3.2/lib/sift/assets/v1/assets_pb2_grpc.pyi +101 -0
  47. sift_stack_py-0.3.2/lib/sift/calculated_channels/__init__.py +0 -0
  48. sift_stack_py-0.3.2/lib/sift/calculated_channels/v1/__init__.py +0 -0
  49. sift_stack_py-0.3.2/lib/sift/calculated_channels/v1/calculated_channels_pb2.py +99 -0
  50. sift_stack_py-0.3.2/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi +280 -0
  51. sift_stack_py-0.3.2/lib/sift/calculated_channels/v1/calculated_channels_pb2_grpc.py +101 -0
  52. sift_stack_py-0.3.2/lib/sift/calculated_channels/v1/calculated_channels_pb2_grpc.pyi +64 -0
  53. sift_stack_py-0.3.2/lib/sift/campaigns/__init__.py +0 -0
  54. sift_stack_py-0.3.2/lib/sift/campaigns/v1/__init__.py +0 -0
  55. sift_stack_py-0.3.2/lib/sift/campaigns/v1/campaigns_pb2.py +144 -0
  56. sift_stack_py-0.3.2/lib/sift/campaigns/v1/campaigns_pb2.pyi +383 -0
  57. sift_stack_py-0.3.2/lib/sift/campaigns/v1/campaigns_pb2_grpc.py +169 -0
  58. sift_stack_py-0.3.2/lib/sift/campaigns/v1/campaigns_pb2_grpc.pyi +104 -0
  59. sift_stack_py-0.3.2/lib/sift/channel_schemas/__init__.py +0 -0
  60. sift_stack_py-0.3.2/lib/sift/channel_schemas/v1/__init__.py +0 -0
  61. sift_stack_py-0.3.2/lib/sift/channel_schemas/v1/channel_schemas_pb2.py +69 -0
  62. sift_stack_py-0.3.2/lib/sift/channel_schemas/v1/channel_schemas_pb2.pyi +117 -0
  63. sift_stack_py-0.3.2/lib/sift/channel_schemas/v1/channel_schemas_pb2_grpc.py +101 -0
  64. sift_stack_py-0.3.2/lib/sift/channel_schemas/v1/channel_schemas_pb2_grpc.pyi +64 -0
  65. sift_stack_py-0.3.2/lib/sift/channels/__init__.py +0 -0
  66. sift_stack_py-0.3.2/lib/sift/channels/v2/__init__.py +0 -0
  67. sift_stack_py-0.3.2/lib/sift/channels/v2/channels_pb2.py +88 -0
  68. sift_stack_py-0.3.2/lib/sift/channels/v2/channels_pb2.pyi +183 -0
  69. sift_stack_py-0.3.2/lib/sift/channels/v2/channels_pb2_grpc.py +101 -0
  70. sift_stack_py-0.3.2/lib/sift/channels/v2/channels_pb2_grpc.pyi +64 -0
  71. sift_stack_py-0.3.2/lib/sift/common/__init__.py +0 -0
  72. sift_stack_py-0.3.2/lib/sift/common/type/__init__.py +0 -0
  73. sift_stack_py-0.3.2/lib/sift/common/type/v1/__init__.py +0 -0
  74. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_bit_field_element_pb2.py +34 -0
  75. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_bit_field_element_pb2.pyi +33 -0
  76. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_bit_field_element_pb2_grpc.py +4 -0
  77. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_bit_field_element_pb2_grpc.pyi +17 -0
  78. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_data_type_pb2.py +29 -0
  79. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_data_type_pb2.pyi +50 -0
  80. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_data_type_pb2_grpc.py +4 -0
  81. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_data_type_pb2_grpc.pyi +17 -0
  82. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_enum_type_pb2.py +32 -0
  83. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_enum_type_pb2.pyi +29 -0
  84. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_enum_type_pb2_grpc.py +4 -0
  85. sift_stack_py-0.3.2/lib/sift/common/type/v1/channel_enum_type_pb2_grpc.pyi +17 -0
  86. sift_stack_py-0.3.2/lib/sift/common/type/v1/organization_pb2.py +27 -0
  87. sift_stack_py-0.3.2/lib/sift/common/type/v1/organization_pb2.pyi +29 -0
  88. sift_stack_py-0.3.2/lib/sift/common/type/v1/organization_pb2_grpc.py +4 -0
  89. sift_stack_py-0.3.2/lib/sift/common/type/v1/organization_pb2_grpc.pyi +17 -0
  90. sift_stack_py-0.3.2/lib/sift/common/type/v1/resource_identifier_pb2.py +46 -0
  91. sift_stack_py-0.3.2/lib/sift/common/type/v1/resource_identifier_pb2.pyi +145 -0
  92. sift_stack_py-0.3.2/lib/sift/common/type/v1/resource_identifier_pb2_grpc.py +4 -0
  93. sift_stack_py-0.3.2/lib/sift/common/type/v1/resource_identifier_pb2_grpc.pyi +17 -0
  94. sift_stack_py-0.3.2/lib/sift/common/type/v1/user_pb2.py +33 -0
  95. sift_stack_py-0.3.2/lib/sift/common/type/v1/user_pb2.pyi +36 -0
  96. sift_stack_py-0.3.2/lib/sift/common/type/v1/user_pb2_grpc.py +4 -0
  97. sift_stack_py-0.3.2/lib/sift/common/type/v1/user_pb2_grpc.pyi +17 -0
  98. sift_stack_py-0.3.2/lib/sift/data/__init__.py +0 -0
  99. sift_stack_py-0.3.2/lib/sift/data/v1/__init__.py +0 -0
  100. sift_stack_py-0.3.2/lib/sift/data/v1/data_pb2.py +212 -0
  101. sift_stack_py-0.3.2/lib/sift/data/v1/data_pb2.pyi +745 -0
  102. sift_stack_py-0.3.2/lib/sift/data/v1/data_pb2_grpc.py +67 -0
  103. sift_stack_py-0.3.2/lib/sift/data/v1/data_pb2_grpc.pyi +44 -0
  104. sift_stack_py-0.3.2/lib/sift/ingest/__init__.py +0 -0
  105. sift_stack_py-0.3.2/lib/sift/ingest/v1/__init__.py +0 -0
  106. sift_stack_py-0.3.2/lib/sift/ingest/v1/ingest_pb2.py +35 -0
  107. sift_stack_py-0.3.2/lib/sift/ingest/v1/ingest_pb2.pyi +118 -0
  108. sift_stack_py-0.3.2/lib/sift/ingest/v1/ingest_pb2_grpc.py +66 -0
  109. sift_stack_py-0.3.2/lib/sift/ingest/v1/ingest_pb2_grpc.pyi +41 -0
  110. sift_stack_py-0.3.2/lib/sift/ingestion_configs/__init__.py +0 -0
  111. sift_stack_py-0.3.2/lib/sift/ingestion_configs/v1/__init__.py +0 -0
  112. sift_stack_py-0.3.2/lib/sift/ingestion_configs/v1/ingestion_configs_pb2.py +115 -0
  113. sift_stack_py-0.3.2/lib/sift/ingestion_configs/v1/ingestion_configs_pb2.pyi +332 -0
  114. sift_stack_py-0.3.2/lib/sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.py +203 -0
  115. sift_stack_py-0.3.2/lib/sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.pyi +124 -0
  116. sift_stack_py-0.3.2/lib/sift/notifications/__init__.py +0 -0
  117. sift_stack_py-0.3.2/lib/sift/notifications/v1/__init__.py +0 -0
  118. sift_stack_py-0.3.2/lib/sift/notifications/v1/notifications_pb2.py +64 -0
  119. sift_stack_py-0.3.2/lib/sift/notifications/v1/notifications_pb2.pyi +225 -0
  120. sift_stack_py-0.3.2/lib/sift/notifications/v1/notifications_pb2_grpc.py +101 -0
  121. sift_stack_py-0.3.2/lib/sift/notifications/v1/notifications_pb2_grpc.pyi +64 -0
  122. sift_stack_py-0.3.2/lib/sift/ping/__init__.py +0 -0
  123. sift_stack_py-0.3.2/lib/sift/ping/v1/__init__.py +0 -0
  124. sift_stack_py-0.3.2/lib/sift/ping/v1/ping_pb2.py +38 -0
  125. sift_stack_py-0.3.2/lib/sift/ping/v1/ping_pb2.pyi +36 -0
  126. sift_stack_py-0.3.2/lib/sift/ping/v1/ping_pb2_grpc.py +66 -0
  127. sift_stack_py-0.3.2/lib/sift/ping/v1/ping_pb2_grpc.pyi +41 -0
  128. sift_stack_py-0.3.2/lib/sift/remote_files/__init__.py +0 -0
  129. sift_stack_py-0.3.2/lib/sift/remote_files/v1/__init__.py +0 -0
  130. sift_stack_py-0.3.2/lib/sift/remote_files/v1/remote_files_pb2.py +174 -0
  131. sift_stack_py-0.3.2/lib/sift/remote_files/v1/remote_files_pb2.pyi +472 -0
  132. sift_stack_py-0.3.2/lib/sift/remote_files/v1/remote_files_pb2_grpc.py +271 -0
  133. sift_stack_py-0.3.2/lib/sift/remote_files/v1/remote_files_pb2_grpc.pyi +164 -0
  134. sift_stack_py-0.3.2/lib/sift/report_templates/__init__.py +0 -0
  135. sift_stack_py-0.3.2/lib/sift/report_templates/v1/__init__.py +0 -0
  136. sift_stack_py-0.3.2/lib/sift/report_templates/v1/report_templates_pb2.py +146 -0
  137. sift_stack_py-0.3.2/lib/sift/report_templates/v1/report_templates_pb2.pyi +381 -0
  138. sift_stack_py-0.3.2/lib/sift/report_templates/v1/report_templates_pb2_grpc.py +169 -0
  139. sift_stack_py-0.3.2/lib/sift/report_templates/v1/report_templates_pb2_grpc.pyi +104 -0
  140. sift_stack_py-0.3.2/lib/sift/reports/__init__.py +0 -0
  141. sift_stack_py-0.3.2/lib/sift/reports/v1/__init__.py +0 -0
  142. sift_stack_py-0.3.2/lib/sift/reports/v1/reports_pb2.py +193 -0
  143. sift_stack_py-0.3.2/lib/sift/reports/v1/reports_pb2.pyi +562 -0
  144. sift_stack_py-0.3.2/lib/sift/reports/v1/reports_pb2_grpc.py +205 -0
  145. sift_stack_py-0.3.2/lib/sift/reports/v1/reports_pb2_grpc.pyi +136 -0
  146. sift_stack_py-0.3.2/lib/sift/rule_evaluation/__init__.py +0 -0
  147. sift_stack_py-0.3.2/lib/sift/rule_evaluation/v1/__init__.py +0 -0
  148. sift_stack_py-0.3.2/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py +89 -0
  149. sift_stack_py-0.3.2/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.pyi +263 -0
  150. sift_stack_py-0.3.2/lib/sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.py +101 -0
  151. sift_stack_py-0.3.2/lib/sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.pyi +64 -0
  152. sift_stack_py-0.3.2/lib/sift/rules/__init__.py +0 -0
  153. sift_stack_py-0.3.2/lib/sift/rules/v1/__init__.py +0 -0
  154. sift_stack_py-0.3.2/lib/sift/rules/v1/rules_pb2.py +420 -0
  155. sift_stack_py-0.3.2/lib/sift/rules/v1/rules_pb2.pyi +1355 -0
  156. sift_stack_py-0.3.2/lib/sift/rules/v1/rules_pb2_grpc.py +577 -0
  157. sift_stack_py-0.3.2/lib/sift/rules/v1/rules_pb2_grpc.pyi +351 -0
  158. sift_stack_py-0.3.2/lib/sift/runs/__init__.py +0 -0
  159. sift_stack_py-0.3.2/lib/sift/runs/v2/__init__.py +0 -0
  160. sift_stack_py-0.3.2/lib/sift/runs/v2/runs_pb2.py +150 -0
  161. sift_stack_py-0.3.2/lib/sift/runs/v2/runs_pb2.pyi +413 -0
  162. sift_stack_py-0.3.2/lib/sift/runs/v2/runs_pb2_grpc.py +271 -0
  163. sift_stack_py-0.3.2/lib/sift/runs/v2/runs_pb2_grpc.pyi +164 -0
  164. sift_stack_py-0.3.2/lib/sift/saved_searches/__init__.py +0 -0
  165. sift_stack_py-0.3.2/lib/sift/saved_searches/v1/__init__.py +0 -0
  166. sift_stack_py-0.3.2/lib/sift/saved_searches/v1/saved_searches_pb2.py +144 -0
  167. sift_stack_py-0.3.2/lib/sift/saved_searches/v1/saved_searches_pb2.pyi +385 -0
  168. sift_stack_py-0.3.2/lib/sift/saved_searches/v1/saved_searches_pb2_grpc.py +237 -0
  169. sift_stack_py-0.3.2/lib/sift/saved_searches/v1/saved_searches_pb2_grpc.pyi +144 -0
  170. sift_stack_py-0.3.2/lib/sift/tags/__init__.py +0 -0
  171. sift_stack_py-0.3.2/lib/sift/tags/v1/__init__.py +0 -0
  172. sift_stack_py-0.3.2/lib/sift/tags/v1/tags_pb2.py +49 -0
  173. sift_stack_py-0.3.2/lib/sift/tags/v1/tags_pb2.pyi +71 -0
  174. sift_stack_py-0.3.2/lib/sift/tags/v1/tags_pb2_grpc.py +4 -0
  175. sift_stack_py-0.3.2/lib/sift/tags/v1/tags_pb2_grpc.pyi +17 -0
  176. sift_stack_py-0.3.2/lib/sift/users/__init__.py +0 -0
  177. sift_stack_py-0.3.2/lib/sift/users/v2/__init__.py +0 -0
  178. sift_stack_py-0.3.2/lib/sift/users/v2/users_pb2.py +61 -0
  179. sift_stack_py-0.3.2/lib/sift/users/v2/users_pb2.pyi +142 -0
  180. sift_stack_py-0.3.2/lib/sift/users/v2/users_pb2_grpc.py +135 -0
  181. sift_stack_py-0.3.2/lib/sift/users/v2/users_pb2_grpc.pyi +84 -0
  182. sift_stack_py-0.3.2/lib/sift/views/__init__.py +0 -0
  183. sift_stack_py-0.3.2/lib/sift/views/v1/__init__.py +0 -0
  184. sift_stack_py-0.3.2/lib/sift/views/v1/views_pb2.py +130 -0
  185. sift_stack_py-0.3.2/lib/sift/views/v1/views_pb2.pyi +466 -0
  186. sift_stack_py-0.3.2/lib/sift/views/v1/views_pb2_grpc.py +305 -0
  187. sift_stack_py-0.3.2/lib/sift/views/v1/views_pb2_grpc.pyi +184 -0
  188. sift_stack_py-0.3.2/lib/sift_grafana/py.typed +0 -0
  189. sift_stack_py-0.3.2/lib/sift_grafana/sift_query_model.py +64 -0
  190. sift_stack_py-0.3.2/lib/sift_py/__init__.py +923 -0
  191. sift_stack_py-0.3.2/lib/sift_py/_internal/__init__.py +5 -0
  192. sift_stack_py-0.3.2/lib/sift_py/_internal/cel.py +18 -0
  193. sift_stack_py-0.3.2/lib/sift_py/_internal/channel.py +42 -0
  194. sift_stack_py-0.3.2/lib/sift_py/_internal/convert/__init__.py +3 -0
  195. sift_stack_py-0.3.2/lib/sift_py/_internal/convert/json.py +24 -0
  196. sift_stack_py-0.3.2/lib/sift_py/_internal/convert/protobuf.py +34 -0
  197. sift_stack_py-0.3.2/lib/sift_py/_internal/convert/timestamp.py +9 -0
  198. sift_stack_py-0.3.2/lib/sift_py/_internal/test_util/__init__.py +0 -0
  199. sift_stack_py-0.3.2/lib/sift_py/_internal/test_util/channel.py +136 -0
  200. sift_stack_py-0.3.2/lib/sift_py/_internal/test_util/fn.py +14 -0
  201. sift_stack_py-0.3.2/lib/sift_py/_internal/test_util/server_interceptor.py +62 -0
  202. sift_stack_py-0.3.2/lib/sift_py/_internal/time.py +48 -0
  203. sift_stack_py-0.3.2/lib/sift_py/_internal/user.py +39 -0
  204. sift_stack_py-0.3.2/lib/sift_py/data/__init__.py +171 -0
  205. sift_stack_py-0.3.2/lib/sift_py/data/_channel.py +38 -0
  206. sift_stack_py-0.3.2/lib/sift_py/data/_deserialize.py +208 -0
  207. sift_stack_py-0.3.2/lib/sift_py/data/_deserialize_test.py +134 -0
  208. sift_stack_py-0.3.2/lib/sift_py/data/_service_test.py +276 -0
  209. sift_stack_py-0.3.2/lib/sift_py/data/_validate.py +10 -0
  210. sift_stack_py-0.3.2/lib/sift_py/data/error.py +5 -0
  211. sift_stack_py-0.3.2/lib/sift_py/data/query.py +299 -0
  212. sift_stack_py-0.3.2/lib/sift_py/data/service.py +497 -0
  213. sift_stack_py-0.3.2/lib/sift_py/data_import/__init__.py +130 -0
  214. sift_stack_py-0.3.2/lib/sift_py/data_import/_config.py +167 -0
  215. sift_stack_py-0.3.2/lib/sift_py/data_import/_config_test.py +166 -0
  216. sift_stack_py-0.3.2/lib/sift_py/data_import/_csv_test.py +395 -0
  217. sift_stack_py-0.3.2/lib/sift_py/data_import/_status_test.py +176 -0
  218. sift_stack_py-0.3.2/lib/sift_py/data_import/_tdms_test.py +238 -0
  219. sift_stack_py-0.3.2/lib/sift_py/data_import/ch10.py +157 -0
  220. sift_stack_py-0.3.2/lib/sift_py/data_import/config.py +19 -0
  221. sift_stack_py-0.3.2/lib/sift_py/data_import/csv.py +259 -0
  222. sift_stack_py-0.3.2/lib/sift_py/data_import/status.py +113 -0
  223. sift_stack_py-0.3.2/lib/sift_py/data_import/tdms.py +206 -0
  224. sift_stack_py-0.3.2/lib/sift_py/data_import/tempfile.py +30 -0
  225. sift_stack_py-0.3.2/lib/sift_py/data_import/time_format.py +39 -0
  226. sift_stack_py-0.3.2/lib/sift_py/error.py +11 -0
  227. sift_stack_py-0.3.2/lib/sift_py/file_attachment/__init__.py +88 -0
  228. sift_stack_py-0.3.2/lib/sift_py/file_attachment/_internal/__init__.py +0 -0
  229. sift_stack_py-0.3.2/lib/sift_py/file_attachment/_internal/download.py +13 -0
  230. sift_stack_py-0.3.2/lib/sift_py/file_attachment/_internal/upload.py +100 -0
  231. sift_stack_py-0.3.2/lib/sift_py/file_attachment/_service_test.py +161 -0
  232. sift_stack_py-0.3.2/lib/sift_py/file_attachment/entity.py +30 -0
  233. sift_stack_py-0.3.2/lib/sift_py/file_attachment/metadata.py +107 -0
  234. sift_stack_py-0.3.2/lib/sift_py/file_attachment/service.py +142 -0
  235. sift_stack_py-0.3.2/lib/sift_py/grpc/__init__.py +15 -0
  236. sift_stack_py-0.3.2/lib/sift_py/grpc/_async_interceptors/__init__.py +0 -0
  237. sift_stack_py-0.3.2/lib/sift_py/grpc/_async_interceptors/base.py +72 -0
  238. sift_stack_py-0.3.2/lib/sift_py/grpc/_async_interceptors/metadata.py +36 -0
  239. sift_stack_py-0.3.2/lib/sift_py/grpc/_interceptors/__init__.py +0 -0
  240. sift_stack_py-0.3.2/lib/sift_py/grpc/_interceptors/base.py +61 -0
  241. sift_stack_py-0.3.2/lib/sift_py/grpc/_interceptors/context.py +25 -0
  242. sift_stack_py-0.3.2/lib/sift_py/grpc/_interceptors/metadata.py +33 -0
  243. sift_stack_py-0.3.2/lib/sift_py/grpc/_retry.py +70 -0
  244. sift_stack_py-0.3.2/lib/sift_py/grpc/keepalive.py +34 -0
  245. sift_stack_py-0.3.2/lib/sift_py/grpc/transport.py +250 -0
  246. sift_stack_py-0.3.2/lib/sift_py/grpc/transport_test.py +170 -0
  247. sift_stack_py-0.3.2/lib/sift_py/ingestion/__init__.py +6 -0
  248. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/__init__.py +6 -0
  249. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/channel.py +12 -0
  250. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/error.py +10 -0
  251. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/ingest.py +350 -0
  252. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/ingest_test.py +357 -0
  253. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/ingestion_config.py +130 -0
  254. sift_stack_py-0.3.2/lib/sift_py/ingestion/_internal/run.py +46 -0
  255. sift_stack_py-0.3.2/lib/sift_py/ingestion/_service_test.py +478 -0
  256. sift_stack_py-0.3.2/lib/sift_py/ingestion/buffer.py +189 -0
  257. sift_stack_py-0.3.2/lib/sift_py/ingestion/channel.py +422 -0
  258. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/__init__.py +3 -0
  259. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/telemetry.py +281 -0
  260. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/telemetry_test.py +405 -0
  261. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/yaml/__init__.py +0 -0
  262. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/yaml/error.py +44 -0
  263. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/yaml/load.py +126 -0
  264. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/yaml/spec.py +58 -0
  265. sift_stack_py-0.3.2/lib/sift_py/ingestion/config/yaml/test_load.py +25 -0
  266. sift_stack_py-0.3.2/lib/sift_py/ingestion/flow.py +73 -0
  267. sift_stack_py-0.3.2/lib/sift_py/ingestion/manager.py +99 -0
  268. sift_stack_py-0.3.2/lib/sift_py/ingestion/rule/__init__.py +4 -0
  269. sift_stack_py-0.3.2/lib/sift_py/ingestion/rule/config.py +11 -0
  270. sift_stack_py-0.3.2/lib/sift_py/ingestion/service.py +237 -0
  271. sift_stack_py-0.3.2/lib/sift_py/py.typed +0 -0
  272. sift_stack_py-0.3.2/lib/sift_py/report_templates/__init__.py +0 -0
  273. sift_stack_py-0.3.2/lib/sift_py/report_templates/_config_test.py +34 -0
  274. sift_stack_py-0.3.2/lib/sift_py/report_templates/_service_test.py +94 -0
  275. sift_stack_py-0.3.2/lib/sift_py/report_templates/config.py +36 -0
  276. sift_stack_py-0.3.2/lib/sift_py/report_templates/service.py +171 -0
  277. sift_stack_py-0.3.2/lib/sift_py/rest.py +29 -0
  278. sift_stack_py-0.3.2/lib/sift_py/rule/__init__.py +0 -0
  279. sift_stack_py-0.3.2/lib/sift_py/rule/_config_test.py +109 -0
  280. sift_stack_py-0.3.2/lib/sift_py/rule/_service_test.py +168 -0
  281. sift_stack_py-0.3.2/lib/sift_py/rule/config.py +229 -0
  282. sift_stack_py-0.3.2/lib/sift_py/rule/service.py +484 -0
  283. sift_stack_py-0.3.2/lib/sift_py/yaml/__init__.py +0 -0
  284. sift_stack_py-0.3.2/lib/sift_py/yaml/_channel_test.py +169 -0
  285. sift_stack_py-0.3.2/lib/sift_py/yaml/_rule_test.py +207 -0
  286. sift_stack_py-0.3.2/lib/sift_py/yaml/channel.py +224 -0
  287. sift_stack_py-0.3.2/lib/sift_py/yaml/report_templates.py +73 -0
  288. sift_stack_py-0.3.2/lib/sift_py/yaml/rule.py +321 -0
  289. sift_stack_py-0.3.2/lib/sift_py/yaml/utils.py +15 -0
  290. sift_stack_py-0.3.2/lib/sift_stack_py.egg-info/PKG-INFO +109 -0
  291. sift_stack_py-0.3.2/lib/sift_stack_py.egg-info/SOURCES.txt +295 -0
  292. sift_stack_py-0.3.2/lib/sift_stack_py.egg-info/dependency_links.txt +1 -0
  293. sift_stack_py-0.3.2/lib/sift_stack_py.egg-info/requires.txt +35 -0
  294. sift_stack_py-0.3.2/lib/sift_stack_py.egg-info/top_level.txt +5 -0
  295. sift_stack_py-0.3.2/pyproject.toml +169 -0
  296. sift_stack_py-0.3.2/setup.cfg +4 -0
  297. sift_stack_py-0.3.2/setup.py +3 -0
@@ -0,0 +1,7 @@
1
+ Copyright (c) 2024 Azimuth Industries Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.1
2
+ Name: sift_stack_py
3
+ Version: 0.3.2
4
+ Summary: Python client library for the Sift API
5
+ Maintainer-email: Sift Software Engineers <engineering@siftstack.com>
6
+ License: Copyright (c) 2024 Azimuth Industries Inc.
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13
+
14
+ Project-URL: Homepage, https://github.com/sift-stack/sift/tree/main/python
15
+ Project-URL: Documentation, https://docs.siftstack.com/sift_py/sift_py.html
16
+ Project-URL: Repository, https://github.com/sift-stack/sift/tree/main/python
17
+ Project-URL: Changelog, https://github.com/sift-stack/sift/tree/main/python/CHANGELOG.md
18
+ Keywords: sift,sift-stack,siftstack,sift_py
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Requires-Python: >=3.8
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: grpcio~=1.13
29
+ Requires-Dist: PyYAML~=6.0
30
+ Requires-Dist: pandas~=2.0
31
+ Requires-Dist: protobuf>=4.0
32
+ Requires-Dist: pydantic~=2.0
33
+ Requires-Dist: pydantic_core~=2.3
34
+ Requires-Dist: requests~=2.25
35
+ Requires-Dist: requests-toolbelt~=1.0
36
+ Requires-Dist: pandas-stubs~=2.0
37
+ Requires-Dist: types-PyYAML~=6.0
38
+ Requires-Dist: types-protobuf>=4.0
39
+ Requires-Dist: typing-extensions~=4.6
40
+ Requires-Dist: types-requests~=2.25
41
+ Provides-Extra: development
42
+ Requires-Dist: grpcio-testing~=1.13; extra == "development"
43
+ Requires-Dist: mypy==1.10.0; extra == "development"
44
+ Requires-Dist: pyright==1.1.386; extra == "development"
45
+ Requires-Dist: pytest==8.2.2; extra == "development"
46
+ Requires-Dist: pytest-asyncio==0.23.7; extra == "development"
47
+ Requires-Dist: pytest-benchmark==4.0.0; extra == "development"
48
+ Requires-Dist: pytest-mock==3.14.0; extra == "development"
49
+ Requires-Dist: ruff; extra == "development"
50
+ Provides-Extra: build
51
+ Requires-Dist: pdoc==14.5.0; extra == "build"
52
+ Requires-Dist: build==1.2.1; extra == "build"
53
+ Provides-Extra: openssl
54
+ Requires-Dist: pyOpenSSL<24.0.0; extra == "openssl"
55
+ Requires-Dist: types-pyOpenSSL<24.0.0; extra == "openssl"
56
+ Requires-Dist: cffi~=1.14; extra == "openssl"
57
+ Provides-Extra: tdms
58
+ Requires-Dist: npTDMS~=1.9; extra == "tdms"
59
+
60
+ # Sift Python
61
+ [![pypi](https://img.shields.io/pypi/v/sift-stack-py)](https://pypi.org/project/sift-stack-py/)
62
+ [![pypi](https://img.shields.io/pypi/pyversions/sift-stack-py)](https://pypi.org/project/sift-stack-py/)
63
+ [![docs](https://readthedocs.org/projects/pip/badge/)](https://docs.siftstack.com/sift_py/sift_py.html)
64
+
65
+ This library offers a Python API on top of Sift's protocol buffers to ergonomically interface with the Sift gRPC API.
66
+
67
+ ## Installation
68
+
69
+ To install the Sift Python library:
70
+
71
+ ```
72
+ $ pip install sift-stack-py
73
+ ```
74
+
75
+ ## Documentation
76
+
77
+ Documentation can be found at [this link](https://docs.siftstack.com/sift_py/sift_py.html), however, if you need
78
+ to build the documentation for offline use, read on.
79
+
80
+ ### Offline documentation
81
+
82
+ To build the documentation locally:
83
+
84
+ Clone the main `sift` repository:
85
+
86
+ ```
87
+ $ git clone https://github.com/sift-stack/sift.git
88
+ ```
89
+
90
+ Set your working directory to this project sub-directory:
91
+
92
+ ```
93
+ $ cd python
94
+ ```
95
+
96
+ Install [pdoc](https://pypi.org/project/pdoc/):
97
+
98
+ ```
99
+ $ pip install pdoc
100
+ ```
101
+
102
+ Run `pdoc`.
103
+
104
+ ```
105
+ $ pdoc lib/sift_py
106
+ ```
107
+
108
+ You may optionally set the host and port used by the `pdoc` web-server using the `-p` and `-h` options.
109
+ See `pdoc --help` for more info.
@@ -0,0 +1,50 @@
1
+ # Sift Python
2
+ [![pypi](https://img.shields.io/pypi/v/sift-stack-py)](https://pypi.org/project/sift-stack-py/)
3
+ [![pypi](https://img.shields.io/pypi/pyversions/sift-stack-py)](https://pypi.org/project/sift-stack-py/)
4
+ [![docs](https://readthedocs.org/projects/pip/badge/)](https://docs.siftstack.com/sift_py/sift_py.html)
5
+
6
+ This library offers a Python API on top of Sift's protocol buffers to ergonomically interface with the Sift gRPC API.
7
+
8
+ ## Installation
9
+
10
+ To install the Sift Python library:
11
+
12
+ ```
13
+ $ pip install sift-stack-py
14
+ ```
15
+
16
+ ## Documentation
17
+
18
+ Documentation can be found at [this link](https://docs.siftstack.com/sift_py/sift_py.html), however, if you need
19
+ to build the documentation for offline use, read on.
20
+
21
+ ### Offline documentation
22
+
23
+ To build the documentation locally:
24
+
25
+ Clone the main `sift` repository:
26
+
27
+ ```
28
+ $ git clone https://github.com/sift-stack/sift.git
29
+ ```
30
+
31
+ Set your working directory to this project sub-directory:
32
+
33
+ ```
34
+ $ cd python
35
+ ```
36
+
37
+ Install [pdoc](https://pypi.org/project/pdoc/):
38
+
39
+ ```
40
+ $ pip install pdoc
41
+ ```
42
+
43
+ Run `pdoc`.
44
+
45
+ ```
46
+ $ pdoc lib/sift_py
47
+ ```
48
+
49
+ You may optionally set the host and port used by the `pdoc` web-server using the `-p` and `-h` options.
50
+ See `pdoc --help` for more info.
@@ -0,0 +1 @@
1
+ __path__ = __import__('pkgutil').extend_path(__path__, __name__)
File without changes
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/api/annotations.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.api import http_pb2 as google_dot_api_dot_http__pb2
16
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:K\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleR\x04httpB\xae\x01\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3')
20
+
21
+ _globals = globals()
22
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.annotations_pb2', _globals)
24
+ if not _descriptor._USE_C_DESCRIPTORS:
25
+ _globals['DESCRIPTOR']._loaded_options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api'
27
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,29 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ Copyright 2024 Google LLC
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ """
18
+
19
+ import builtins
20
+ import google.api.http_pb2
21
+ import google.protobuf.descriptor
22
+ import google.protobuf.descriptor_pb2
23
+ import google.protobuf.internal.extension_dict
24
+
25
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
26
+
27
+ HTTP_FIELD_NUMBER: builtins.int
28
+ http: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MethodOptions, google.api.http_pb2.HttpRule]
29
+ """See `HttpRule`."""
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,30 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ Copyright 2024 Google LLC
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ """
18
+
19
+ import abc
20
+ import collections.abc
21
+ import grpc
22
+ import grpc.aio
23
+ import typing
24
+
25
+ _T = typing.TypeVar("_T")
26
+
27
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
28
+
29
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
30
+ ...
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/api/field_behavior.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fgoogle/api/field_behavior.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto*\xb6\x01\n\rFieldBehavior\x12\x1e\n\x1a\x46IELD_BEHAVIOR_UNSPECIFIED\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\x12\x0c\n\x08REQUIRED\x10\x02\x12\x0f\n\x0bOUTPUT_ONLY\x10\x03\x12\x0e\n\nINPUT_ONLY\x10\x04\x12\r\n\tIMMUTABLE\x10\x05\x12\x12\n\x0eUNORDERED_LIST\x10\x06\x12\x15\n\x11NON_EMPTY_DEFAULT\x10\x07\x12\x0e\n\nIDENTIFIER\x10\x08:d\n\x0e\x66ield_behavior\x12\x1d.google.protobuf.FieldOptions\x18\x9c\x08 \x03(\x0e\x32\x19.google.api.FieldBehaviorB\x02\x10\x00R\rfieldBehaviorB\xb0\x01\n\x0e\x63om.google.apiB\x12\x46ieldBehaviorProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.field_behavior_pb2', _globals)
23
+ if not _descriptor._USE_C_DESCRIPTORS:
24
+ _globals['DESCRIPTOR']._loaded_options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\022FieldBehaviorProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api'
26
+ _globals['field_behavior']._loaded_options = None
27
+ _globals['field_behavior']._serialized_options = b'\020\000'
28
+ _globals['_FIELDBEHAVIOR']._serialized_start=82
29
+ _globals['_FIELDBEHAVIOR']._serialized_end=264
30
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,175 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ Copyright 2024 Google LLC
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ """
18
+
19
+ import builtins
20
+ import google.protobuf.descriptor
21
+ import google.protobuf.descriptor_pb2
22
+ import google.protobuf.internal.containers
23
+ import google.protobuf.internal.enum_type_wrapper
24
+ import google.protobuf.internal.extension_dict
25
+ import sys
26
+ import typing
27
+
28
+ if sys.version_info >= (3, 10):
29
+ import typing as typing_extensions
30
+ else:
31
+ import typing_extensions
32
+
33
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
34
+
35
+ class _FieldBehavior:
36
+ ValueType = typing.NewType("ValueType", builtins.int)
37
+ V: typing_extensions.TypeAlias = ValueType
38
+
39
+ class _FieldBehaviorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FieldBehavior.ValueType], builtins.type):
40
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
41
+ FIELD_BEHAVIOR_UNSPECIFIED: _FieldBehavior.ValueType # 0
42
+ """Conventional default for enums. Do not use this."""
43
+ OPTIONAL: _FieldBehavior.ValueType # 1
44
+ """Specifically denotes a field as optional.
45
+ While all fields in protocol buffers are optional, this may be specified
46
+ for emphasis if appropriate.
47
+ """
48
+ REQUIRED: _FieldBehavior.ValueType # 2
49
+ """Denotes a field as required.
50
+ This indicates that the field **must** be provided as part of the request,
51
+ and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
52
+ """
53
+ OUTPUT_ONLY: _FieldBehavior.ValueType # 3
54
+ """Denotes a field as output only.
55
+ This indicates that the field is provided in responses, but including the
56
+ field in a request does nothing (the server *must* ignore it and
57
+ *must not* throw an error as a result of the field's presence).
58
+ """
59
+ INPUT_ONLY: _FieldBehavior.ValueType # 4
60
+ """Denotes a field as input only.
61
+ This indicates that the field is provided in requests, and the
62
+ corresponding field is not included in output.
63
+ """
64
+ IMMUTABLE: _FieldBehavior.ValueType # 5
65
+ """Denotes a field as immutable.
66
+ This indicates that the field may be set once in a request to create a
67
+ resource, but may not be changed thereafter.
68
+ """
69
+ UNORDERED_LIST: _FieldBehavior.ValueType # 6
70
+ """Denotes that a (repeated) field is an unordered list.
71
+ This indicates that the service may provide the elements of the list
72
+ in any arbitrary order, rather than the order the user originally
73
+ provided. Additionally, the list's order may or may not be stable.
74
+ """
75
+ NON_EMPTY_DEFAULT: _FieldBehavior.ValueType # 7
76
+ """Denotes that this field returns a non-empty default value if not set.
77
+ This indicates that if the user provides the empty value in a request,
78
+ a non-empty value will be returned. The user will not be aware of what
79
+ non-empty value to expect.
80
+ """
81
+ IDENTIFIER: _FieldBehavior.ValueType # 8
82
+ """Denotes that the field in a resource (a message annotated with
83
+ google.api.resource) is used in the resource name to uniquely identify the
84
+ resource. For AIP-compliant APIs, this should only be applied to the
85
+ `name` field on the resource.
86
+
87
+ This behavior should not be applied to references to other resources within
88
+ the message.
89
+
90
+ The identifier field of resources often have different field behavior
91
+ depending on the request it is embedded in (e.g. for Create methods name
92
+ is optional and unused, while for Update methods it is required). Instead
93
+ of method-specific annotations, only `IDENTIFIER` is required.
94
+ """
95
+
96
+ class FieldBehavior(_FieldBehavior, metaclass=_FieldBehaviorEnumTypeWrapper):
97
+ """An indicator of the behavior of a given field (for example, that a field
98
+ is required in requests, or given as output but ignored as input).
99
+ This **does not** change the behavior in protocol buffers itself; it only
100
+ denotes the behavior and may affect how API tooling handles the field.
101
+
102
+ Note: This enum **may** receive new values in the future.
103
+ """
104
+
105
+ FIELD_BEHAVIOR_UNSPECIFIED: FieldBehavior.ValueType # 0
106
+ """Conventional default for enums. Do not use this."""
107
+ OPTIONAL: FieldBehavior.ValueType # 1
108
+ """Specifically denotes a field as optional.
109
+ While all fields in protocol buffers are optional, this may be specified
110
+ for emphasis if appropriate.
111
+ """
112
+ REQUIRED: FieldBehavior.ValueType # 2
113
+ """Denotes a field as required.
114
+ This indicates that the field **must** be provided as part of the request,
115
+ and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
116
+ """
117
+ OUTPUT_ONLY: FieldBehavior.ValueType # 3
118
+ """Denotes a field as output only.
119
+ This indicates that the field is provided in responses, but including the
120
+ field in a request does nothing (the server *must* ignore it and
121
+ *must not* throw an error as a result of the field's presence).
122
+ """
123
+ INPUT_ONLY: FieldBehavior.ValueType # 4
124
+ """Denotes a field as input only.
125
+ This indicates that the field is provided in requests, and the
126
+ corresponding field is not included in output.
127
+ """
128
+ IMMUTABLE: FieldBehavior.ValueType # 5
129
+ """Denotes a field as immutable.
130
+ This indicates that the field may be set once in a request to create a
131
+ resource, but may not be changed thereafter.
132
+ """
133
+ UNORDERED_LIST: FieldBehavior.ValueType # 6
134
+ """Denotes that a (repeated) field is an unordered list.
135
+ This indicates that the service may provide the elements of the list
136
+ in any arbitrary order, rather than the order the user originally
137
+ provided. Additionally, the list's order may or may not be stable.
138
+ """
139
+ NON_EMPTY_DEFAULT: FieldBehavior.ValueType # 7
140
+ """Denotes that this field returns a non-empty default value if not set.
141
+ This indicates that if the user provides the empty value in a request,
142
+ a non-empty value will be returned. The user will not be aware of what
143
+ non-empty value to expect.
144
+ """
145
+ IDENTIFIER: FieldBehavior.ValueType # 8
146
+ """Denotes that the field in a resource (a message annotated with
147
+ google.api.resource) is used in the resource name to uniquely identify the
148
+ resource. For AIP-compliant APIs, this should only be applied to the
149
+ `name` field on the resource.
150
+
151
+ This behavior should not be applied to references to other resources within
152
+ the message.
153
+
154
+ The identifier field of resources often have different field behavior
155
+ depending on the request it is embedded in (e.g. for Create methods name
156
+ is optional and unused, while for Update methods it is required). Instead
157
+ of method-specific annotations, only `IDENTIFIER` is required.
158
+ """
159
+ global___FieldBehavior = FieldBehavior
160
+
161
+ FIELD_BEHAVIOR_FIELD_NUMBER: builtins.int
162
+ field_behavior: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.FieldOptions, google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___FieldBehavior.ValueType]]
163
+ """A designation of a specific field behavior (required, output only, etc.)
164
+ in protobuf messages.
165
+
166
+ Examples:
167
+
168
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
169
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
170
+ google.protobuf.Duration ttl = 1
171
+ [(google.api.field_behavior) = INPUT_ONLY];
172
+ google.protobuf.Timestamp expire_time = 1
173
+ [(google.api.field_behavior) = OUTPUT_ONLY,
174
+ (google.api.field_behavior) = IMMUTABLE];
175
+ """
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,30 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ Copyright 2024 Google LLC
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ """
18
+
19
+ import abc
20
+ import collections.abc
21
+ import grpc
22
+ import grpc.aio
23
+ import typing
24
+
25
+ _T = typing.TypeVar("_T")
26
+
27
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
28
+
29
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
30
+ ...
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/api/http.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/api/http.proto\x12\ngoogle.api\"y\n\x04Http\x12*\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRuleR\x05rules\x12\x45\n\x1f\x66ully_decode_reserved_expansion\x18\x02 \x01(\x08R\x1c\x66ullyDecodeReservedExpansion\"\xda\x02\n\x08HttpRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12\x12\n\x03get\x18\x02 \x01(\tH\x00R\x03get\x12\x12\n\x03put\x18\x03 \x01(\tH\x00R\x03put\x12\x14\n\x04post\x18\x04 \x01(\tH\x00R\x04post\x12\x18\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00R\x06\x64\x65lete\x12\x16\n\x05patch\x18\x06 \x01(\tH\x00R\x05patch\x12\x37\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00R\x06\x63ustom\x12\x12\n\x04\x62ody\x18\x07 \x01(\tR\x04\x62ody\x12#\n\rresponse_body\x18\x0c \x01(\tR\x0cresponseBody\x12\x45\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleR\x12\x61\x64\x64itionalBindingsB\t\n\x07pattern\";\n\x11\x43ustomHttpPattern\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x12\n\x04path\x18\x02 \x01(\tR\x04pathB\xaa\x01\n\x0e\x63om.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xf8\x01\x01\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.http_pb2', _globals)
22
+ if not _descriptor._USE_C_DESCRIPTORS:
23
+ _globals['DESCRIPTOR']._loaded_options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\370\001\001\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api'
25
+ _globals['_HTTP']._serialized_start=37
26
+ _globals['_HTTP']._serialized_end=158
27
+ _globals['_HTTPRULE']._serialized_start=161
28
+ _globals['_HTTPRULE']._serialized_end=507
29
+ _globals['_CUSTOMHTTPPATTERN']._serialized_start=509
30
+ _globals['_CUSTOMHTTPPATTERN']._serialized_end=568
31
+ # @@protoc_insertion_point(module_scope)