sift-stack-py 0.14.0__tar.gz → 0.16.0__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 (624) hide show
  1. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/PKG-INFO +6 -6
  2. sift_stack_py-0.16.0/lib/sift/comment/v1/comment_pb2.py +113 -0
  3. sift_stack_py-0.16.0/lib/sift/comment/v1/comment_pb2.pyi +325 -0
  4. sift_stack_py-0.16.0/lib/sift/comment/v1/comment_pb2_grpc.py +170 -0
  5. sift_stack_py-0.16.0/lib/sift/comment/v1/comment_pb2_grpc.pyi +110 -0
  6. sift_stack_py-0.16.0/lib/sift/common/v1/filter_field_pb2.py +29 -0
  7. sift_stack_py-0.16.0/lib/sift/common/v1/filter_field_pb2.pyi +88 -0
  8. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v1/data_pb2.pyi +2 -0
  9. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v2/data_pb2.pyi +2 -0
  10. sift_stack_py-0.16.0/lib/sift/external_sync/v1/external_sync_pb2.py +227 -0
  11. sift_stack_py-0.16.0/lib/sift/external_sync/v1/external_sync_pb2.pyi +572 -0
  12. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/external_sync/v1/external_sync_pb2_grpc.py +66 -0
  13. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/external_sync/v1/external_sync_pb2_grpc.pyi +34 -0
  14. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/notifications/v1/notifications_pb2.py +4 -4
  15. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/notifications/v1/notifications_pb2.pyi +2 -0
  16. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/report_templates/v1/report_templates_pb2.py +28 -26
  17. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/report_templates/v1/report_templates_pb2.pyi +21 -2
  18. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/reports/v1/reports_pb2.py +62 -54
  19. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/reports/v1/reports_pb2.pyi +49 -9
  20. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/reports/v1/reports_pb2_grpc.py +18 -3
  21. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/reports/v1/reports_pb2_grpc.pyi +21 -0
  22. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/runs/v2/runs_pb2.py +54 -37
  23. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/runs/v2/runs_pb2.pyi +67 -0
  24. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/runs/v2/runs_pb2_grpc.py +69 -0
  25. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/runs/v2/runs_pb2_grpc.pyi +46 -0
  26. sift_stack_py-0.16.0/lib/sift/tags/v1/tags_pb2_grpc.py +4 -0
  27. sift_stack_py-0.16.0/lib/sift/tags/v1/tags_pb2_grpc.pyi +17 -0
  28. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/test_reports/v1/test_reports_pb2.py +94 -86
  29. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/test_reports/v1/test_reports_pb2.pyi +40 -8
  30. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/calculated_channels.py +7 -5
  31. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/ingestion.py +49 -26
  32. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/test_results.py +15 -0
  33. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_test_results.py +360 -2
  34. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_results.py +224 -0
  35. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/util/test_test_results_utils.py +29 -3
  36. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/__init__.py +2 -1
  37. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/assets.py +4 -0
  38. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/calculated_channels.py +8 -0
  39. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/channels.py +4 -0
  40. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/data_imports.py +14 -2
  41. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/file_attachments.py +4 -0
  42. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/ingestion.py +50 -139
  43. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/jobs.py +4 -0
  44. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/reports.py +4 -0
  45. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/rules.py +8 -2
  46. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/runs.py +4 -0
  47. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/sync_stubs/__init__.pyi +42 -0
  48. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/tags.py +4 -0
  49. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/test_results.py +35 -6
  50. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/test_report.py +88 -11
  51. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/test_results/context_manager.py +78 -8
  52. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/test_results/pytest_util.py +9 -10
  53. sift_stack_py-0.16.0/lib/sift_py/rule/__init__.py +0 -0
  54. sift_stack_py-0.16.0/lib/sift_py/yaml/__init__.py +0 -0
  55. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/PKG-INFO +6 -6
  56. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/SOURCES.txt +10 -0
  57. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/requires.txt +5 -5
  58. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/pyproject.toml +8 -9
  59. sift_stack_py-0.14.0/lib/sift/external_sync/v1/external_sync_pb2.py +0 -127
  60. sift_stack_py-0.14.0/lib/sift/external_sync/v1/external_sync_pb2.pyi +0 -288
  61. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/LICENSE +0 -0
  62. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/README.md +0 -0
  63. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/__init__.py +0 -0
  64. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/__init__.py +0 -0
  65. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/v1/__init__.py +0 -0
  66. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/v1/annotation_logs_pb2.py +0 -0
  67. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi +0 -0
  68. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/v1/annotation_logs_pb2_grpc.py +0 -0
  69. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotation_logs/v1/annotation_logs_pb2_grpc.pyi +0 -0
  70. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/__init__.py +0 -0
  71. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/v1/__init__.py +0 -0
  72. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/v1/annotations_pb2.py +0 -0
  73. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/v1/annotations_pb2.pyi +0 -0
  74. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/v1/annotations_pb2_grpc.py +0 -0
  75. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/annotations/v1/annotations_pb2_grpc.pyi +0 -0
  76. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/__init__.py +0 -0
  77. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/v2/__init__.py +0 -0
  78. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/v2/api_keys_pb2.py +0 -0
  79. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/v2/api_keys_pb2.pyi +0 -0
  80. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/v2/api_keys_pb2_grpc.py +0 -0
  81. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/api_keys/v2/api_keys_pb2_grpc.pyi +0 -0
  82. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/__init__.py +0 -0
  83. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/v1/__init__.py +0 -0
  84. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/v1/assets_pb2.py +0 -0
  85. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/v1/assets_pb2.pyi +0 -0
  86. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/v1/assets_pb2_grpc.py +0 -0
  87. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/assets/v1/assets_pb2_grpc.pyi +0 -0
  88. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/__init__.py +0 -0
  89. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v1/__init__.py +0 -0
  90. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v1/calculated_channels_pb2.py +0 -0
  91. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi +0 -0
  92. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v1/calculated_channels_pb2_grpc.py +0 -0
  93. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v1/calculated_channels_pb2_grpc.pyi +0 -0
  94. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v2/__init__.py +0 -0
  95. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v2/calculated_channels_pb2.py +0 -0
  96. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v2/calculated_channels_pb2.pyi +0 -0
  97. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.py +0 -0
  98. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.pyi +0 -0
  99. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/__init__.py +0 -0
  100. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/v1/__init__.py +0 -0
  101. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/v1/campaigns_pb2.py +0 -0
  102. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/v1/campaigns_pb2.pyi +0 -0
  103. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/v1/campaigns_pb2_grpc.py +0 -0
  104. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/campaigns/v1/campaigns_pb2_grpc.pyi +0 -0
  105. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/__init__.py +0 -0
  106. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v1/__init__.py +0 -0
  107. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v1/channel_schemas_pb2.py +0 -0
  108. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v1/channel_schemas_pb2.pyi +0 -0
  109. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v1/channel_schemas_pb2_grpc.py +0 -0
  110. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v1/channel_schemas_pb2_grpc.pyi +0 -0
  111. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v2/__init__.py +0 -0
  112. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v2/channel_schemas_pb2.py +0 -0
  113. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v2/channel_schemas_pb2.pyi +0 -0
  114. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v2/channel_schemas_pb2_grpc.py +0 -0
  115. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channel_schemas/v2/channel_schemas_pb2_grpc.pyi +0 -0
  116. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/__init__.py +0 -0
  117. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v2/__init__.py +0 -0
  118. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v2/channels_pb2.py +0 -0
  119. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v2/channels_pb2.pyi +0 -0
  120. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v2/channels_pb2_grpc.py +0 -0
  121. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v2/channels_pb2_grpc.pyi +0 -0
  122. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v3/__init__.py +0 -0
  123. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v3/channels_pb2.py +0 -0
  124. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v3/channels_pb2.pyi +0 -0
  125. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v3/channels_pb2_grpc.py +0 -0
  126. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/channels/v3/channels_pb2_grpc.pyi +0 -0
  127. {sift_stack_py-0.14.0/lib/sift/common → sift_stack_py-0.16.0/lib/sift/comment}/__init__.py +0 -0
  128. {sift_stack_py-0.14.0/lib/sift/common/type → sift_stack_py-0.16.0/lib/sift/comment/v1}/__init__.py +0 -0
  129. {sift_stack_py-0.14.0/lib/sift/common/type/v1 → sift_stack_py-0.16.0/lib/sift/common}/__init__.py +0 -0
  130. {sift_stack_py-0.14.0/lib/sift/common/v1 → sift_stack_py-0.16.0/lib/sift/common/type}/__init__.py +0 -0
  131. {sift_stack_py-0.14.0/lib/sift/data → sift_stack_py-0.16.0/lib/sift/common/type/v1}/__init__.py +0 -0
  132. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/calculated_channels_pb2.py +0 -0
  133. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/calculated_channels_pb2.pyi +0 -0
  134. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/calculated_channels_pb2_grpc.py +0 -0
  135. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/calculated_channels_pb2_grpc.pyi +0 -0
  136. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_bit_field_element_pb2.py +0 -0
  137. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_bit_field_element_pb2.pyi +0 -0
  138. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_bit_field_element_pb2_grpc.py +0 -0
  139. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_bit_field_element_pb2_grpc.pyi +0 -0
  140. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_config_pb2.py +0 -0
  141. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_config_pb2.pyi +0 -0
  142. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_config_pb2_grpc.py +0 -0
  143. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_config_pb2_grpc.pyi +0 -0
  144. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_data_type_pb2.py +0 -0
  145. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_data_type_pb2.pyi +0 -0
  146. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_data_type_pb2_grpc.py +0 -0
  147. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_data_type_pb2_grpc.pyi +0 -0
  148. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_enum_type_pb2.py +0 -0
  149. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_enum_type_pb2.pyi +0 -0
  150. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_enum_type_pb2_grpc.py +0 -0
  151. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/channel_enum_type_pb2_grpc.pyi +0 -0
  152. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/organization_pb2.py +0 -0
  153. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/organization_pb2.pyi +0 -0
  154. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/organization_pb2_grpc.py +0 -0
  155. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/organization_pb2_grpc.pyi +0 -0
  156. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_identifier_pb2.py +0 -0
  157. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_identifier_pb2.pyi +0 -0
  158. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_identifier_pb2_grpc.py +0 -0
  159. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_identifier_pb2_grpc.pyi +0 -0
  160. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_ref_pb2.py +0 -0
  161. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_ref_pb2.pyi +0 -0
  162. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_ref_pb2_grpc.py +0 -0
  163. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/resource_ref_pb2_grpc.pyi +0 -0
  164. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_defined_functions_pb2.py +0 -0
  165. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_defined_functions_pb2.pyi +0 -0
  166. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_defined_functions_pb2_grpc.py +0 -0
  167. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_defined_functions_pb2_grpc.pyi +0 -0
  168. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_pb2.py +0 -0
  169. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_pb2.pyi +0 -0
  170. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_pb2_grpc.py +0 -0
  171. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/type/v1/user_pb2_grpc.pyi +0 -0
  172. {sift_stack_py-0.14.0/lib/sift/data → sift_stack_py-0.16.0/lib/sift/common}/v1/__init__.py +0 -0
  173. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/action_type_pb2.py +0 -0
  174. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/action_type_pb2.pyi +0 -0
  175. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/action_type_pb2_grpc.py +0 -0
  176. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/action_type_pb2_grpc.pyi +0 -0
  177. /sift_stack_py-0.14.0/lib/sift/common/v1/resource_type_pb2_grpc.py → /sift_stack_py-0.16.0/lib/sift/common/v1/filter_field_pb2_grpc.py +0 -0
  178. /sift_stack_py-0.14.0/lib/sift/common/v1/resource_type_pb2_grpc.pyi → /sift_stack_py-0.16.0/lib/sift/common/v1/filter_field_pb2_grpc.pyi +0 -0
  179. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/resource_type_pb2.py +0 -0
  180. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/common/v1/resource_type_pb2.pyi +0 -0
  181. /sift_stack_py-0.14.0/lib/sift/protobuf_descriptors/v2/channel_parsing_options_pb2_grpc.py → /sift_stack_py-0.16.0/lib/sift/common/v1/resource_type_pb2_grpc.py +0 -0
  182. /sift_stack_py-0.14.0/lib/sift/tags/v1/tags_pb2_grpc.pyi → /sift_stack_py-0.16.0/lib/sift/common/v1/resource_type_pb2_grpc.pyi +0 -0
  183. {sift_stack_py-0.14.0/lib/sift/data/v2 → sift_stack_py-0.16.0/lib/sift/data}/__init__.py +0 -0
  184. {sift_stack_py-0.14.0/lib/sift/data_imports → sift_stack_py-0.16.0/lib/sift/data/v1}/__init__.py +0 -0
  185. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v1/data_pb2.py +0 -0
  186. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v1/data_pb2_grpc.py +0 -0
  187. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v1/data_pb2_grpc.pyi +0 -0
  188. {sift_stack_py-0.14.0/lib/sift/data_imports → sift_stack_py-0.16.0/lib/sift/data}/v2/__init__.py +0 -0
  189. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v2/data_pb2.py +0 -0
  190. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v2/data_pb2_grpc.py +0 -0
  191. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data/v2/data_pb2_grpc.pyi +0 -0
  192. {sift_stack_py-0.14.0/lib/sift/dlq_errors → sift_stack_py-0.16.0/lib/sift/data_imports}/__init__.py +0 -0
  193. {sift_stack_py-0.14.0/lib/sift/dlq_errors → sift_stack_py-0.16.0/lib/sift/data_imports}/v2/__init__.py +0 -0
  194. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data_imports/v2/data_imports_pb2.py +0 -0
  195. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data_imports/v2/data_imports_pb2.pyi +0 -0
  196. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data_imports/v2/data_imports_pb2_grpc.py +0 -0
  197. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/data_imports/v2/data_imports_pb2_grpc.pyi +0 -0
  198. {sift_stack_py-0.14.0/lib/sift/exports → sift_stack_py-0.16.0/lib/sift/dlq_errors}/__init__.py +0 -0
  199. {sift_stack_py-0.14.0/lib/sift/exports/v1 → sift_stack_py-0.16.0/lib/sift/dlq_errors/v2}/__init__.py +0 -0
  200. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/dlq_errors/v2/dlq_errors_pb2.py +0 -0
  201. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/dlq_errors/v2/dlq_errors_pb2.pyi +0 -0
  202. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/dlq_errors/v2/dlq_errors_pb2_grpc.py +0 -0
  203. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/dlq_errors/v2/dlq_errors_pb2_grpc.pyi +0 -0
  204. {sift_stack_py-0.14.0/lib/sift/external_sync → sift_stack_py-0.16.0/lib/sift/exports}/__init__.py +0 -0
  205. {sift_stack_py-0.14.0/lib/sift/external_sync → sift_stack_py-0.16.0/lib/sift/exports}/v1/__init__.py +0 -0
  206. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/exports/v1/exports_pb2.py +0 -0
  207. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/exports/v1/exports_pb2.pyi +0 -0
  208. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/exports/v1/exports_pb2_grpc.py +0 -0
  209. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/exports/v1/exports_pb2_grpc.pyi +0 -0
  210. {sift_stack_py-0.14.0/lib/sift/ingest → sift_stack_py-0.16.0/lib/sift/external_sync}/__init__.py +0 -0
  211. {sift_stack_py-0.14.0/lib/sift/ingest → sift_stack_py-0.16.0/lib/sift/external_sync}/v1/__init__.py +0 -0
  212. {sift_stack_py-0.14.0/lib/sift/ingestion_configs → sift_stack_py-0.16.0/lib/sift/ingest}/__init__.py +0 -0
  213. {sift_stack_py-0.14.0/lib/sift/ingestion_configs → sift_stack_py-0.16.0/lib/sift/ingest}/v1/__init__.py +0 -0
  214. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingest/v1/ingest_pb2.py +0 -0
  215. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingest/v1/ingest_pb2.pyi +0 -0
  216. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingest/v1/ingest_pb2_grpc.py +0 -0
  217. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingest/v1/ingest_pb2_grpc.pyi +0 -0
  218. {sift_stack_py-0.14.0/lib/sift/ingestion_configs/v2 → sift_stack_py-0.16.0/lib/sift/ingestion_configs}/__init__.py +0 -0
  219. {sift_stack_py-0.14.0/lib/sift/jobs → sift_stack_py-0.16.0/lib/sift/ingestion_configs/v1}/__init__.py +0 -0
  220. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v1/ingestion_configs_pb2.py +0 -0
  221. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v1/ingestion_configs_pb2.pyi +0 -0
  222. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.py +0 -0
  223. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.pyi +0 -0
  224. {sift_stack_py-0.14.0/lib/sift/jobs/v1 → sift_stack_py-0.16.0/lib/sift/ingestion_configs/v2}/__init__.py +0 -0
  225. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v2/ingestion_configs_pb2.py +0 -0
  226. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v2/ingestion_configs_pb2.pyi +0 -0
  227. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v2/ingestion_configs_pb2_grpc.py +0 -0
  228. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ingestion_configs/v2/ingestion_configs_pb2_grpc.pyi +0 -0
  229. {sift_stack_py-0.14.0/lib/sift/me → sift_stack_py-0.16.0/lib/sift/jobs}/__init__.py +0 -0
  230. {sift_stack_py-0.14.0/lib/sift/me/v2 → sift_stack_py-0.16.0/lib/sift/jobs/v1}/__init__.py +0 -0
  231. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/jobs/v1/jobs_pb2.py +0 -0
  232. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/jobs/v1/jobs_pb2.pyi +0 -0
  233. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/jobs/v1/jobs_pb2_grpc.py +0 -0
  234. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/jobs/v1/jobs_pb2_grpc.pyi +0 -0
  235. {sift_stack_py-0.14.0/lib/sift/metadata → sift_stack_py-0.16.0/lib/sift/me}/__init__.py +0 -0
  236. {sift_stack_py-0.14.0/lib/sift/metadata/v1 → sift_stack_py-0.16.0/lib/sift/me/v2}/__init__.py +0 -0
  237. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/me/v2/me_pb2.py +0 -0
  238. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/me/v2/me_pb2.pyi +0 -0
  239. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/me/v2/me_pb2_grpc.py +0 -0
  240. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/me/v2/me_pb2_grpc.pyi +0 -0
  241. {sift_stack_py-0.14.0/lib/sift/notifications → sift_stack_py-0.16.0/lib/sift/metadata}/__init__.py +0 -0
  242. {sift_stack_py-0.14.0/lib/sift/notifications → sift_stack_py-0.16.0/lib/sift/metadata}/v1/__init__.py +0 -0
  243. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/metadata/v1/metadata_pb2.py +0 -0
  244. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/metadata/v1/metadata_pb2.pyi +0 -0
  245. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/metadata/v1/metadata_pb2_grpc.py +0 -0
  246. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/metadata/v1/metadata_pb2_grpc.pyi +0 -0
  247. {sift_stack_py-0.14.0/lib/sift/panel_configurations → sift_stack_py-0.16.0/lib/sift/notifications}/__init__.py +0 -0
  248. {sift_stack_py-0.14.0/lib/sift/panel_configurations → sift_stack_py-0.16.0/lib/sift/notifications}/v1/__init__.py +0 -0
  249. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/notifications/v1/notifications_pb2_grpc.py +0 -0
  250. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/notifications/v1/notifications_pb2_grpc.pyi +0 -0
  251. {sift_stack_py-0.14.0/lib/sift/ping → sift_stack_py-0.16.0/lib/sift/panel_configurations}/__init__.py +0 -0
  252. {sift_stack_py-0.14.0/lib/sift/ping → sift_stack_py-0.16.0/lib/sift/panel_configurations}/v1/__init__.py +0 -0
  253. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/panel_configurations/v1/panel_configuration_pb2.py +0 -0
  254. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/panel_configurations/v1/panel_configuration_pb2.pyi +0 -0
  255. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/panel_configurations/v1/panel_configuration_pb2_grpc.py +0 -0
  256. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/panel_configurations/v1/panel_configuration_pb2_grpc.pyi +0 -0
  257. {sift_stack_py-0.14.0/lib/sift/protobuf_descriptors → sift_stack_py-0.16.0/lib/sift/ping}/__init__.py +0 -0
  258. {sift_stack_py-0.14.0/lib/sift/protobuf_descriptors/v2 → sift_stack_py-0.16.0/lib/sift/ping/v1}/__init__.py +0 -0
  259. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ping/v1/ping_pb2.py +0 -0
  260. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ping/v1/ping_pb2.pyi +0 -0
  261. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ping/v1/ping_pb2_grpc.py +0 -0
  262. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/ping/v1/ping_pb2_grpc.pyi +0 -0
  263. {sift_stack_py-0.14.0/lib/sift/remote_files → sift_stack_py-0.16.0/lib/sift/protobuf_descriptors}/__init__.py +0 -0
  264. {sift_stack_py-0.14.0/lib/sift/remote_files/v1 → sift_stack_py-0.16.0/lib/sift/protobuf_descriptors/v2}/__init__.py +0 -0
  265. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/channel_parsing_options_pb2.py +0 -0
  266. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/channel_parsing_options_pb2.pyi +0 -0
  267. /sift_stack_py-0.14.0/lib/sift/tags/v1/tags_pb2_grpc.py → /sift_stack_py-0.16.0/lib/sift/protobuf_descriptors/v2/channel_parsing_options_pb2_grpc.py +0 -0
  268. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/channel_parsing_options_pb2_grpc.pyi +0 -0
  269. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/protobuf_descriptors_pb2.py +0 -0
  270. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/protobuf_descriptors_pb2.pyi +0 -0
  271. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/protobuf_descriptors_pb2_grpc.py +0 -0
  272. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/protobuf_descriptors/v2/protobuf_descriptors_pb2_grpc.pyi +0 -0
  273. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/py.typed +0 -0
  274. {sift_stack_py-0.14.0/lib/sift/report_templates → sift_stack_py-0.16.0/lib/sift/remote_files}/__init__.py +0 -0
  275. {sift_stack_py-0.14.0/lib/sift/report_templates → sift_stack_py-0.16.0/lib/sift/remote_files}/v1/__init__.py +0 -0
  276. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/remote_files/v1/remote_files_pb2.py +0 -0
  277. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/remote_files/v1/remote_files_pb2.pyi +0 -0
  278. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/remote_files/v1/remote_files_pb2_grpc.py +0 -0
  279. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/remote_files/v1/remote_files_pb2_grpc.pyi +0 -0
  280. {sift_stack_py-0.14.0/lib/sift/reports → sift_stack_py-0.16.0/lib/sift/report_templates}/__init__.py +0 -0
  281. {sift_stack_py-0.14.0/lib/sift/reports → sift_stack_py-0.16.0/lib/sift/report_templates}/v1/__init__.py +0 -0
  282. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/report_templates/v1/report_templates_pb2_grpc.py +0 -0
  283. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/report_templates/v1/report_templates_pb2_grpc.pyi +0 -0
  284. {sift_stack_py-0.14.0/lib/sift/roles → sift_stack_py-0.16.0/lib/sift/reports}/__init__.py +0 -0
  285. {sift_stack_py-0.14.0/lib/sift/roles/v2 → sift_stack_py-0.16.0/lib/sift/reports/v1}/__init__.py +0 -0
  286. {sift_stack_py-0.14.0/lib/sift/rule_evaluation → sift_stack_py-0.16.0/lib/sift/roles}/__init__.py +0 -0
  287. {sift_stack_py-0.14.0/lib/sift/rule_evaluation/v1 → sift_stack_py-0.16.0/lib/sift/roles/v2}/__init__.py +0 -0
  288. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/roles/v2/roles_pb2.py +0 -0
  289. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/roles/v2/roles_pb2.pyi +0 -0
  290. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/roles/v2/roles_pb2_grpc.py +0 -0
  291. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/roles/v2/roles_pb2_grpc.pyi +0 -0
  292. {sift_stack_py-0.14.0/lib/sift/rules → sift_stack_py-0.16.0/lib/sift/rule_evaluation}/__init__.py +0 -0
  293. {sift_stack_py-0.14.0/lib/sift/rules → sift_stack_py-0.16.0/lib/sift/rule_evaluation}/v1/__init__.py +0 -0
  294. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py +0 -0
  295. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.pyi +0 -0
  296. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.py +0 -0
  297. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.pyi +0 -0
  298. {sift_stack_py-0.14.0/lib/sift/runs → sift_stack_py-0.16.0/lib/sift/rules}/__init__.py +0 -0
  299. {sift_stack_py-0.14.0/lib/sift/runs/v2 → sift_stack_py-0.16.0/lib/sift/rules/v1}/__init__.py +0 -0
  300. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rules/v1/rules_pb2.py +0 -0
  301. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rules/v1/rules_pb2.pyi +0 -0
  302. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rules/v1/rules_pb2_grpc.py +0 -0
  303. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/rules/v1/rules_pb2_grpc.pyi +0 -0
  304. {sift_stack_py-0.14.0/lib/sift/saved_searches → sift_stack_py-0.16.0/lib/sift/runs}/__init__.py +0 -0
  305. {sift_stack_py-0.14.0/lib/sift/saved_searches/v1 → sift_stack_py-0.16.0/lib/sift/runs/v2}/__init__.py +0 -0
  306. {sift_stack_py-0.14.0/lib/sift/tags → sift_stack_py-0.16.0/lib/sift/saved_searches}/__init__.py +0 -0
  307. {sift_stack_py-0.14.0/lib/sift/tags → sift_stack_py-0.16.0/lib/sift/saved_searches}/v1/__init__.py +0 -0
  308. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/saved_searches/v1/saved_searches_pb2.py +0 -0
  309. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/saved_searches/v1/saved_searches_pb2.pyi +0 -0
  310. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/saved_searches/v1/saved_searches_pb2_grpc.py +0 -0
  311. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/saved_searches/v1/saved_searches_pb2_grpc.pyi +0 -0
  312. {sift_stack_py-0.14.0/lib/sift/tags/v2 → sift_stack_py-0.16.0/lib/sift/tags}/__init__.py +0 -0
  313. {sift_stack_py-0.14.0/lib/sift/test_reports → sift_stack_py-0.16.0/lib/sift/tags/v1}/__init__.py +0 -0
  314. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v1/tags_pb2.py +0 -0
  315. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v1/tags_pb2.pyi +0 -0
  316. {sift_stack_py-0.14.0/lib/sift/test_reports/v1 → sift_stack_py-0.16.0/lib/sift/tags/v2}/__init__.py +0 -0
  317. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v2/tags_pb2.py +0 -0
  318. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v2/tags_pb2.pyi +0 -0
  319. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v2/tags_pb2_grpc.py +0 -0
  320. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/tags/v2/tags_pb2_grpc.pyi +0 -0
  321. {sift_stack_py-0.14.0/lib/sift/unit → sift_stack_py-0.16.0/lib/sift/test_reports}/__init__.py +0 -0
  322. {sift_stack_py-0.14.0/lib/sift/unit/v2 → sift_stack_py-0.16.0/lib/sift/test_reports/v1}/__init__.py +0 -0
  323. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/test_reports/v1/test_reports_pb2_grpc.py +0 -0
  324. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/test_reports/v1/test_reports_pb2_grpc.pyi +0 -0
  325. {sift_stack_py-0.14.0/lib/sift/user_defined_functions → sift_stack_py-0.16.0/lib/sift/unit}/__init__.py +0 -0
  326. {sift_stack_py-0.14.0/lib/sift/user_defined_functions/v1 → sift_stack_py-0.16.0/lib/sift/unit/v2}/__init__.py +0 -0
  327. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/unit/v2/unit_pb2.py +0 -0
  328. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/unit/v2/unit_pb2.pyi +0 -0
  329. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/unit/v2/unit_pb2_grpc.py +0 -0
  330. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/unit/v2/unit_pb2_grpc.pyi +0 -0
  331. {sift_stack_py-0.14.0/lib/sift/user_groups → sift_stack_py-0.16.0/lib/sift/user_defined_functions}/__init__.py +0 -0
  332. {sift_stack_py-0.14.0/lib/sift/user_groups/v2 → sift_stack_py-0.16.0/lib/sift/user_defined_functions/v1}/__init__.py +0 -0
  333. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_defined_functions/v1/user_defined_functions_pb2.py +0 -0
  334. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_defined_functions/v1/user_defined_functions_pb2.pyi +0 -0
  335. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_defined_functions/v1/user_defined_functions_pb2_grpc.py +0 -0
  336. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_defined_functions/v1/user_defined_functions_pb2_grpc.pyi +0 -0
  337. {sift_stack_py-0.14.0/lib/sift/users → sift_stack_py-0.16.0/lib/sift/user_groups}/__init__.py +0 -0
  338. {sift_stack_py-0.14.0/lib/sift/users → sift_stack_py-0.16.0/lib/sift/user_groups}/v2/__init__.py +0 -0
  339. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_groups/v2/user_groups_pb2.py +0 -0
  340. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_groups/v2/user_groups_pb2.pyi +0 -0
  341. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_groups/v2/user_groups_pb2_grpc.py +0 -0
  342. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/user_groups/v2/user_groups_pb2_grpc.pyi +0 -0
  343. {sift_stack_py-0.14.0/lib/sift/views → sift_stack_py-0.16.0/lib/sift/users}/__init__.py +0 -0
  344. {sift_stack_py-0.14.0/lib/sift/views/v1 → sift_stack_py-0.16.0/lib/sift/users/v2}/__init__.py +0 -0
  345. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/users/v2/users_pb2.py +0 -0
  346. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/users/v2/users_pb2.pyi +0 -0
  347. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/users/v2/users_pb2_grpc.py +0 -0
  348. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/users/v2/users_pb2_grpc.pyi +0 -0
  349. {sift_stack_py-0.14.0/lib/sift/views/v2 → sift_stack_py-0.16.0/lib/sift/views}/__init__.py +0 -0
  350. {sift_stack_py-0.14.0/lib/sift/webhooks → sift_stack_py-0.16.0/lib/sift/views/v1}/__init__.py +0 -0
  351. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v1/views_pb2.py +0 -0
  352. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v1/views_pb2.pyi +0 -0
  353. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v1/views_pb2_grpc.py +0 -0
  354. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v1/views_pb2_grpc.pyi +0 -0
  355. {sift_stack_py-0.14.0/lib/sift/webhooks/v1 → sift_stack_py-0.16.0/lib/sift/views/v2}/__init__.py +0 -0
  356. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v2/views_pb2.py +0 -0
  357. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v2/views_pb2.pyi +0 -0
  358. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v2/views_pb2_grpc.py +0 -0
  359. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/views/v2/views_pb2_grpc.pyi +0 -0
  360. {sift_stack_py-0.14.0/lib/sift_client/_internal → sift_stack_py-0.16.0/lib/sift/webhooks}/__init__.py +0 -0
  361. {sift_stack_py-0.14.0/lib/sift_client/_internal/grpc_transport/_async_interceptors → sift_stack_py-0.16.0/lib/sift/webhooks/v1}/__init__.py +0 -0
  362. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/webhooks/v1/webhooks_pb2.py +0 -0
  363. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/webhooks/v1/webhooks_pb2.pyi +0 -0
  364. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/webhooks/v1/webhooks_pb2_grpc.py +0 -0
  365. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift/webhooks/v1/webhooks_pb2_grpc.pyi +0 -0
  366. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/__init__.py +0 -0
  367. {sift_stack_py-0.14.0/lib/sift_client/_internal/grpc_transport/_interceptors → sift_stack_py-0.16.0/lib/sift_client/_internal}/__init__.py +0 -0
  368. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/gen_pyi.py +0 -0
  369. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/__init__.py +0 -0
  370. {sift_stack_py-0.14.0/lib/sift_client/_internal/grpc_transport/server_interceptors → sift_stack_py-0.16.0/lib/sift_client/_internal/grpc_transport/_async_interceptors}/__init__.py +0 -0
  371. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_async_interceptors/base.py +0 -0
  372. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_async_interceptors/metadata.py +0 -0
  373. {sift_stack_py-0.14.0/lib/sift_client/_internal/util → sift_stack_py-0.16.0/lib/sift_client/_internal/grpc_transport/_interceptors}/__init__.py +0 -0
  374. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_interceptors/base.py +0 -0
  375. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_interceptors/context.py +0 -0
  376. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_interceptors/metadata.py +0 -0
  377. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/_retry.py +0 -0
  378. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/keepalive.py +0 -0
  379. {sift_stack_py-0.14.0/lib/sift_client/_tests/_internal → sift_stack_py-0.16.0/lib/sift_client/_internal/grpc_transport/server_interceptors}/__init__.py +0 -0
  380. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/server_interceptors/server_interceptor.py +0 -0
  381. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/transport.py +0 -0
  382. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/grpc_transport/transport_test.py +0 -0
  383. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/__init__.py +0 -0
  384. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/_test_results_log.py +0 -0
  385. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/assets.py +0 -0
  386. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/base.py +0 -0
  387. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/channels.py +0 -0
  388. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/data.py +0 -0
  389. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/data_imports.py +0 -0
  390. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/exports.py +0 -0
  391. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/jobs.py +0 -0
  392. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/ping.py +0 -0
  393. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/remote_files.py +0 -0
  394. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/reports.py +0 -0
  395. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/rules.py +0 -0
  396. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/runs.py +0 -0
  397. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/tags.py +0 -0
  398. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/low_level_wrappers/upload.py +0 -0
  399. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/rest.py +0 -0
  400. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/sync_wrapper.py +0 -0
  401. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/time.py +0 -0
  402. {sift_stack_py-0.14.0/lib/sift_client/_tests/_internal/low_level_wrappers → sift_stack_py-0.16.0/lib/sift_client/_internal/util}/__init__.py +0 -0
  403. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/channels.py +0 -0
  404. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/executor.py +0 -0
  405. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/file.py +0 -0
  406. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/hdf5.py +0 -0
  407. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/numpy_types.py +0 -0
  408. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/tdms.py +0 -0
  409. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/timestamp.py +0 -0
  410. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_internal/util/util.py +0 -0
  411. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/__init__.py +0 -0
  412. {sift_stack_py-0.14.0/lib/sift_client/_tests/resources → sift_stack_py-0.16.0/lib/sift_client/_tests/_internal}/__init__.py +0 -0
  413. {sift_stack_py-0.14.0/lib/sift_client/_tests/sift_types → sift_stack_py-0.16.0/lib/sift_client/_tests/_internal/low_level_wrappers}/__init__.py +0 -0
  414. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/low_level_wrappers/test_base.py +0 -0
  415. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/low_level_wrappers/test_ingestion.py +0 -0
  416. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/low_level_wrappers/test_upload.py +0 -0
  417. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_channels.py +0 -0
  418. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_gen_pyi.py +0 -0
  419. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_hdf5.py +0 -0
  420. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_stub_module/__init__.py +0 -0
  421. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_stub_module/test_py.py +0 -0
  422. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_sync_wrapper.py +0 -0
  423. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_tdms.py +0 -0
  424. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/_internal/test_transport.py +0 -0
  425. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/conftest.py +0 -0
  426. {sift_stack_py-0.14.0/lib/sift_client/_tests/util → sift_stack_py-0.16.0/lib/sift_client/_tests/resources}/__init__.py +0 -0
  427. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_assets.py +0 -0
  428. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_calculated_channels.py +0 -0
  429. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_channels.py +0 -0
  430. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_data_imports.py +0 -0
  431. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_exports.py +0 -0
  432. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_file_attachments.py +0 -0
  433. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_jobs.py +0 -0
  434. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_ping.py +0 -0
  435. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_reports.py +0 -0
  436. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_rules.py +0 -0
  437. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_runs.py +0 -0
  438. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/resources/test_tags.py +0 -0
  439. {sift_stack_py-0.14.0/lib/sift_client/scripts → sift_stack_py-0.16.0/lib/sift_client/_tests/sift_types}/__init__.py +0 -0
  440. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_asset.py +0 -0
  441. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_base.py +0 -0
  442. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_calculated_channel.py +0 -0
  443. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_channel.py +0 -0
  444. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_ingestion.py +0 -0
  445. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_job.py +0 -0
  446. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_report.py +0 -0
  447. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_rule.py +0 -0
  448. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_run.py +0 -0
  449. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/sift_types/test_tag.py +0 -0
  450. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/test_client.py +0 -0
  451. {sift_stack_py-0.14.0/lib/sift_client/sift_types/_mixins → sift_stack_py-0.16.0/lib/sift_client/_tests/util}/__init__.py +0 -0
  452. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/util/conftest.py +0 -0
  453. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/_tests/util/test_cel_utils.py +0 -0
  454. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/client.py +0 -0
  455. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/config.py +0 -0
  456. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/errors.py +0 -0
  457. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/py.typed +0 -0
  458. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/_base.py +0 -0
  459. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/exports.py +0 -0
  460. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/ping.py +0 -0
  461. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/py.typed +0 -0
  462. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/sync_stubs/__init__.py +0 -0
  463. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/resources/sync_stubs/py.typed +0 -0
  464. {sift_stack_py-0.14.0/lib/sift_py/_internal/test_util → sift_stack_py-0.16.0/lib/sift_client/scripts}/__init__.py +0 -0
  465. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/scripts/import_test_result_log.py +0 -0
  466. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/__init__.py +0 -0
  467. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/_base.py +0 -0
  468. {sift_stack_py-0.14.0/lib/sift_py/asset → sift_stack_py-0.16.0/lib/sift_client/sift_types/_mixins}/__init__.py +0 -0
  469. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/_mixins/file_attachments.py +0 -0
  470. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/asset.py +0 -0
  471. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/calculated_channel.py +0 -0
  472. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/channel.py +0 -0
  473. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/data_import.py +0 -0
  474. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/export.py +0 -0
  475. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/file_attachment.py +0 -0
  476. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/ingestion.py +0 -0
  477. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/job.py +0 -0
  478. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/report.py +0 -0
  479. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/rule.py +0 -0
  480. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/run.py +0 -0
  481. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/sift_types/tag.py +0 -0
  482. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/transport/__init__.py +0 -0
  483. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/transport/base_connection.py +0 -0
  484. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/transport/grpc_transport.py +0 -0
  485. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/transport/rest_transport.py +0 -0
  486. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/__init__.py +0 -0
  487. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/cel_utils.py +0 -0
  488. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/metadata.py +0 -0
  489. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/test_results/__init__.py +0 -0
  490. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/test_results/bounds.py +0 -0
  491. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_client/util/util.py +0 -0
  492. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/__init__.py +0 -0
  493. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/__init__.py +0 -0
  494. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/cel.py +0 -0
  495. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/channel.py +0 -0
  496. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/convert/__init__.py +0 -0
  497. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/convert/json.py +0 -0
  498. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/convert/protobuf.py +0 -0
  499. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/convert/timestamp.py +0 -0
  500. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/metadata.py +0 -0
  501. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/metadata_test.py +0 -0
  502. {sift_stack_py-0.14.0/lib/sift_py/calculated_channels → sift_stack_py-0.16.0/lib/sift_py/_internal/test_util}/__init__.py +0 -0
  503. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/test_util/channel.py +0 -0
  504. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/test_util/fn.py +0 -0
  505. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/test_util/server_interceptor.py +0 -0
  506. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/time.py +0 -0
  507. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_internal/user.py +0 -0
  508. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/_rest_test.py +0 -0
  509. {sift_stack_py-0.14.0/lib/sift_py/file_attachment/_internal → sift_stack_py-0.16.0/lib/sift_py/asset}/__init__.py +0 -0
  510. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/asset/_config_test.py +0 -0
  511. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/asset/_internal/shared.py +0 -0
  512. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/asset/_service_test.py +0 -0
  513. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/asset/config.py +0 -0
  514. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/asset/service.py +0 -0
  515. {sift_stack_py-0.14.0/lib/sift_py/grpc/_async_interceptors → sift_stack_py-0.16.0/lib/sift_py/calculated_channels}/__init__.py +0 -0
  516. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/calculated_channels/_service_test.py +0 -0
  517. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/calculated_channels/config.py +0 -0
  518. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/calculated_channels/service.py +0 -0
  519. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/__init__.py +0 -0
  520. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/_channel.py +0 -0
  521. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/_deserialize.py +0 -0
  522. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/_deserialize_test.py +0 -0
  523. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/_service_test.py +0 -0
  524. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/_validate.py +0 -0
  525. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/error.py +0 -0
  526. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/query.py +0 -0
  527. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data/service.py +0 -0
  528. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/__init__.py +0 -0
  529. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_config.py +0 -0
  530. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_config_test.py +0 -0
  531. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_csv_test.py +0 -0
  532. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_hdf5_test.py +0 -0
  533. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_parquet_test.py +0 -0
  534. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_ros_channel.py +0 -0
  535. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_rosbag_test.py +0 -0
  536. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_status_test.py +0 -0
  537. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_tdms_test.py +0 -0
  538. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_utils.py +0 -0
  539. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/_utils_test.py +0 -0
  540. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/ch10.py +0 -0
  541. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/config.py +0 -0
  542. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/csv.py +0 -0
  543. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/hdf5.py +0 -0
  544. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/parquet.py +0 -0
  545. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/parquet_complex_types.py +0 -0
  546. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/rosbags.py +0 -0
  547. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/status.py +0 -0
  548. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/tdms.py +0 -0
  549. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/tempfile.py +0 -0
  550. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/data_import/time_format.py +0 -0
  551. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/error.py +0 -0
  552. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/__init__.py +0 -0
  553. {sift_stack_py-0.14.0/lib/sift_py/grpc/_interceptors → sift_stack_py-0.16.0/lib/sift_py/file_attachment/_internal}/__init__.py +0 -0
  554. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/_internal/download.py +0 -0
  555. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/_internal/upload.py +0 -0
  556. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/_service_test.py +0 -0
  557. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/entity.py +0 -0
  558. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/metadata.py +0 -0
  559. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/file_attachment/service.py +0 -0
  560. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/__init__.py +0 -0
  561. {sift_stack_py-0.14.0/lib/sift_py/ingestion/config/yaml → sift_stack_py-0.16.0/lib/sift_py/grpc/_async_interceptors}/__init__.py +0 -0
  562. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_async_interceptors/base.py +0 -0
  563. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_async_interceptors/metadata.py +0 -0
  564. {sift_stack_py-0.14.0/lib/sift_py/report_templates → sift_stack_py-0.16.0/lib/sift_py/grpc/_interceptors}/__init__.py +0 -0
  565. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_interceptors/base.py +0 -0
  566. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_interceptors/context.py +0 -0
  567. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_interceptors/metadata.py +0 -0
  568. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/_retry.py +0 -0
  569. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/keepalive.py +0 -0
  570. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/transport.py +0 -0
  571. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/grpc/transport_test.py +0 -0
  572. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/__init__.py +0 -0
  573. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/__init__.py +0 -0
  574. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/channel.py +0 -0
  575. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/error.py +0 -0
  576. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/ingest.py +0 -0
  577. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/ingest_test.py +0 -0
  578. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/ingestion_config.py +0 -0
  579. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_internal/run.py +0 -0
  580. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/_service_test.py +0 -0
  581. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/buffer.py +0 -0
  582. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/channel.py +0 -0
  583. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/__init__.py +0 -0
  584. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/_telemetry_test.py +0 -0
  585. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/telemetry.py +0 -0
  586. {sift_stack_py-0.14.0/lib/sift_py/rule → sift_stack_py-0.16.0/lib/sift_py/ingestion/config/yaml}/__init__.py +0 -0
  587. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/yaml/error.py +0 -0
  588. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/yaml/load.py +0 -0
  589. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/yaml/spec.py +0 -0
  590. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/config/yaml/test_load.py +0 -0
  591. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/flow.py +0 -0
  592. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/manager.py +0 -0
  593. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/rule/__init__.py +0 -0
  594. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/rule/config.py +0 -0
  595. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/ingestion/service.py +0 -0
  596. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/py.typed +0 -0
  597. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report/_report_test.py +0 -0
  598. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report/service.py +0 -0
  599. {sift_stack_py-0.14.0/lib/sift_py/yaml → sift_stack_py-0.16.0/lib/sift_py/report_templates}/__init__.py +0 -0
  600. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report_templates/_config_test.py +0 -0
  601. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report_templates/_service_test.py +0 -0
  602. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report_templates/config.py +0 -0
  603. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/report_templates/service.py +0 -0
  604. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rest.py +0 -0
  605. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule/_config_test.py +0 -0
  606. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule/_service_test.py +0 -0
  607. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule/config.py +0 -0
  608. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule/service.py +0 -0
  609. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule_evaluation/_service_test.py +0 -0
  610. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/rule_evaluation/service.py +0 -0
  611. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/tag/_internal/shared.py +0 -0
  612. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/_channel_test.py +0 -0
  613. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/_rule_test.py +0 -0
  614. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/_utils_test.py +0 -0
  615. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/calculated_channels.py +0 -0
  616. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/channel.py +0 -0
  617. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/report_templates.py +0 -0
  618. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/rule.py +0 -0
  619. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_py/yaml/utils.py +0 -0
  620. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/dependency_links.txt +0 -0
  621. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/entry_points.txt +0 -0
  622. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/lib/sift_stack_py.egg-info/top_level.txt +0 -0
  623. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/setup.cfg +0 -0
  624. {sift_stack_py-0.14.0 → sift_stack_py-0.16.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sift_stack_py
3
- Version: 0.14.0
3
+ Version: 0.16.0
4
4
  Summary: Python client library for the Sift API
5
5
  Maintainer-email: Sift Software Engineers <engineering@siftstack.com>
6
6
  License: Copyright (c) 2024 Azimuth Industries Inc.
@@ -53,7 +53,7 @@ Requires-Dist: polars~=1.8; extra == "all"
53
53
  Requires-Dist: pyOpenSSL<24.0.0; extra == "all"
54
54
  Requires-Dist: pyarrow>=17.0.0; extra == "all"
55
55
  Requires-Dist: rosbags~=0.0; extra == "all"
56
- Requires-Dist: sift-stream-bindings==0.2.2; extra == "all"
56
+ Requires-Dist: sift-stream-bindings==0.3.0; extra == "all"
57
57
  Requires-Dist: types-pyOpenSSL<24.0.0; extra == "all"
58
58
  Provides-Extra: build
59
59
  Requires-Dist: build==1.2.1; extra == "build"
@@ -90,7 +90,7 @@ Requires-Dist: pytest-mock==3.14.0; extra == "dev-all"
90
90
  Requires-Dist: pytest==8.2.2; extra == "dev-all"
91
91
  Requires-Dist: rosbags~=0.0; extra == "dev-all"
92
92
  Requires-Dist: ruff~=0.12.10; extra == "dev-all"
93
- Requires-Dist: sift-stream-bindings==0.2.2; extra == "dev-all"
93
+ Requires-Dist: sift-stream-bindings==0.3.0; extra == "dev-all"
94
94
  Requires-Dist: tomlkit~=0.13.3; extra == "dev-all"
95
95
  Requires-Dist: types-pyOpenSSL<24.0.0; extra == "dev-all"
96
96
  Provides-Extra: development
@@ -140,7 +140,7 @@ Requires-Dist: pytest-mock==3.14.0; extra == "docs-build"
140
140
  Requires-Dist: pytest==8.2.2; extra == "docs-build"
141
141
  Requires-Dist: rosbags~=0.0; extra == "docs-build"
142
142
  Requires-Dist: ruff~=0.12.10; extra == "docs-build"
143
- Requires-Dist: sift-stream-bindings==0.2.2; extra == "docs-build"
143
+ Requires-Dist: sift-stream-bindings==0.3.0; extra == "docs-build"
144
144
  Requires-Dist: tomlkit~=0.13.3; extra == "docs-build"
145
145
  Requires-Dist: types-pyOpenSSL<24.0.0; extra == "docs-build"
146
146
  Provides-Extra: file-imports
@@ -158,9 +158,9 @@ Requires-Dist: types-pyOpenSSL<24.0.0; extra == "openssl"
158
158
  Provides-Extra: rosbags
159
159
  Requires-Dist: rosbags~=0.0; extra == "rosbags"
160
160
  Provides-Extra: sift-stream
161
- Requires-Dist: sift-stream-bindings==0.2.2; extra == "sift-stream"
161
+ Requires-Dist: sift-stream-bindings==0.3.0; extra == "sift-stream"
162
162
  Provides-Extra: sift-stream-bindings
163
- Requires-Dist: sift-stream-bindings==0.2.2; extra == "sift-stream-bindings"
163
+ Requires-Dist: sift-stream-bindings==0.3.0; extra == "sift-stream-bindings"
164
164
  Provides-Extra: tdms
165
165
  Requires-Dist: npTDMS~=1.9; extra == "tdms"
166
166
 
@@ -0,0 +1,113 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sift/comment/v1/comment.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 annotations_pb2 as google_dot_api_dot_annotations__pb2
16
+ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
17
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
18
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
19
+
20
+
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dsift/comment/v1/comment.proto\x12\x0fsift.comment.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xcd\x03\n\x07\x43omment\x12\"\n\ncomment_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tcommentId\x12$\n\x0bresource_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nresourceId\x12H\n\x0b\x65ntity_type\x18\x03 \x01(\x0e\x32\".sift.comment.v1.CommentEntityTypeB\x03\xe0\x41\x02R\nentityType\x12\x42\n\x0c\x63reated_date\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x34\n\x14\x63reated_by_user_name\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x11\x63reatedByUserName\x12<\n\x04\x62ody\x18\x08 \x03(\x0b\x32#.sift.comment.v1.CommentBodyElementB\x03\xe0\x41\x02R\x04\x62ody\"\xbc\x01\n\x12\x43ommentBodyElement\x12@\n\x04type\x18\x01 \x01(\x0e\x32\'.sift.comment.v1.CommentBodyElementTypeB\x03\xe0\x41\x02R\x04type\x12\x17\n\x04text\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x04text\x12K\n\x0cuser_mention\x18\x03 \x01(\x0b\x32#.sift.comment.v1.CommentUserMentionB\x03\xe0\x41\x01R\x0buserMention\"V\n\x12\x43ommentUserMention\x12\x1c\n\x07user_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06userId\x12\"\n\nuser_email\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tuserEmail\"\xc4\x01\n\x14\x43reateCommentRequest\x12$\n\x0bresource_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\nresourceId\x12H\n\x0b\x65ntity_type\x18\x02 \x01(\x0e\x32\".sift.comment.v1.CommentEntityTypeB\x03\xe0\x41\x02R\nentityType\x12<\n\x04\x62ody\x18\x03 \x03(\x0b\x32#.sift.comment.v1.CommentBodyElementB\x03\xe0\x41\x02R\x04\x62ody\"K\n\x15\x43reateCommentResponse\x12\x32\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x18.sift.comment.v1.CommentR\x07\x63omment\"\x98\x01\n\x13ListCommentsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"t\n\x14ListCommentsResponse\x12\x34\n\x08\x63omments\x18\x01 \x03(\x0b\x32\x18.sift.comment.v1.CommentR\x08\x63omments\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"u\n\x14UpdateCommentRequest\x12\x37\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x18.sift.comment.v1.CommentB\x03\xe0\x41\x02R\x07\x63omment\x12$\n\x0bupdate_mask\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nupdateMask\"K\n\x15UpdateCommentResponse\x12\x32\n\x07\x63omment\x18\x01 \x01(\x0b\x32\x18.sift.comment.v1.CommentR\x07\x63omment\":\n\x14\x44\x65leteCommentRequest\x12\"\n\ncomment_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tcommentId\"\x17\n\x15\x44\x65leteCommentResponse*g\n\x11\x43ommentEntityType\x12#\n\x1f\x43OMMENT_ENTITY_TYPE_UNSPECIFIED\x10\x00\x12-\n)COMMENT_ENTITY_TYPE_CANVAS_CELL_EXECUTION\x10\x01*\x93\x01\n\x16\x43ommentBodyElementType\x12)\n%COMMENT_BODY_ELEMENT_TYPE_UNSPECIFIED\x10\x00\x12\"\n\x1e\x43OMMENT_BODY_ELEMENT_TYPE_TEXT\x10\x01\x12*\n&COMMENT_BODY_ELEMENT_TYPE_USER_MENTION\x10\x02\x32\xd6\x06\n\x0e\x43ommentService\x12\xaf\x01\n\rCreateComment\x12%.sift.comment.v1.CreateCommentRequest\x1a&.sift.comment.v1.CreateCommentResponse\"O\x92\x41\x31\x12\rCreateComment\x1a Creates a comment on a resource.\x82\xd3\xe4\x93\x02\x15\"\x10/api/v1/comments:\x01*\x12\xb4\x01\n\x0cListComments\x12$.sift.comment.v1.ListCommentsRequest\x1a%.sift.comment.v1.ListCommentsResponse\"W\x92\x41<\x12\x0cListComments\x1a,Retrieves comments using an optional filter.\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/comments\x12\xcc\x01\n\rUpdateComment\x12%.sift.comment.v1.UpdateCommentRequest\x1a&.sift.comment.v1.UpdateCommentResponse\"l\x92\x41\x39\x12\rUpdateComment\x1a(Updates the body of an existing comment.\x82\xd3\xe4\x93\x02*2%/api/v1/comments/{comment.comment_id}:\x01*\x12\xab\x01\n\rDeleteComment\x12%.sift.comment.v1.DeleteCommentRequest\x1a&.sift.comment.v1.DeleteCommentResponse\"K\x92\x41#\x12\rDeleteComment\x1a\x12\x44\x65letes a comment.\x82\xd3\xe4\x93\x02\x1f*\x1d/api/v1/comments/{comment_id}\x1a^\x92\x41[\x12YService to programmatically interact with comments attached to resources in the platform.B\x97\x01\n\x13\x63om.sift.comment.v1B\x0c\x43ommentProtoP\x01\xa2\x02\x03SCX\xaa\x02\x0fSift.Comment.V1\xca\x02\x0fSift\\Comment\\V1\xe2\x02\x1bSift\\Comment\\V1\\GPBMetadata\xea\x02\x11Sift::Comment::V1\x92\x41\x13\x12\x11\n\x0f\x43omment serviceb\x06proto3')
22
+
23
+ _globals = globals()
24
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
25
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.comment.v1.comment_pb2', _globals)
26
+ if not _descriptor._USE_C_DESCRIPTORS:
27
+ _globals['DESCRIPTOR']._loaded_options = None
28
+ _globals['DESCRIPTOR']._serialized_options = b'\n\023com.sift.comment.v1B\014CommentProtoP\001\242\002\003SCX\252\002\017Sift.Comment.V1\312\002\017Sift\\Comment\\V1\342\002\033Sift\\Comment\\V1\\GPBMetadata\352\002\021Sift::Comment::V1\222A\023\022\021\n\017Comment service'
29
+ _globals['_COMMENT'].fields_by_name['comment_id']._loaded_options = None
30
+ _globals['_COMMENT'].fields_by_name['comment_id']._serialized_options = b'\340A\002'
31
+ _globals['_COMMENT'].fields_by_name['resource_id']._loaded_options = None
32
+ _globals['_COMMENT'].fields_by_name['resource_id']._serialized_options = b'\340A\002'
33
+ _globals['_COMMENT'].fields_by_name['entity_type']._loaded_options = None
34
+ _globals['_COMMENT'].fields_by_name['entity_type']._serialized_options = b'\340A\002'
35
+ _globals['_COMMENT'].fields_by_name['created_date']._loaded_options = None
36
+ _globals['_COMMENT'].fields_by_name['created_date']._serialized_options = b'\340A\002'
37
+ _globals['_COMMENT'].fields_by_name['modified_date']._loaded_options = None
38
+ _globals['_COMMENT'].fields_by_name['modified_date']._serialized_options = b'\340A\002'
39
+ _globals['_COMMENT'].fields_by_name['created_by_user_id']._loaded_options = None
40
+ _globals['_COMMENT'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002'
41
+ _globals['_COMMENT'].fields_by_name['created_by_user_name']._loaded_options = None
42
+ _globals['_COMMENT'].fields_by_name['created_by_user_name']._serialized_options = b'\340A\002'
43
+ _globals['_COMMENT'].fields_by_name['body']._loaded_options = None
44
+ _globals['_COMMENT'].fields_by_name['body']._serialized_options = b'\340A\002'
45
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['type']._loaded_options = None
46
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['type']._serialized_options = b'\340A\002'
47
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['text']._loaded_options = None
48
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['text']._serialized_options = b'\340A\001'
49
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['user_mention']._loaded_options = None
50
+ _globals['_COMMENTBODYELEMENT'].fields_by_name['user_mention']._serialized_options = b'\340A\001'
51
+ _globals['_COMMENTUSERMENTION'].fields_by_name['user_id']._loaded_options = None
52
+ _globals['_COMMENTUSERMENTION'].fields_by_name['user_id']._serialized_options = b'\340A\002'
53
+ _globals['_COMMENTUSERMENTION'].fields_by_name['user_email']._loaded_options = None
54
+ _globals['_COMMENTUSERMENTION'].fields_by_name['user_email']._serialized_options = b'\340A\002'
55
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['resource_id']._loaded_options = None
56
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['resource_id']._serialized_options = b'\340A\002'
57
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['entity_type']._loaded_options = None
58
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['entity_type']._serialized_options = b'\340A\002'
59
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['body']._loaded_options = None
60
+ _globals['_CREATECOMMENTREQUEST'].fields_by_name['body']._serialized_options = b'\340A\002'
61
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['page_size']._loaded_options = None
62
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001'
63
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['page_token']._loaded_options = None
64
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001'
65
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['filter']._loaded_options = None
66
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001'
67
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['order_by']._loaded_options = None
68
+ _globals['_LISTCOMMENTSREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001'
69
+ _globals['_UPDATECOMMENTREQUEST'].fields_by_name['comment']._loaded_options = None
70
+ _globals['_UPDATECOMMENTREQUEST'].fields_by_name['comment']._serialized_options = b'\340A\002'
71
+ _globals['_UPDATECOMMENTREQUEST'].fields_by_name['update_mask']._loaded_options = None
72
+ _globals['_UPDATECOMMENTREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002'
73
+ _globals['_DELETECOMMENTREQUEST'].fields_by_name['comment_id']._loaded_options = None
74
+ _globals['_DELETECOMMENTREQUEST'].fields_by_name['comment_id']._serialized_options = b'\340A\002'
75
+ _globals['_COMMENTSERVICE']._loaded_options = None
76
+ _globals['_COMMENTSERVICE']._serialized_options = b'\222A[\022YService to programmatically interact with comments attached to resources in the platform.'
77
+ _globals['_COMMENTSERVICE'].methods_by_name['CreateComment']._loaded_options = None
78
+ _globals['_COMMENTSERVICE'].methods_by_name['CreateComment']._serialized_options = b'\222A1\022\rCreateComment\032 Creates a comment on a resource.\202\323\344\223\002\025\"\020/api/v1/comments:\001*'
79
+ _globals['_COMMENTSERVICE'].methods_by_name['ListComments']._loaded_options = None
80
+ _globals['_COMMENTSERVICE'].methods_by_name['ListComments']._serialized_options = b'\222A<\022\014ListComments\032,Retrieves comments using an optional filter.\202\323\344\223\002\022\022\020/api/v1/comments'
81
+ _globals['_COMMENTSERVICE'].methods_by_name['UpdateComment']._loaded_options = None
82
+ _globals['_COMMENTSERVICE'].methods_by_name['UpdateComment']._serialized_options = b'\222A9\022\rUpdateComment\032(Updates the body of an existing comment.\202\323\344\223\002*2%/api/v1/comments/{comment.comment_id}:\001*'
83
+ _globals['_COMMENTSERVICE'].methods_by_name['DeleteComment']._loaded_options = None
84
+ _globals['_COMMENTSERVICE'].methods_by_name['DeleteComment']._serialized_options = b'\222A#\022\rDeleteComment\032\022Deletes a comment.\202\323\344\223\002\037*\035/api/v1/comments/{comment_id}'
85
+ _globals['_COMMENTENTITYTYPE']._serialized_start=1767
86
+ _globals['_COMMENTENTITYTYPE']._serialized_end=1870
87
+ _globals['_COMMENTBODYELEMENTTYPE']._serialized_start=1873
88
+ _globals['_COMMENTBODYELEMENTTYPE']._serialized_end=2020
89
+ _globals['_COMMENT']._serialized_start=195
90
+ _globals['_COMMENT']._serialized_end=656
91
+ _globals['_COMMENTBODYELEMENT']._serialized_start=659
92
+ _globals['_COMMENTBODYELEMENT']._serialized_end=847
93
+ _globals['_COMMENTUSERMENTION']._serialized_start=849
94
+ _globals['_COMMENTUSERMENTION']._serialized_end=935
95
+ _globals['_CREATECOMMENTREQUEST']._serialized_start=938
96
+ _globals['_CREATECOMMENTREQUEST']._serialized_end=1134
97
+ _globals['_CREATECOMMENTRESPONSE']._serialized_start=1136
98
+ _globals['_CREATECOMMENTRESPONSE']._serialized_end=1211
99
+ _globals['_LISTCOMMENTSREQUEST']._serialized_start=1214
100
+ _globals['_LISTCOMMENTSREQUEST']._serialized_end=1366
101
+ _globals['_LISTCOMMENTSRESPONSE']._serialized_start=1368
102
+ _globals['_LISTCOMMENTSRESPONSE']._serialized_end=1484
103
+ _globals['_UPDATECOMMENTREQUEST']._serialized_start=1486
104
+ _globals['_UPDATECOMMENTREQUEST']._serialized_end=1603
105
+ _globals['_UPDATECOMMENTRESPONSE']._serialized_start=1605
106
+ _globals['_UPDATECOMMENTRESPONSE']._serialized_end=1680
107
+ _globals['_DELETECOMMENTREQUEST']._serialized_start=1682
108
+ _globals['_DELETECOMMENTREQUEST']._serialized_end=1740
109
+ _globals['_DELETECOMMENTRESPONSE']._serialized_start=1742
110
+ _globals['_DELETECOMMENTRESPONSE']._serialized_end=1765
111
+ _globals['_COMMENTSERVICE']._serialized_start=2023
112
+ _globals['_COMMENTSERVICE']._serialized_end=2877
113
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,325 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import google.protobuf.timestamp_pb2
13
+ import sys
14
+ import typing
15
+
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _CommentEntityType:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _CommentEntityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CommentEntityType.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ COMMENT_ENTITY_TYPE_UNSPECIFIED: _CommentEntityType.ValueType # 0
30
+ COMMENT_ENTITY_TYPE_CANVAS_CELL_EXECUTION: _CommentEntityType.ValueType # 1
31
+
32
+ class CommentEntityType(_CommentEntityType, metaclass=_CommentEntityTypeEnumTypeWrapper):
33
+ """The type of resource a comment is attached to. Designed to be extended over time."""
34
+
35
+ COMMENT_ENTITY_TYPE_UNSPECIFIED: CommentEntityType.ValueType # 0
36
+ COMMENT_ENTITY_TYPE_CANVAS_CELL_EXECUTION: CommentEntityType.ValueType # 1
37
+ global___CommentEntityType = CommentEntityType
38
+
39
+ class _CommentBodyElementType:
40
+ ValueType = typing.NewType("ValueType", builtins.int)
41
+ V: typing_extensions.TypeAlias = ValueType
42
+
43
+ class _CommentBodyElementTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CommentBodyElementType.ValueType], builtins.type):
44
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
45
+ COMMENT_BODY_ELEMENT_TYPE_UNSPECIFIED: _CommentBodyElementType.ValueType # 0
46
+ COMMENT_BODY_ELEMENT_TYPE_TEXT: _CommentBodyElementType.ValueType # 1
47
+ COMMENT_BODY_ELEMENT_TYPE_USER_MENTION: _CommentBodyElementType.ValueType # 2
48
+
49
+ class CommentBodyElementType(_CommentBodyElementType, metaclass=_CommentBodyElementTypeEnumTypeWrapper): ...
50
+
51
+ COMMENT_BODY_ELEMENT_TYPE_UNSPECIFIED: CommentBodyElementType.ValueType # 0
52
+ COMMENT_BODY_ELEMENT_TYPE_TEXT: CommentBodyElementType.ValueType # 1
53
+ COMMENT_BODY_ELEMENT_TYPE_USER_MENTION: CommentBodyElementType.ValueType # 2
54
+ global___CommentBodyElementType = CommentBodyElementType
55
+
56
+ @typing.final
57
+ class Comment(google.protobuf.message.Message):
58
+ """A single comment attached to a resource."""
59
+
60
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
61
+
62
+ COMMENT_ID_FIELD_NUMBER: builtins.int
63
+ RESOURCE_ID_FIELD_NUMBER: builtins.int
64
+ ENTITY_TYPE_FIELD_NUMBER: builtins.int
65
+ CREATED_DATE_FIELD_NUMBER: builtins.int
66
+ MODIFIED_DATE_FIELD_NUMBER: builtins.int
67
+ CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
68
+ CREATED_BY_USER_NAME_FIELD_NUMBER: builtins.int
69
+ BODY_FIELD_NUMBER: builtins.int
70
+ comment_id: builtins.str
71
+ resource_id: builtins.str
72
+ """The ID of the resource the comment is attached to (e.g. a canvas_cell_execution_id)."""
73
+ entity_type: global___CommentEntityType.ValueType
74
+ """The kind of resource `resource_id` refers to."""
75
+ created_by_user_id: builtins.str
76
+ created_by_user_name: builtins.str
77
+ @property
78
+ def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
79
+ @property
80
+ def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
81
+ @property
82
+ def body(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommentBodyElement]:
83
+ """The rich-text body of the comment."""
84
+
85
+ def __init__(
86
+ self,
87
+ *,
88
+ comment_id: builtins.str = ...,
89
+ resource_id: builtins.str = ...,
90
+ entity_type: global___CommentEntityType.ValueType = ...,
91
+ created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
92
+ modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
93
+ created_by_user_id: builtins.str = ...,
94
+ created_by_user_name: builtins.str = ...,
95
+ body: collections.abc.Iterable[global___CommentBodyElement] | None = ...,
96
+ ) -> None: ...
97
+ def HasField(self, field_name: typing.Literal["created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ...
98
+ def ClearField(self, field_name: typing.Literal["body", b"body", "comment_id", b"comment_id", "created_by_user_id", b"created_by_user_id", "created_by_user_name", b"created_by_user_name", "created_date", b"created_date", "entity_type", b"entity_type", "modified_date", b"modified_date", "resource_id", b"resource_id"]) -> None: ...
99
+
100
+ global___Comment = Comment
101
+
102
+ @typing.final
103
+ class CommentBodyElement(google.protobuf.message.Message):
104
+ """A single element of a comment body. Either plain text or a user mention."""
105
+
106
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
107
+
108
+ TYPE_FIELD_NUMBER: builtins.int
109
+ TEXT_FIELD_NUMBER: builtins.int
110
+ USER_MENTION_FIELD_NUMBER: builtins.int
111
+ type: global___CommentBodyElementType.ValueType
112
+ text: builtins.str
113
+ """Only set when `type` is TEXT."""
114
+ @property
115
+ def user_mention(self) -> global___CommentUserMention:
116
+ """Only set when `type` is USER_MENTION."""
117
+
118
+ def __init__(
119
+ self,
120
+ *,
121
+ type: global___CommentBodyElementType.ValueType = ...,
122
+ text: builtins.str = ...,
123
+ user_mention: global___CommentUserMention | None = ...,
124
+ ) -> None: ...
125
+ def HasField(self, field_name: typing.Literal["user_mention", b"user_mention"]) -> builtins.bool: ...
126
+ def ClearField(self, field_name: typing.Literal["text", b"text", "type", b"type", "user_mention", b"user_mention"]) -> None: ...
127
+
128
+ global___CommentBodyElement = CommentBodyElement
129
+
130
+ @typing.final
131
+ class CommentUserMention(google.protobuf.message.Message):
132
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
133
+
134
+ USER_ID_FIELD_NUMBER: builtins.int
135
+ USER_EMAIL_FIELD_NUMBER: builtins.int
136
+ user_id: builtins.str
137
+ user_email: builtins.str
138
+ def __init__(
139
+ self,
140
+ *,
141
+ user_id: builtins.str = ...,
142
+ user_email: builtins.str = ...,
143
+ ) -> None: ...
144
+ def ClearField(self, field_name: typing.Literal["user_email", b"user_email", "user_id", b"user_id"]) -> None: ...
145
+
146
+ global___CommentUserMention = CommentUserMention
147
+
148
+ @typing.final
149
+ class CreateCommentRequest(google.protobuf.message.Message):
150
+ """The request for a call to `CommentService_CreateComment`."""
151
+
152
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
153
+
154
+ RESOURCE_ID_FIELD_NUMBER: builtins.int
155
+ ENTITY_TYPE_FIELD_NUMBER: builtins.int
156
+ BODY_FIELD_NUMBER: builtins.int
157
+ resource_id: builtins.str
158
+ """The ID of the resource to attach the comment to."""
159
+ entity_type: global___CommentEntityType.ValueType
160
+ """The kind of resource `resource_id` refers to."""
161
+ @property
162
+ def body(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommentBodyElement]:
163
+ """The rich-text body of the new comment."""
164
+
165
+ def __init__(
166
+ self,
167
+ *,
168
+ resource_id: builtins.str = ...,
169
+ entity_type: global___CommentEntityType.ValueType = ...,
170
+ body: collections.abc.Iterable[global___CommentBodyElement] | None = ...,
171
+ ) -> None: ...
172
+ def ClearField(self, field_name: typing.Literal["body", b"body", "entity_type", b"entity_type", "resource_id", b"resource_id"]) -> None: ...
173
+
174
+ global___CreateCommentRequest = CreateCommentRequest
175
+
176
+ @typing.final
177
+ class CreateCommentResponse(google.protobuf.message.Message):
178
+ """The response of a call to `CommentService_CreateComment`."""
179
+
180
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
181
+
182
+ COMMENT_FIELD_NUMBER: builtins.int
183
+ @property
184
+ def comment(self) -> global___Comment: ...
185
+ def __init__(
186
+ self,
187
+ *,
188
+ comment: global___Comment | None = ...,
189
+ ) -> None: ...
190
+ def HasField(self, field_name: typing.Literal["comment", b"comment"]) -> builtins.bool: ...
191
+ def ClearField(self, field_name: typing.Literal["comment", b"comment"]) -> None: ...
192
+
193
+ global___CreateCommentResponse = CreateCommentResponse
194
+
195
+ @typing.final
196
+ class ListCommentsRequest(google.protobuf.message.Message):
197
+ """The request for a call to `CommentService_ListComments`. Commonly invoked
198
+ with a CEL `filter` of the form
199
+ `entity_type == "CANVAS_CELL_EXECUTION" && resource_id in ["<uuid>", ...]`
200
+ to bulk-fetch comments for a set of resources.
201
+ """
202
+
203
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
204
+
205
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
206
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
207
+ FILTER_FIELD_NUMBER: builtins.int
208
+ ORDER_BY_FIELD_NUMBER: builtins.int
209
+ page_size: builtins.int
210
+ """The maximum number of comments to return. Defaults to 50, max 1000."""
211
+ page_token: builtins.str
212
+ """A page token, received from a previous `ListComments` call."""
213
+ filter: builtins.str
214
+ """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
215
+ Available fields to filter by are `comment_id`, `resource_id`, `entity_type`,
216
+ `created_by_user_id`, `created_date`, and `modified_date`.
217
+ """
218
+ order_by: builtins.str
219
+ """How to order the retrieved comments. Formatted as a comma-separated string
220
+ i.e. "FIELD_NAME[ desc],...". Available fields to order_by are `created_date`
221
+ and `modified_date`. Defaults to `created_date` ascending (oldest-first).
222
+ """
223
+ def __init__(
224
+ self,
225
+ *,
226
+ page_size: builtins.int = ...,
227
+ page_token: builtins.str = ...,
228
+ filter: builtins.str = ...,
229
+ order_by: builtins.str = ...,
230
+ ) -> None: ...
231
+ def ClearField(self, field_name: typing.Literal["filter", b"filter", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
232
+
233
+ global___ListCommentsRequest = ListCommentsRequest
234
+
235
+ @typing.final
236
+ class ListCommentsResponse(google.protobuf.message.Message):
237
+ """The response of a call to `CommentService_ListComments`."""
238
+
239
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
240
+
241
+ COMMENTS_FIELD_NUMBER: builtins.int
242
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
243
+ next_page_token: builtins.str
244
+ @property
245
+ def comments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Comment]: ...
246
+ def __init__(
247
+ self,
248
+ *,
249
+ comments: collections.abc.Iterable[global___Comment] | None = ...,
250
+ next_page_token: builtins.str = ...,
251
+ ) -> None: ...
252
+ def ClearField(self, field_name: typing.Literal["comments", b"comments", "next_page_token", b"next_page_token"]) -> None: ...
253
+
254
+ global___ListCommentsResponse = ListCommentsResponse
255
+
256
+ @typing.final
257
+ class UpdateCommentRequest(google.protobuf.message.Message):
258
+ """The request for a call to `CommentService_UpdateComment`."""
259
+
260
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
261
+
262
+ COMMENT_FIELD_NUMBER: builtins.int
263
+ UPDATE_MASK_FIELD_NUMBER: builtins.int
264
+ update_mask: builtins.str
265
+ """Comma-separated list of fields to update. Only `body` is supported."""
266
+ @property
267
+ def comment(self) -> global___Comment: ...
268
+ def __init__(
269
+ self,
270
+ *,
271
+ comment: global___Comment | None = ...,
272
+ update_mask: builtins.str = ...,
273
+ ) -> None: ...
274
+ def HasField(self, field_name: typing.Literal["comment", b"comment"]) -> builtins.bool: ...
275
+ def ClearField(self, field_name: typing.Literal["comment", b"comment", "update_mask", b"update_mask"]) -> None: ...
276
+
277
+ global___UpdateCommentRequest = UpdateCommentRequest
278
+
279
+ @typing.final
280
+ class UpdateCommentResponse(google.protobuf.message.Message):
281
+ """The response of a call to `CommentService_UpdateComment`."""
282
+
283
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
284
+
285
+ COMMENT_FIELD_NUMBER: builtins.int
286
+ @property
287
+ def comment(self) -> global___Comment: ...
288
+ def __init__(
289
+ self,
290
+ *,
291
+ comment: global___Comment | None = ...,
292
+ ) -> None: ...
293
+ def HasField(self, field_name: typing.Literal["comment", b"comment"]) -> builtins.bool: ...
294
+ def ClearField(self, field_name: typing.Literal["comment", b"comment"]) -> None: ...
295
+
296
+ global___UpdateCommentResponse = UpdateCommentResponse
297
+
298
+ @typing.final
299
+ class DeleteCommentRequest(google.protobuf.message.Message):
300
+ """The request for a call to `CommentService_DeleteComment`."""
301
+
302
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
303
+
304
+ COMMENT_ID_FIELD_NUMBER: builtins.int
305
+ comment_id: builtins.str
306
+ def __init__(
307
+ self,
308
+ *,
309
+ comment_id: builtins.str = ...,
310
+ ) -> None: ...
311
+ def ClearField(self, field_name: typing.Literal["comment_id", b"comment_id"]) -> None: ...
312
+
313
+ global___DeleteCommentRequest = DeleteCommentRequest
314
+
315
+ @typing.final
316
+ class DeleteCommentResponse(google.protobuf.message.Message):
317
+ """The response of a call to `CommentService_DeleteComment`."""
318
+
319
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
320
+
321
+ def __init__(
322
+ self,
323
+ ) -> None: ...
324
+
325
+ global___DeleteCommentResponse = DeleteCommentResponse
@@ -0,0 +1,170 @@
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
+
5
+ from sift.comment.v1 import comment_pb2 as sift_dot_comment_dot_v1_dot_comment__pb2
6
+
7
+
8
+ class CommentServiceStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.CreateComment = channel.unary_unary(
18
+ '/sift.comment.v1.CommentService/CreateComment',
19
+ request_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentRequest.SerializeToString,
20
+ response_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentResponse.FromString,
21
+ )
22
+ self.ListComments = channel.unary_unary(
23
+ '/sift.comment.v1.CommentService/ListComments',
24
+ request_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsRequest.SerializeToString,
25
+ response_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsResponse.FromString,
26
+ )
27
+ self.UpdateComment = channel.unary_unary(
28
+ '/sift.comment.v1.CommentService/UpdateComment',
29
+ request_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentRequest.SerializeToString,
30
+ response_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentResponse.FromString,
31
+ )
32
+ self.DeleteComment = channel.unary_unary(
33
+ '/sift.comment.v1.CommentService/DeleteComment',
34
+ request_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentRequest.SerializeToString,
35
+ response_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentResponse.FromString,
36
+ )
37
+
38
+
39
+ class CommentServiceServicer(object):
40
+ """Missing associated documentation comment in .proto file."""
41
+
42
+ def CreateComment(self, request, context):
43
+ """Creates a comment on a resource.
44
+ """
45
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
46
+ context.set_details('Method not implemented!')
47
+ raise NotImplementedError('Method not implemented!')
48
+
49
+ def ListComments(self, request, context):
50
+ """Retrieves comments using an optional filter. Commonly used to bulk-fetch
51
+ comments for a set of resource IDs of a given entity type.
52
+ """
53
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
54
+ context.set_details('Method not implemented!')
55
+ raise NotImplementedError('Method not implemented!')
56
+
57
+ def UpdateComment(self, request, context):
58
+ """Updates the body of an existing comment.
59
+ """
60
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
61
+ context.set_details('Method not implemented!')
62
+ raise NotImplementedError('Method not implemented!')
63
+
64
+ def DeleteComment(self, request, context):
65
+ """Deletes a comment.
66
+ """
67
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
68
+ context.set_details('Method not implemented!')
69
+ raise NotImplementedError('Method not implemented!')
70
+
71
+
72
+ def add_CommentServiceServicer_to_server(servicer, server):
73
+ rpc_method_handlers = {
74
+ 'CreateComment': grpc.unary_unary_rpc_method_handler(
75
+ servicer.CreateComment,
76
+ request_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentRequest.FromString,
77
+ response_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentResponse.SerializeToString,
78
+ ),
79
+ 'ListComments': grpc.unary_unary_rpc_method_handler(
80
+ servicer.ListComments,
81
+ request_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsRequest.FromString,
82
+ response_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsResponse.SerializeToString,
83
+ ),
84
+ 'UpdateComment': grpc.unary_unary_rpc_method_handler(
85
+ servicer.UpdateComment,
86
+ request_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentRequest.FromString,
87
+ response_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentResponse.SerializeToString,
88
+ ),
89
+ 'DeleteComment': grpc.unary_unary_rpc_method_handler(
90
+ servicer.DeleteComment,
91
+ request_deserializer=sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentRequest.FromString,
92
+ response_serializer=sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentResponse.SerializeToString,
93
+ ),
94
+ }
95
+ generic_handler = grpc.method_handlers_generic_handler(
96
+ 'sift.comment.v1.CommentService', rpc_method_handlers)
97
+ server.add_generic_rpc_handlers((generic_handler,))
98
+
99
+
100
+ # This class is part of an EXPERIMENTAL API.
101
+ class CommentService(object):
102
+ """Missing associated documentation comment in .proto file."""
103
+
104
+ @staticmethod
105
+ def CreateComment(request,
106
+ target,
107
+ options=(),
108
+ channel_credentials=None,
109
+ call_credentials=None,
110
+ insecure=False,
111
+ compression=None,
112
+ wait_for_ready=None,
113
+ timeout=None,
114
+ metadata=None):
115
+ return grpc.experimental.unary_unary(request, target, '/sift.comment.v1.CommentService/CreateComment',
116
+ sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentRequest.SerializeToString,
117
+ sift_dot_comment_dot_v1_dot_comment__pb2.CreateCommentResponse.FromString,
118
+ options, channel_credentials,
119
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
120
+
121
+ @staticmethod
122
+ def ListComments(request,
123
+ target,
124
+ options=(),
125
+ channel_credentials=None,
126
+ call_credentials=None,
127
+ insecure=False,
128
+ compression=None,
129
+ wait_for_ready=None,
130
+ timeout=None,
131
+ metadata=None):
132
+ return grpc.experimental.unary_unary(request, target, '/sift.comment.v1.CommentService/ListComments',
133
+ sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsRequest.SerializeToString,
134
+ sift_dot_comment_dot_v1_dot_comment__pb2.ListCommentsResponse.FromString,
135
+ options, channel_credentials,
136
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
137
+
138
+ @staticmethod
139
+ def UpdateComment(request,
140
+ target,
141
+ options=(),
142
+ channel_credentials=None,
143
+ call_credentials=None,
144
+ insecure=False,
145
+ compression=None,
146
+ wait_for_ready=None,
147
+ timeout=None,
148
+ metadata=None):
149
+ return grpc.experimental.unary_unary(request, target, '/sift.comment.v1.CommentService/UpdateComment',
150
+ sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentRequest.SerializeToString,
151
+ sift_dot_comment_dot_v1_dot_comment__pb2.UpdateCommentResponse.FromString,
152
+ options, channel_credentials,
153
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
154
+
155
+ @staticmethod
156
+ def DeleteComment(request,
157
+ target,
158
+ options=(),
159
+ channel_credentials=None,
160
+ call_credentials=None,
161
+ insecure=False,
162
+ compression=None,
163
+ wait_for_ready=None,
164
+ timeout=None,
165
+ metadata=None):
166
+ return grpc.experimental.unary_unary(request, target, '/sift.comment.v1.CommentService/DeleteComment',
167
+ sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentRequest.SerializeToString,
168
+ sift_dot_comment_dot_v1_dot_comment__pb2.DeleteCommentResponse.FromString,
169
+ options, channel_credentials,
170
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)