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