cloudquery-plugin-pb 0.0.54__tar.gz → 0.0.56__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 (27) hide show
  1. cloudquery_plugin_pb-0.0.56/PKG-INFO +49 -0
  2. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/README.md +3 -10
  3. cloudquery_plugin_pb-0.0.56/cloudquery/plugin_v3/plugin_pb2.py +162 -0
  4. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/plugin_v3/plugin_pb2.pyi +114 -10
  5. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/plugin_v3/plugin_pb2_grpc.py +93 -0
  6. cloudquery_plugin_pb-0.0.56/cloudquery_plugin_pb.egg-info/PKG-INFO +49 -0
  7. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery_plugin_pb.egg-info/SOURCES.txt +1 -4
  8. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery_plugin_pb.egg-info/requires.txt +1 -1
  9. cloudquery_plugin_pb-0.0.56/pyproject.toml +55 -0
  10. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/setup.cfg +0 -3
  11. cloudquery_plugin_pb-0.0.54/PKG-INFO +0 -46
  12. cloudquery_plugin_pb-0.0.54/cloudquery/plugin_v3/plugin_pb2.py +0 -142
  13. cloudquery_plugin_pb-0.0.54/cloudquery_plugin_pb.egg-info/PKG-INFO +0 -46
  14. cloudquery_plugin_pb-0.0.54/cloudquery_plugin_pb.egg-info/namespace_packages.txt +0 -1
  15. cloudquery_plugin_pb-0.0.54/cloudquery_plugin_pb.egg-info/not-zip-safe +0 -1
  16. cloudquery_plugin_pb-0.0.54/setup.py +0 -77
  17. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/LICENSE +0 -0
  18. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/discovery_v1/__init__.py +0 -0
  19. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/discovery_v1/discovery_pb2.py +0 -0
  20. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/discovery_v1/discovery_pb2.pyi +0 -0
  21. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/discovery_v1/discovery_pb2_grpc.py +0 -0
  22. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/discovery_v1/py.typed +0 -0
  23. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/plugin_v3/__init__.py +0 -0
  24. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/plugin_v3/arrow.py +0 -0
  25. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery/plugin_v3/py.typed +0 -0
  26. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery_plugin_pb.egg-info/dependency_links.txt +0 -0
  27. {cloudquery_plugin_pb-0.0.54 → cloudquery_plugin_pb-0.0.56}/cloudquery_plugin_pb.egg-info/top_level.txt +0 -0
@@ -0,0 +1,49 @@
1
+ Metadata-Version: 2.4
2
+ Name: cloudquery-plugin-pb
3
+ Version: 0.0.56
4
+ Summary: CloudQuery Plugin client and server library
5
+ Author-email: CloudQuery LTD <pypi-packages@cloudquery.io>
6
+ License-Expression: MPL-2.0
7
+ Project-URL: Homepage, https://github.com/cloudquery/plugin-pb-python
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Topic :: Internet
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: grpcio>=1.56.0
22
+ Requires-Dist: grpcio-tools>=1.56.0
23
+ Requires-Dist: protobuf>=6.30.0
24
+ Requires-Dist: pyarrow>=13.0.0
25
+ Dynamic: license-file
26
+
27
+ # plugin-pb-python
28
+
29
+ This is a low-level auto-generated gRPC client and server for CloudQuery plugin from [plugin-pb protos](https://github.com/cloudquery/plugin-pb).
30
+
31
+ ## Development
32
+
33
+ ### Prerequisites
34
+
35
+ - [Python 3.9+](https://www.python.org/downloads/)
36
+ - [uv](https://docs.astral.sh/uv/)
37
+
38
+ ### Install dependencies
39
+
40
+ ```bash
41
+ uv sync
42
+ ```
43
+
44
+ ### Regenerate gRPC code
45
+
46
+ ```bash
47
+ make clone-proto # This is needed only once
48
+ make gen
49
+ ```
@@ -6,19 +6,13 @@ This is a low-level auto-generated gRPC client and server for CloudQuery plugin
6
6
 
7
7
  ### Prerequisites
8
8
 
9
- - [Python 3.7+](https://www.python.org/downloads/)
10
-
11
- we recommend using virtualenv to manage your python environment.
12
-
13
- ```bash
14
- virtualenv -p python3.7 venv # or any python >= 3.7
15
- source venv/bin/activate
16
- ```
9
+ - [Python 3.9+](https://www.python.org/downloads/)
10
+ - [uv](https://docs.astral.sh/uv/)
17
11
 
18
12
  ### Install dependencies
19
13
 
20
14
  ```bash
21
- pip install -r requirements.txt
15
+ uv sync
22
16
  ```
23
17
 
24
18
  ### Regenerate gRPC code
@@ -27,4 +21,3 @@ pip install -r requirements.txt
27
21
  make clone-proto # This is needed only once
28
22
  make gen
29
23
  ```
30
-
@@ -0,0 +1,162 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: cloudquery/plugin_v3/plugin.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'cloudquery/plugin_v3/plugin.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cloudquery/plugin_v3/plugin.proto\x12\x14\x63loudquery.plugin.v3\x1a\x1fgoogle/protobuf/timestamp.proto\".\n\x07GetName\x1a\t\n\x07Request\x1a\x18\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\"4\n\nGetVersion\x1a\t\n\x07Request\x1a\x1b\n\x08Response\x12\x0f\n\x07version\x18\x01 \x01(\t\"P\n\rGetSpecSchema\x1a\t\n\x07Request\x1a\x34\n\x08Response\x12\x18\n\x0bjson_schema\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_json_schema\"q\n\x04Init\x1a\x45\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x12\x15\n\rno_connection\x18\x02 \x01(\x08\x12\x15\n\rinvocation_id\x18\x03 \x01(\t\x1a\"\n\x08Response\x12\x16\n\x0esupports_flush\x18\x01 \x01(\x08\"v\n\tGetTables\x1aM\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x1a\x1a\n\x08Response\x12\x0e\n\x06tables\x18\x01 \x03(\x0c\"\xb9\x08\n\x04Sync\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a$\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\x31\n\x0cMessageError\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x1a#\n\x11MessageCheckpoint\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x38\n\x0e\x42\x61\x63kendOptions\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x12\n\nconnection\x18\x02 \x01(\t\x1a\xcc\x02\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x12\x1b\n\x13\x64\x65terministic_cq_id\x18\x04 \x01(\x08\x12:\n\x07\x62\x61\x63kend\x18\x05 \x01(\x0b\x32).cloudquery.plugin.v3.Sync.BackendOptions\x12<\n\x05shard\x18\x06 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.Request.ShardH\x00\x88\x01\x01\x12\x19\n\x11withErrorMessages\x18\x07 \x01(\x08\x12\x1c\n\x14supports_checkpoints\x18\x08 \x01(\x08\x1a#\n\x05Shard\x12\x0b\n\x03num\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\x42\x08\n\x06_shard\x1a\xe1\x02\n\x08Response\x12G\n\rmigrate_table\x18\x01 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageMigrateTableH\x00\x12:\n\x06insert\x18\x02 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.MessageInsertH\x00\x12G\n\rdelete_record\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageDeleteRecordH\x00\x12\x38\n\x05\x65rror\x18\x04 \x01(\x0b\x32\'.cloudquery.plugin.v3.Sync.MessageErrorH\x00\x12\x42\n\ncheckpoint\x18\x05 \x01(\x0b\x32,.cloudquery.plugin.v3.Sync.MessageCheckpointH\x00\x42\t\n\x07message\"<\n\x04Read\x1a\x18\n\x07Request\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"9\n\rTableRelation\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x14\n\x0cparent_table\x18\x02 \x01(\t\"{\n\tPredicate\x12:\n\x08operator\x18\x01 \x01(\x0e\x32(.cloudquery.plugin.v3.Predicate.Operator\x12\x0e\n\x06\x63olumn\x18\x02 \x01(\t\x12\x0e\n\x06record\x18\x03 \x01(\x0c\"\x12\n\x08Operator\x12\x06\n\x02\x45Q\x10\x00\"\xb2\x01\n\x0fPredicatesGroup\x12I\n\rgrouping_type\x18\x01 \x01(\x0e\x32\x32.cloudquery.plugin.v3.PredicatesGroup.GroupingType\x12\x33\n\npredicates\x18\x02 \x03(\x0b\x32\x1f.cloudquery.plugin.v3.Predicate\"\x1f\n\x0cGroupingType\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\"\xd8\x06\n\x05Write\x1a;\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x12\x15\n\rmigrate_force\x18\x02 \x01(\x08\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x7f\n\x12MessageDeleteStale\x12\x11\n\x05table\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x0bsource_name\x18\x02 \x01(\t\x12-\n\tsync_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntable_name\x18\x04 \x01(\t\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\x1a\n\x0cMessageFlush\x12\n\n\x02id\x18\x01 \x01(\x04\x1a\xe2\x02\n\x07Request\x12H\n\rmigrate_table\x18\x01 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageMigrateTableH\x00\x12;\n\x06insert\x18\x02 \x01(\x0b\x32).cloudquery.plugin.v3.Write.MessageInsertH\x00\x12@\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Write.MessageDeleteStaleH\x00\x12H\n\rdelete_record\x18\x04 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageDeleteRecordH\x00\x12\x39\n\x05\x66lush\x18\x05 \x01(\x0b\x32(.cloudquery.plugin.v3.Write.MessageFlushH\x00\x42\t\n\x07message\x1aH\n\x08Response\x12\x10\n\x08\x66lush_id\x18\x01 \x01(\x04\x12\x13\n\x0b\x66lush_error\x18\x02 \x01(\t\x12\x15\n\rfailed_tables\x18\x03 \x03(\t\"B\n\tTransform\x1a\x19\n\x07Request\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"H\n\x0fTransformSchema\x1a\x19\n\x07Request\x12\x0e\n\x06schema\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06schema\x18\x01 \x01(\x0c\"\x1e\n\x05\x43lose\x1a\t\n\x07Request\x1a\n\n\x08Response\"y\n\x0eTestConnection\x1a\x17\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x1aN\n\x08Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0c\x66\x61ilure_code\x18\x02 \x01(\t\x12\x1b\n\x13\x66\x61ilure_description\x18\x03 \x01(\t\"\xc1\x08\n\x0c\x41ssessTables\x1a\x31\n\tTablePair\x12\x11\n\told_table\x18\x01 \x01(\x0c\x12\x11\n\tnew_table\x18\x02 \x01(\x0c\x1a\x42\n\x08\x45vidence\x12\x17\n\x0fsynthetic_value\x18\x01 \x01(\t\x12\x0e\n\x06\x62\x65\x66ore\x18\x02 \x01(\t\x12\r\n\x05\x61\x66ter\x18\x03 \x01(\t\x1a\x80\x02\n\rColumnFinding\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12=\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32+.cloudquery.plugin.v3.AssessTables.Category\x12\x10\n\x08old_type\x18\x03 \x01(\t\x12\x10\n\x08new_type\x18\x04 \x01(\t\x12\x1a\n\x12safe_mode_behavior\x18\x05 \x01(\t\x12\x1c\n\x14\x66orced_mode_behavior\x18\x06 \x01(\t\x12=\n\x08\x65vidence\x18\x07 \x03(\x0b\x32+.cloudquery.plugin.v3.AssessTables.Evidence\x1a\xc1\x02\n\x0cTableFinding\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12=\n\x08\x63\x61tegory\x18\x02 \x01(\x0e\x32+.cloudquery.plugin.v3.AssessTables.Category\x12\x1a\n\x12safe_mode_behavior\x18\x03 \x01(\t\x12\x1c\n\x14\x66orced_mode_behavior\x18\x04 \x01(\t\x12\x41\n\x07\x63olumns\x18\x05 \x03(\x0b\x32\x30.cloudquery.plugin.v3.AssessTables.ColumnFinding\x12=\n\x08\x65vidence\x18\x06 \x03(\x0b\x32+.cloudquery.plugin.v3.AssessTables.Evidence\x12\"\n\x1aincomplete_coverage_reason\x18\x07 \x01(\t\x1a^\n\x07Request\x12<\n\x06tables\x18\x01 \x03(\x0b\x32,.cloudquery.plugin.v3.AssessTables.TablePair\x12\x15\n\rmigrate_force\x18\x02 \x01(\x08\x1aK\n\x08Response\x12?\n\x06tables\x18\x01 \x03(\x0b\x32/.cloudquery.plugin.v3.AssessTables.TableFinding\"\xc5\x01\n\x08\x43\x61tegory\x12\x14\n\x10\x43\x41TEGORY_UNKNOWN\x10\x00\x12\x16\n\x12\x43\x41TEGORY_NO_CHANGE\x10\x01\x12%\n!CATEGORY_AUTOMATICALLY_MIGRATABLE\x10\x02\x12&\n\"CATEGORY_MANUAL_MIGRATION_REQUIRED\x10\x03\x12\x1a\n\x16\x43\x41TEGORY_TABLE_REMOVED\x10\x04\x12 \n\x1c\x43\x41TEGORY_FILE_SCHEMA_CHANGED\x10\x05\x32\xbe\n\n\x06Plugin\x12X\n\x07GetName\x12%.cloudquery.plugin.v3.GetName.Request\x1a&.cloudquery.plugin.v3.GetName.Response\x12\x61\n\nGetVersion\x12(.cloudquery.plugin.v3.GetVersion.Request\x1a).cloudquery.plugin.v3.GetVersion.Response\x12j\n\rGetSpecSchema\x12+.cloudquery.plugin.v3.GetSpecSchema.Request\x1a,.cloudquery.plugin.v3.GetSpecSchema.Response\x12O\n\x04Init\x12\".cloudquery.plugin.v3.Init.Request\x1a#.cloudquery.plugin.v3.Init.Response\x12^\n\tGetTables\x12\'.cloudquery.plugin.v3.GetTables.Request\x1a(.cloudquery.plugin.v3.GetTables.Response\x12Q\n\x04Sync\x12\".cloudquery.plugin.v3.Sync.Request\x1a#.cloudquery.plugin.v3.Sync.Response0\x01\x12Q\n\x04Read\x12\".cloudquery.plugin.v3.Read.Request\x1a#.cloudquery.plugin.v3.Read.Response0\x01\x12T\n\x05Write\x12#.cloudquery.plugin.v3.Write.Request\x1a$.cloudquery.plugin.v3.Write.Response(\x01\x12\x62\n\tTransform\x12\'.cloudquery.plugin.v3.Transform.Request\x1a(.cloudquery.plugin.v3.Transform.Response(\x01\x30\x01\x12p\n\x0fTransformSchema\x12-.cloudquery.plugin.v3.TransformSchema.Request\x1a..cloudquery.plugin.v3.TransformSchema.Response\x12R\n\x05\x43lose\x12#.cloudquery.plugin.v3.Close.Request\x1a$.cloudquery.plugin.v3.Close.Response\x12m\n\x0eTestConnection\x12,.cloudquery.plugin.v3.TestConnection.Request\x1a-.cloudquery.plugin.v3.TestConnection.Response\x12g\n\x0c\x41ssessTables\x12*.cloudquery.plugin.v3.AssessTables.Request\x1a+.cloudquery.plugin.v3.AssessTables.Response\x12\\\n\x0bWriteStream\x12#.cloudquery.plugin.v3.Write.Request\x1a$.cloudquery.plugin.v3.Write.Response(\x01\x30\x01\x42S\n\x17io.cloudquery.plugin.v3P\x01Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;pluginb\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cloudquery.plugin_v3.plugin_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ _globals['DESCRIPTOR']._loaded_options = None
35
+ _globals['DESCRIPTOR']._serialized_options = b'\n\027io.cloudquery.plugin.v3P\001Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;plugin'
36
+ _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._loaded_options = None
37
+ _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._serialized_options = b'\030\001'
38
+ _globals['_GETNAME']._serialized_start=92
39
+ _globals['_GETNAME']._serialized_end=138
40
+ _globals['_GETNAME_REQUEST']._serialized_start=103
41
+ _globals['_GETNAME_REQUEST']._serialized_end=112
42
+ _globals['_GETNAME_RESPONSE']._serialized_start=114
43
+ _globals['_GETNAME_RESPONSE']._serialized_end=138
44
+ _globals['_GETVERSION']._serialized_start=140
45
+ _globals['_GETVERSION']._serialized_end=192
46
+ _globals['_GETVERSION_REQUEST']._serialized_start=103
47
+ _globals['_GETVERSION_REQUEST']._serialized_end=112
48
+ _globals['_GETVERSION_RESPONSE']._serialized_start=165
49
+ _globals['_GETVERSION_RESPONSE']._serialized_end=192
50
+ _globals['_GETSPECSCHEMA']._serialized_start=194
51
+ _globals['_GETSPECSCHEMA']._serialized_end=274
52
+ _globals['_GETSPECSCHEMA_REQUEST']._serialized_start=103
53
+ _globals['_GETSPECSCHEMA_REQUEST']._serialized_end=112
54
+ _globals['_GETSPECSCHEMA_RESPONSE']._serialized_start=222
55
+ _globals['_GETSPECSCHEMA_RESPONSE']._serialized_end=274
56
+ _globals['_INIT']._serialized_start=276
57
+ _globals['_INIT']._serialized_end=389
58
+ _globals['_INIT_REQUEST']._serialized_start=284
59
+ _globals['_INIT_REQUEST']._serialized_end=353
60
+ _globals['_INIT_RESPONSE']._serialized_start=355
61
+ _globals['_INIT_RESPONSE']._serialized_end=389
62
+ _globals['_GETTABLES']._serialized_start=391
63
+ _globals['_GETTABLES']._serialized_end=509
64
+ _globals['_GETTABLES_REQUEST']._serialized_start=404
65
+ _globals['_GETTABLES_REQUEST']._serialized_end=481
66
+ _globals['_GETTABLES_RESPONSE']._serialized_start=483
67
+ _globals['_GETTABLES_RESPONSE']._serialized_end=509
68
+ _globals['_SYNC']._serialized_start=512
69
+ _globals['_SYNC']._serialized_end=1593
70
+ _globals['_SYNC_MESSAGEINSERT']._serialized_start=520
71
+ _globals['_SYNC_MESSAGEINSERT']._serialized_end=551
72
+ _globals['_SYNC_MESSAGEMIGRATETABLE']._serialized_start=553
73
+ _globals['_SYNC_MESSAGEMIGRATETABLE']._serialized_end=589
74
+ _globals['_SYNC_MESSAGEDELETERECORD']._serialized_start=592
75
+ _globals['_SYNC_MESSAGEDELETERECORD']._serialized_end=756
76
+ _globals['_SYNC_MESSAGEERROR']._serialized_start=758
77
+ _globals['_SYNC_MESSAGEERROR']._serialized_end=807
78
+ _globals['_SYNC_MESSAGECHECKPOINT']._serialized_start=809
79
+ _globals['_SYNC_MESSAGECHECKPOINT']._serialized_end=844
80
+ _globals['_SYNC_BACKENDOPTIONS']._serialized_start=846
81
+ _globals['_SYNC_BACKENDOPTIONS']._serialized_end=902
82
+ _globals['_SYNC_REQUEST']._serialized_start=905
83
+ _globals['_SYNC_REQUEST']._serialized_end=1237
84
+ _globals['_SYNC_REQUEST_SHARD']._serialized_start=1192
85
+ _globals['_SYNC_REQUEST_SHARD']._serialized_end=1227
86
+ _globals['_SYNC_RESPONSE']._serialized_start=1240
87
+ _globals['_SYNC_RESPONSE']._serialized_end=1593
88
+ _globals['_READ']._serialized_start=1595
89
+ _globals['_READ']._serialized_end=1655
90
+ _globals['_READ_REQUEST']._serialized_start=1603
91
+ _globals['_READ_REQUEST']._serialized_end=1627
92
+ _globals['_READ_RESPONSE']._serialized_start=1629
93
+ _globals['_READ_RESPONSE']._serialized_end=1655
94
+ _globals['_TABLERELATION']._serialized_start=1657
95
+ _globals['_TABLERELATION']._serialized_end=1714
96
+ _globals['_PREDICATE']._serialized_start=1716
97
+ _globals['_PREDICATE']._serialized_end=1839
98
+ _globals['_PREDICATE_OPERATOR']._serialized_start=1821
99
+ _globals['_PREDICATE_OPERATOR']._serialized_end=1839
100
+ _globals['_PREDICATESGROUP']._serialized_start=1842
101
+ _globals['_PREDICATESGROUP']._serialized_end=2020
102
+ _globals['_PREDICATESGROUP_GROUPINGTYPE']._serialized_start=1989
103
+ _globals['_PREDICATESGROUP_GROUPINGTYPE']._serialized_end=2020
104
+ _globals['_WRITE']._serialized_start=2023
105
+ _globals['_WRITE']._serialized_end=2879
106
+ _globals['_WRITE_MESSAGEMIGRATETABLE']._serialized_start=2032
107
+ _globals['_WRITE_MESSAGEMIGRATETABLE']._serialized_end=2091
108
+ _globals['_WRITE_MESSAGEINSERT']._serialized_start=520
109
+ _globals['_WRITE_MESSAGEINSERT']._serialized_end=551
110
+ _globals['_WRITE_MESSAGEDELETESTALE']._serialized_start=2126
111
+ _globals['_WRITE_MESSAGEDELETESTALE']._serialized_end=2253
112
+ _globals['_WRITE_MESSAGEDELETERECORD']._serialized_start=592
113
+ _globals['_WRITE_MESSAGEDELETERECORD']._serialized_end=756
114
+ _globals['_WRITE_MESSAGEFLUSH']._serialized_start=2422
115
+ _globals['_WRITE_MESSAGEFLUSH']._serialized_end=2448
116
+ _globals['_WRITE_REQUEST']._serialized_start=2451
117
+ _globals['_WRITE_REQUEST']._serialized_end=2805
118
+ _globals['_WRITE_RESPONSE']._serialized_start=2807
119
+ _globals['_WRITE_RESPONSE']._serialized_end=2879
120
+ _globals['_TRANSFORM']._serialized_start=2881
121
+ _globals['_TRANSFORM']._serialized_end=2947
122
+ _globals['_TRANSFORM_REQUEST']._serialized_start=2894
123
+ _globals['_TRANSFORM_REQUEST']._serialized_end=2919
124
+ _globals['_TRANSFORM_RESPONSE']._serialized_start=1629
125
+ _globals['_TRANSFORM_RESPONSE']._serialized_end=1655
126
+ _globals['_TRANSFORMSCHEMA']._serialized_start=2949
127
+ _globals['_TRANSFORMSCHEMA']._serialized_end=3021
128
+ _globals['_TRANSFORMSCHEMA_REQUEST']._serialized_start=2968
129
+ _globals['_TRANSFORMSCHEMA_REQUEST']._serialized_end=2993
130
+ _globals['_TRANSFORMSCHEMA_RESPONSE']._serialized_start=2995
131
+ _globals['_TRANSFORMSCHEMA_RESPONSE']._serialized_end=3021
132
+ _globals['_CLOSE']._serialized_start=3023
133
+ _globals['_CLOSE']._serialized_end=3053
134
+ _globals['_CLOSE_REQUEST']._serialized_start=103
135
+ _globals['_CLOSE_REQUEST']._serialized_end=112
136
+ _globals['_CLOSE_RESPONSE']._serialized_start=114
137
+ _globals['_CLOSE_RESPONSE']._serialized_end=124
138
+ _globals['_TESTCONNECTION']._serialized_start=3055
139
+ _globals['_TESTCONNECTION']._serialized_end=3176
140
+ _globals['_TESTCONNECTION_REQUEST']._serialized_start=284
141
+ _globals['_TESTCONNECTION_REQUEST']._serialized_end=307
142
+ _globals['_TESTCONNECTION_RESPONSE']._serialized_start=3098
143
+ _globals['_TESTCONNECTION_RESPONSE']._serialized_end=3176
144
+ _globals['_ASSESSTABLES']._serialized_start=3179
145
+ _globals['_ASSESSTABLES']._serialized_end=4268
146
+ _globals['_ASSESSTABLES_TABLEPAIR']._serialized_start=3195
147
+ _globals['_ASSESSTABLES_TABLEPAIR']._serialized_end=3244
148
+ _globals['_ASSESSTABLES_EVIDENCE']._serialized_start=3246
149
+ _globals['_ASSESSTABLES_EVIDENCE']._serialized_end=3312
150
+ _globals['_ASSESSTABLES_COLUMNFINDING']._serialized_start=3315
151
+ _globals['_ASSESSTABLES_COLUMNFINDING']._serialized_end=3571
152
+ _globals['_ASSESSTABLES_TABLEFINDING']._serialized_start=3574
153
+ _globals['_ASSESSTABLES_TABLEFINDING']._serialized_end=3895
154
+ _globals['_ASSESSTABLES_REQUEST']._serialized_start=3897
155
+ _globals['_ASSESSTABLES_REQUEST']._serialized_end=3991
156
+ _globals['_ASSESSTABLES_RESPONSE']._serialized_start=3993
157
+ _globals['_ASSESSTABLES_RESPONSE']._serialized_end=4068
158
+ _globals['_ASSESSTABLES_CATEGORY']._serialized_start=4071
159
+ _globals['_ASSESSTABLES_CATEGORY']._serialized_end=4268
160
+ _globals['_PLUGIN']._serialized_start=4271
161
+ _globals['_PLUGIN']._serialized_end=5613
162
+ # @@protoc_insertion_point(module_scope)
@@ -58,8 +58,10 @@ class Init(_message.Message):
58
58
  invocation_id: str
59
59
  def __init__(self, spec: _Optional[bytes] = ..., no_connection: bool = ..., invocation_id: _Optional[str] = ...) -> None: ...
60
60
  class Response(_message.Message):
61
- __slots__ = ()
62
- def __init__(self) -> None: ...
61
+ __slots__ = ("supports_flush",)
62
+ SUPPORTS_FLUSH_FIELD_NUMBER: _ClassVar[int]
63
+ supports_flush: bool
64
+ def __init__(self, supports_flush: bool = ...) -> None: ...
63
65
  def __init__(self) -> None: ...
64
66
 
65
67
  class GetTables(_message.Message):
@@ -108,6 +110,11 @@ class Sync(_message.Message):
108
110
  table_name: str
109
111
  error: str
110
112
  def __init__(self, table_name: _Optional[str] = ..., error: _Optional[str] = ...) -> None: ...
113
+ class MessageCheckpoint(_message.Message):
114
+ __slots__ = ("record",)
115
+ RECORD_FIELD_NUMBER: _ClassVar[int]
116
+ record: bytes
117
+ def __init__(self, record: _Optional[bytes] = ...) -> None: ...
111
118
  class BackendOptions(_message.Message):
112
119
  __slots__ = ("table_name", "connection")
113
120
  TABLE_NAME_FIELD_NUMBER: _ClassVar[int]
@@ -116,7 +123,7 @@ class Sync(_message.Message):
116
123
  connection: str
117
124
  def __init__(self, table_name: _Optional[str] = ..., connection: _Optional[str] = ...) -> None: ...
118
125
  class Request(_message.Message):
119
- __slots__ = ("tables", "skip_tables", "skip_dependent_tables", "deterministic_cq_id", "backend", "shard", "withErrorMessages")
126
+ __slots__ = ("tables", "skip_tables", "skip_dependent_tables", "deterministic_cq_id", "backend", "shard", "withErrorMessages", "supports_checkpoints")
120
127
  class Shard(_message.Message):
121
128
  __slots__ = ("num", "total")
122
129
  NUM_FIELD_NUMBER: _ClassVar[int]
@@ -131,6 +138,7 @@ class Sync(_message.Message):
131
138
  BACKEND_FIELD_NUMBER: _ClassVar[int]
132
139
  SHARD_FIELD_NUMBER: _ClassVar[int]
133
140
  WITHERRORMESSAGES_FIELD_NUMBER: _ClassVar[int]
141
+ SUPPORTS_CHECKPOINTS_FIELD_NUMBER: _ClassVar[int]
134
142
  tables: _containers.RepeatedScalarFieldContainer[str]
135
143
  skip_tables: _containers.RepeatedScalarFieldContainer[str]
136
144
  skip_dependent_tables: bool
@@ -138,18 +146,21 @@ class Sync(_message.Message):
138
146
  backend: Sync.BackendOptions
139
147
  shard: Sync.Request.Shard
140
148
  withErrorMessages: bool
141
- def __init__(self, tables: _Optional[_Iterable[str]] = ..., skip_tables: _Optional[_Iterable[str]] = ..., skip_dependent_tables: bool = ..., deterministic_cq_id: bool = ..., backend: _Optional[_Union[Sync.BackendOptions, _Mapping]] = ..., shard: _Optional[_Union[Sync.Request.Shard, _Mapping]] = ..., withErrorMessages: bool = ...) -> None: ...
149
+ supports_checkpoints: bool
150
+ def __init__(self, tables: _Optional[_Iterable[str]] = ..., skip_tables: _Optional[_Iterable[str]] = ..., skip_dependent_tables: bool = ..., deterministic_cq_id: bool = ..., backend: _Optional[_Union[Sync.BackendOptions, _Mapping]] = ..., shard: _Optional[_Union[Sync.Request.Shard, _Mapping]] = ..., withErrorMessages: bool = ..., supports_checkpoints: bool = ...) -> None: ...
142
151
  class Response(_message.Message):
143
- __slots__ = ("migrate_table", "insert", "delete_record", "error")
152
+ __slots__ = ("migrate_table", "insert", "delete_record", "error", "checkpoint")
144
153
  MIGRATE_TABLE_FIELD_NUMBER: _ClassVar[int]
145
154
  INSERT_FIELD_NUMBER: _ClassVar[int]
146
155
  DELETE_RECORD_FIELD_NUMBER: _ClassVar[int]
147
156
  ERROR_FIELD_NUMBER: _ClassVar[int]
157
+ CHECKPOINT_FIELD_NUMBER: _ClassVar[int]
148
158
  migrate_table: Sync.MessageMigrateTable
149
159
  insert: Sync.MessageInsert
150
160
  delete_record: Sync.MessageDeleteRecord
151
161
  error: Sync.MessageError
152
- def __init__(self, migrate_table: _Optional[_Union[Sync.MessageMigrateTable, _Mapping]] = ..., insert: _Optional[_Union[Sync.MessageInsert, _Mapping]] = ..., delete_record: _Optional[_Union[Sync.MessageDeleteRecord, _Mapping]] = ..., error: _Optional[_Union[Sync.MessageError, _Mapping]] = ...) -> None: ...
162
+ checkpoint: Sync.MessageCheckpoint
163
+ def __init__(self, migrate_table: _Optional[_Union[Sync.MessageMigrateTable, _Mapping]] = ..., insert: _Optional[_Union[Sync.MessageInsert, _Mapping]] = ..., delete_record: _Optional[_Union[Sync.MessageDeleteRecord, _Mapping]] = ..., error: _Optional[_Union[Sync.MessageError, _Mapping]] = ..., checkpoint: _Optional[_Union[Sync.MessageCheckpoint, _Mapping]] = ...) -> None: ...
153
164
  def __init__(self) -> None: ...
154
165
 
155
166
  class Read(_message.Message):
@@ -236,20 +247,33 @@ class Write(_message.Message):
236
247
  where_clause: _containers.RepeatedCompositeFieldContainer[PredicatesGroup]
237
248
  table_relations: _containers.RepeatedCompositeFieldContainer[TableRelation]
238
249
  def __init__(self, table_name: _Optional[str] = ..., where_clause: _Optional[_Iterable[_Union[PredicatesGroup, _Mapping]]] = ..., table_relations: _Optional[_Iterable[_Union[TableRelation, _Mapping]]] = ...) -> None: ...
250
+ class MessageFlush(_message.Message):
251
+ __slots__ = ("id",)
252
+ ID_FIELD_NUMBER: _ClassVar[int]
253
+ id: int
254
+ def __init__(self, id: _Optional[int] = ...) -> None: ...
239
255
  class Request(_message.Message):
240
- __slots__ = ("migrate_table", "insert", "delete", "delete_record")
256
+ __slots__ = ("migrate_table", "insert", "delete", "delete_record", "flush")
241
257
  MIGRATE_TABLE_FIELD_NUMBER: _ClassVar[int]
242
258
  INSERT_FIELD_NUMBER: _ClassVar[int]
243
259
  DELETE_FIELD_NUMBER: _ClassVar[int]
244
260
  DELETE_RECORD_FIELD_NUMBER: _ClassVar[int]
261
+ FLUSH_FIELD_NUMBER: _ClassVar[int]
245
262
  migrate_table: Write.MessageMigrateTable
246
263
  insert: Write.MessageInsert
247
264
  delete: Write.MessageDeleteStale
248
265
  delete_record: Write.MessageDeleteRecord
249
- def __init__(self, migrate_table: _Optional[_Union[Write.MessageMigrateTable, _Mapping]] = ..., insert: _Optional[_Union[Write.MessageInsert, _Mapping]] = ..., delete: _Optional[_Union[Write.MessageDeleteStale, _Mapping]] = ..., delete_record: _Optional[_Union[Write.MessageDeleteRecord, _Mapping]] = ...) -> None: ...
266
+ flush: Write.MessageFlush
267
+ def __init__(self, migrate_table: _Optional[_Union[Write.MessageMigrateTable, _Mapping]] = ..., insert: _Optional[_Union[Write.MessageInsert, _Mapping]] = ..., delete: _Optional[_Union[Write.MessageDeleteStale, _Mapping]] = ..., delete_record: _Optional[_Union[Write.MessageDeleteRecord, _Mapping]] = ..., flush: _Optional[_Union[Write.MessageFlush, _Mapping]] = ...) -> None: ...
250
268
  class Response(_message.Message):
251
- __slots__ = ()
252
- def __init__(self) -> None: ...
269
+ __slots__ = ("flush_id", "flush_error", "failed_tables")
270
+ FLUSH_ID_FIELD_NUMBER: _ClassVar[int]
271
+ FLUSH_ERROR_FIELD_NUMBER: _ClassVar[int]
272
+ FAILED_TABLES_FIELD_NUMBER: _ClassVar[int]
273
+ flush_id: int
274
+ flush_error: str
275
+ failed_tables: _containers.RepeatedScalarFieldContainer[str]
276
+ def __init__(self, flush_id: _Optional[int] = ..., flush_error: _Optional[str] = ..., failed_tables: _Optional[_Iterable[str]] = ...) -> None: ...
253
277
  def __init__(self) -> None: ...
254
278
 
255
279
  class Transform(_message.Message):
@@ -307,3 +331,83 @@ class TestConnection(_message.Message):
307
331
  failure_description: str
308
332
  def __init__(self, success: bool = ..., failure_code: _Optional[str] = ..., failure_description: _Optional[str] = ...) -> None: ...
309
333
  def __init__(self) -> None: ...
334
+
335
+ class AssessTables(_message.Message):
336
+ __slots__ = ()
337
+ class Category(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
338
+ __slots__ = ()
339
+ CATEGORY_UNKNOWN: _ClassVar[AssessTables.Category]
340
+ CATEGORY_NO_CHANGE: _ClassVar[AssessTables.Category]
341
+ CATEGORY_AUTOMATICALLY_MIGRATABLE: _ClassVar[AssessTables.Category]
342
+ CATEGORY_MANUAL_MIGRATION_REQUIRED: _ClassVar[AssessTables.Category]
343
+ CATEGORY_TABLE_REMOVED: _ClassVar[AssessTables.Category]
344
+ CATEGORY_FILE_SCHEMA_CHANGED: _ClassVar[AssessTables.Category]
345
+ CATEGORY_UNKNOWN: AssessTables.Category
346
+ CATEGORY_NO_CHANGE: AssessTables.Category
347
+ CATEGORY_AUTOMATICALLY_MIGRATABLE: AssessTables.Category
348
+ CATEGORY_MANUAL_MIGRATION_REQUIRED: AssessTables.Category
349
+ CATEGORY_TABLE_REMOVED: AssessTables.Category
350
+ CATEGORY_FILE_SCHEMA_CHANGED: AssessTables.Category
351
+ class TablePair(_message.Message):
352
+ __slots__ = ("old_table", "new_table")
353
+ OLD_TABLE_FIELD_NUMBER: _ClassVar[int]
354
+ NEW_TABLE_FIELD_NUMBER: _ClassVar[int]
355
+ old_table: bytes
356
+ new_table: bytes
357
+ def __init__(self, old_table: _Optional[bytes] = ..., new_table: _Optional[bytes] = ...) -> None: ...
358
+ class Evidence(_message.Message):
359
+ __slots__ = ("synthetic_value", "before", "after")
360
+ SYNTHETIC_VALUE_FIELD_NUMBER: _ClassVar[int]
361
+ BEFORE_FIELD_NUMBER: _ClassVar[int]
362
+ AFTER_FIELD_NUMBER: _ClassVar[int]
363
+ synthetic_value: str
364
+ before: str
365
+ after: str
366
+ def __init__(self, synthetic_value: _Optional[str] = ..., before: _Optional[str] = ..., after: _Optional[str] = ...) -> None: ...
367
+ class ColumnFinding(_message.Message):
368
+ __slots__ = ("column_name", "category", "old_type", "new_type", "safe_mode_behavior", "forced_mode_behavior", "evidence")
369
+ COLUMN_NAME_FIELD_NUMBER: _ClassVar[int]
370
+ CATEGORY_FIELD_NUMBER: _ClassVar[int]
371
+ OLD_TYPE_FIELD_NUMBER: _ClassVar[int]
372
+ NEW_TYPE_FIELD_NUMBER: _ClassVar[int]
373
+ SAFE_MODE_BEHAVIOR_FIELD_NUMBER: _ClassVar[int]
374
+ FORCED_MODE_BEHAVIOR_FIELD_NUMBER: _ClassVar[int]
375
+ EVIDENCE_FIELD_NUMBER: _ClassVar[int]
376
+ column_name: str
377
+ category: AssessTables.Category
378
+ old_type: str
379
+ new_type: str
380
+ safe_mode_behavior: str
381
+ forced_mode_behavior: str
382
+ evidence: _containers.RepeatedCompositeFieldContainer[AssessTables.Evidence]
383
+ def __init__(self, column_name: _Optional[str] = ..., category: _Optional[_Union[AssessTables.Category, str]] = ..., old_type: _Optional[str] = ..., new_type: _Optional[str] = ..., safe_mode_behavior: _Optional[str] = ..., forced_mode_behavior: _Optional[str] = ..., evidence: _Optional[_Iterable[_Union[AssessTables.Evidence, _Mapping]]] = ...) -> None: ...
384
+ class TableFinding(_message.Message):
385
+ __slots__ = ("table_name", "category", "safe_mode_behavior", "forced_mode_behavior", "columns", "evidence", "incomplete_coverage_reason")
386
+ TABLE_NAME_FIELD_NUMBER: _ClassVar[int]
387
+ CATEGORY_FIELD_NUMBER: _ClassVar[int]
388
+ SAFE_MODE_BEHAVIOR_FIELD_NUMBER: _ClassVar[int]
389
+ FORCED_MODE_BEHAVIOR_FIELD_NUMBER: _ClassVar[int]
390
+ COLUMNS_FIELD_NUMBER: _ClassVar[int]
391
+ EVIDENCE_FIELD_NUMBER: _ClassVar[int]
392
+ INCOMPLETE_COVERAGE_REASON_FIELD_NUMBER: _ClassVar[int]
393
+ table_name: str
394
+ category: AssessTables.Category
395
+ safe_mode_behavior: str
396
+ forced_mode_behavior: str
397
+ columns: _containers.RepeatedCompositeFieldContainer[AssessTables.ColumnFinding]
398
+ evidence: _containers.RepeatedCompositeFieldContainer[AssessTables.Evidence]
399
+ incomplete_coverage_reason: str
400
+ def __init__(self, table_name: _Optional[str] = ..., category: _Optional[_Union[AssessTables.Category, str]] = ..., safe_mode_behavior: _Optional[str] = ..., forced_mode_behavior: _Optional[str] = ..., columns: _Optional[_Iterable[_Union[AssessTables.ColumnFinding, _Mapping]]] = ..., evidence: _Optional[_Iterable[_Union[AssessTables.Evidence, _Mapping]]] = ..., incomplete_coverage_reason: _Optional[str] = ...) -> None: ...
401
+ class Request(_message.Message):
402
+ __slots__ = ("tables", "migrate_force")
403
+ TABLES_FIELD_NUMBER: _ClassVar[int]
404
+ MIGRATE_FORCE_FIELD_NUMBER: _ClassVar[int]
405
+ tables: _containers.RepeatedCompositeFieldContainer[AssessTables.TablePair]
406
+ migrate_force: bool
407
+ def __init__(self, tables: _Optional[_Iterable[_Union[AssessTables.TablePair, _Mapping]]] = ..., migrate_force: bool = ...) -> None: ...
408
+ class Response(_message.Message):
409
+ __slots__ = ("tables",)
410
+ TABLES_FIELD_NUMBER: _ClassVar[int]
411
+ tables: _containers.RepeatedCompositeFieldContainer[AssessTables.TableFinding]
412
+ def __init__(self, tables: _Optional[_Iterable[_Union[AssessTables.TableFinding, _Mapping]]] = ...) -> None: ...
413
+ def __init__(self) -> None: ...
@@ -94,6 +94,16 @@ class PluginStub(object):
94
94
  request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.TestConnection.Request.SerializeToString,
95
95
  response_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.TestConnection.Response.FromString,
96
96
  _registered_method=True)
97
+ self.AssessTables = channel.unary_unary(
98
+ '/cloudquery.plugin.v3.Plugin/AssessTables',
99
+ request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Request.SerializeToString,
100
+ response_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Response.FromString,
101
+ _registered_method=True)
102
+ self.WriteStream = channel.stream_stream(
103
+ '/cloudquery.plugin.v3.Plugin/WriteStream',
104
+ request_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Request.SerializeToString,
105
+ response_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Response.FromString,
106
+ _registered_method=True)
97
107
 
98
108
 
99
109
  class PluginServicer(object):
@@ -186,6 +196,25 @@ class PluginServicer(object):
186
196
  context.set_details('Method not implemented!')
187
197
  raise NotImplementedError('Method not implemented!')
188
198
 
199
+ def AssessTables(self, request, context):
200
+ """Assess how the destination plugin would apply table schema changes, without writing anything.
201
+ Plugins that do not support assessment return Unimplemented.
202
+ """
203
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
204
+ context.set_details('Method not implemented!')
205
+ raise NotImplementedError('Method not implemented!')
206
+
207
+ def WriteStream(self, request_iterator, context):
208
+ """Write resources, like Write, and also accept Write.MessageFlush.
209
+ The plugin sends one Write.Response per Write.MessageFlush, once it has tried to commit every message sent before
210
+ the flush. Write.Response.flush_error is set if some messages sent since the previous flush may not have been
211
+ committed.
212
+ Only use it with plugins that set Init.Response.supports_flush.
213
+ """
214
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
215
+ context.set_details('Method not implemented!')
216
+ raise NotImplementedError('Method not implemented!')
217
+
189
218
 
190
219
  def add_PluginServicer_to_server(servicer, server):
191
220
  rpc_method_handlers = {
@@ -249,6 +278,16 @@ def add_PluginServicer_to_server(servicer, server):
249
278
  request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.TestConnection.Request.FromString,
250
279
  response_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.TestConnection.Response.SerializeToString,
251
280
  ),
281
+ 'AssessTables': grpc.unary_unary_rpc_method_handler(
282
+ servicer.AssessTables,
283
+ request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Request.FromString,
284
+ response_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Response.SerializeToString,
285
+ ),
286
+ 'WriteStream': grpc.stream_stream_rpc_method_handler(
287
+ servicer.WriteStream,
288
+ request_deserializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Request.FromString,
289
+ response_serializer=cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Response.SerializeToString,
290
+ ),
252
291
  }
253
292
  generic_handler = grpc.method_handlers_generic_handler(
254
293
  'cloudquery.plugin.v3.Plugin', rpc_method_handlers)
@@ -583,3 +622,57 @@ class Plugin(object):
583
622
  timeout,
584
623
  metadata,
585
624
  _registered_method=True)
625
+
626
+ @staticmethod
627
+ def AssessTables(request,
628
+ target,
629
+ options=(),
630
+ channel_credentials=None,
631
+ call_credentials=None,
632
+ insecure=False,
633
+ compression=None,
634
+ wait_for_ready=None,
635
+ timeout=None,
636
+ metadata=None):
637
+ return grpc.experimental.unary_unary(
638
+ request,
639
+ target,
640
+ '/cloudquery.plugin.v3.Plugin/AssessTables',
641
+ cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Request.SerializeToString,
642
+ cloudquery_dot_plugin__v3_dot_plugin__pb2.AssessTables.Response.FromString,
643
+ options,
644
+ channel_credentials,
645
+ insecure,
646
+ call_credentials,
647
+ compression,
648
+ wait_for_ready,
649
+ timeout,
650
+ metadata,
651
+ _registered_method=True)
652
+
653
+ @staticmethod
654
+ def WriteStream(request_iterator,
655
+ target,
656
+ options=(),
657
+ channel_credentials=None,
658
+ call_credentials=None,
659
+ insecure=False,
660
+ compression=None,
661
+ wait_for_ready=None,
662
+ timeout=None,
663
+ metadata=None):
664
+ return grpc.experimental.stream_stream(
665
+ request_iterator,
666
+ target,
667
+ '/cloudquery.plugin.v3.Plugin/WriteStream',
668
+ cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Request.SerializeToString,
669
+ cloudquery_dot_plugin__v3_dot_plugin__pb2.Write.Response.FromString,
670
+ options,
671
+ channel_credentials,
672
+ insecure,
673
+ call_credentials,
674
+ compression,
675
+ wait_for_ready,
676
+ timeout,
677
+ metadata,
678
+ _registered_method=True)
@@ -0,0 +1,49 @@
1
+ Metadata-Version: 2.4
2
+ Name: cloudquery-plugin-pb
3
+ Version: 0.0.56
4
+ Summary: CloudQuery Plugin client and server library
5
+ Author-email: CloudQuery LTD <pypi-packages@cloudquery.io>
6
+ License-Expression: MPL-2.0
7
+ Project-URL: Homepage, https://github.com/cloudquery/plugin-pb-python
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Topic :: Internet
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: grpcio>=1.56.0
22
+ Requires-Dist: grpcio-tools>=1.56.0
23
+ Requires-Dist: protobuf>=6.30.0
24
+ Requires-Dist: pyarrow>=13.0.0
25
+ Dynamic: license-file
26
+
27
+ # plugin-pb-python
28
+
29
+ This is a low-level auto-generated gRPC client and server for CloudQuery plugin from [plugin-pb protos](https://github.com/cloudquery/plugin-pb).
30
+
31
+ ## Development
32
+
33
+ ### Prerequisites
34
+
35
+ - [Python 3.9+](https://www.python.org/downloads/)
36
+ - [uv](https://docs.astral.sh/uv/)
37
+
38
+ ### Install dependencies
39
+
40
+ ```bash
41
+ uv sync
42
+ ```
43
+
44
+ ### Regenerate gRPC code
45
+
46
+ ```bash
47
+ make clone-proto # This is needed only once
48
+ make gen
49
+ ```
@@ -1,7 +1,6 @@
1
1
  LICENSE
2
2
  README.md
3
- setup.cfg
4
- setup.py
3
+ pyproject.toml
5
4
  cloudquery/discovery_v1/__init__.py
6
5
  cloudquery/discovery_v1/discovery_pb2.py
7
6
  cloudquery/discovery_v1/discovery_pb2.pyi
@@ -16,7 +15,5 @@ cloudquery/plugin_v3/py.typed
16
15
  cloudquery_plugin_pb.egg-info/PKG-INFO
17
16
  cloudquery_plugin_pb.egg-info/SOURCES.txt
18
17
  cloudquery_plugin_pb.egg-info/dependency_links.txt
19
- cloudquery_plugin_pb.egg-info/namespace_packages.txt
20
- cloudquery_plugin_pb.egg-info/not-zip-safe
21
18
  cloudquery_plugin_pb.egg-info/requires.txt
22
19
  cloudquery_plugin_pb.egg-info/top_level.txt
@@ -1,4 +1,4 @@
1
1
  grpcio>=1.56.0
2
2
  grpcio-tools>=1.56.0
3
- protobuf>=4.23.4
3
+ protobuf>=6.30.0
4
4
  pyarrow>=13.0.0
@@ -0,0 +1,55 @@
1
+ [build-system]
2
+ requires = ["setuptools>=75.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "cloudquery-plugin-pb"
7
+ version = "0.0.56"
8
+ description = "CloudQuery Plugin client and server library"
9
+ readme = "README.md"
10
+ license = "MPL-2.0"
11
+ requires-python = ">=3.9"
12
+ authors = [
13
+ { name = "CloudQuery LTD", email = "pypi-packages@cloudquery.io" },
14
+ ]
15
+ classifiers = [
16
+ "Intended Audience :: Developers",
17
+ "Programming Language :: Python",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.9",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Operating System :: OS Independent",
25
+ "Topic :: Internet",
26
+ ]
27
+ dependencies = [
28
+ "grpcio>=1.56.0",
29
+ "grpcio-tools>=1.56.0",
30
+ "protobuf>=6.30.0",
31
+ "pyarrow>=13.0.0",
32
+ ]
33
+
34
+ [project.urls]
35
+ Homepage = "https://github.com/cloudquery/plugin-pb-python"
36
+
37
+ [dependency-groups]
38
+ dev = [
39
+ "black>=26.3.1; python_version >= '3.10'",
40
+ "pytest>=9.0.2; python_version >= '3.10'",
41
+ ]
42
+
43
+ [tool.setuptools.packages.find]
44
+ include = ["cloudquery*"]
45
+
46
+ [tool.setuptools.package-data]
47
+ cloudquery = [
48
+ "plugin_v3/py.typed",
49
+ "plugin_v3/*.pyi",
50
+ "discovery_v1/py.typed",
51
+ "discovery_v1/*.pyi",
52
+ ]
53
+
54
+ [tool.uv]
55
+ exclude-newer = "1 week"
@@ -1,6 +1,3 @@
1
- [bdist_wheel]
2
- universal = 1
3
-
4
1
  [egg_info]
5
2
  tag_build =
6
3
  tag_date = 0
@@ -1,46 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cloudquery-plugin-pb
3
- Version: 0.0.54
4
- Summary: CloudQuery Plugin client and server library
5
- Home-page: https://github.com/cloudquery/plugin-pb-python
6
- Author: CloudQuery LTD
7
- Author-email: pypi-packages@cloudquery.io
8
- License: MPL-2.0
9
- Platform: Posix; MacOS X; Windows
10
- Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.7
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Operating System :: OS Independent
20
- Classifier: Topic :: Internet
21
- Requires-Python: >=3.7
22
- License-File: LICENSE
23
- Requires-Dist: grpcio>=1.56.0
24
- Requires-Dist: grpcio-tools>=1.56.0
25
- Requires-Dist: protobuf>=4.23.4
26
- Requires-Dist: pyarrow>=13.0.0
27
- Dynamic: author
28
- Dynamic: author-email
29
- Dynamic: classifier
30
- Dynamic: description
31
- Dynamic: home-page
32
- Dynamic: license
33
- Dynamic: license-file
34
- Dynamic: platform
35
- Dynamic: requires-dist
36
- Dynamic: requires-python
37
- Dynamic: summary
38
-
39
-
40
- Python Low Level Client for CloudQuery Plugin
41
- ================================================
42
-
43
- Overview
44
- -----------
45
-
46
- This is low level gRPC APIs for CloudQuery Plugin. Please see more on [github.com/cloudquery/plugin-pb-python](https://github.com/cloudquery/plugin-pb-python)
@@ -1,142 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: cloudquery/plugin_v3/plugin.proto
5
- # Protobuf Python Version: 6.31.1
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 6,
15
- 31,
16
- 1,
17
- '',
18
- 'cloudquery/plugin_v3/plugin.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
- from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
-
27
-
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cloudquery/plugin_v3/plugin.proto\x12\x14\x63loudquery.plugin.v3\x1a\x1fgoogle/protobuf/timestamp.proto\".\n\x07GetName\x1a\t\n\x07Request\x1a\x18\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\"4\n\nGetVersion\x1a\t\n\x07Request\x1a\x1b\n\x08Response\x12\x0f\n\x07version\x18\x01 \x01(\t\"P\n\rGetSpecSchema\x1a\t\n\x07Request\x1a\x34\n\x08Response\x12\x18\n\x0bjson_schema\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_json_schema\"Y\n\x04Init\x1a\x45\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x12\x15\n\rno_connection\x18\x02 \x01(\x08\x12\x15\n\rinvocation_id\x18\x03 \x01(\t\x1a\n\n\x08Response\"v\n\tGetTables\x1aM\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x1a\x1a\n\x08Response\x12\x0e\n\x06tables\x18\x01 \x03(\x0c\"\xb2\x07\n\x04Sync\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a$\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\x31\n\x0cMessageError\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x1a\x38\n\x0e\x42\x61\x63kendOptions\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x12\n\nconnection\x18\x02 \x01(\t\x1a\xae\x02\n\x07Request\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x13\n\x0bskip_tables\x18\x02 \x03(\t\x12\x1d\n\x15skip_dependent_tables\x18\x03 \x01(\x08\x12\x1b\n\x13\x64\x65terministic_cq_id\x18\x04 \x01(\x08\x12:\n\x07\x62\x61\x63kend\x18\x05 \x01(\x0b\x32).cloudquery.plugin.v3.Sync.BackendOptions\x12<\n\x05shard\x18\x06 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.Request.ShardH\x00\x88\x01\x01\x12\x19\n\x11withErrorMessages\x18\x07 \x01(\x08\x1a#\n\x05Shard\x12\x0b\n\x03num\x18\x01 \x01(\x05\x12\r\n\x05total\x18\x02 \x01(\x05\x42\x08\n\x06_shard\x1a\x9d\x02\n\x08Response\x12G\n\rmigrate_table\x18\x01 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageMigrateTableH\x00\x12:\n\x06insert\x18\x02 \x01(\x0b\x32(.cloudquery.plugin.v3.Sync.MessageInsertH\x00\x12G\n\rdelete_record\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Sync.MessageDeleteRecordH\x00\x12\x38\n\x05\x65rror\x18\x04 \x01(\x0b\x32\'.cloudquery.plugin.v3.Sync.MessageErrorH\x00\x42\t\n\x07message\"<\n\x04Read\x1a\x18\n\x07Request\x12\r\n\x05table\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"9\n\rTableRelation\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x14\n\x0cparent_table\x18\x02 \x01(\t\"{\n\tPredicate\x12:\n\x08operator\x18\x01 \x01(\x0e\x32(.cloudquery.plugin.v3.Predicate.Operator\x12\x0e\n\x06\x63olumn\x18\x02 \x01(\t\x12\x0e\n\x06record\x18\x03 \x01(\x0c\"\x12\n\x08Operator\x12\x06\n\x02\x45Q\x10\x00\"\xb2\x01\n\x0fPredicatesGroup\x12I\n\rgrouping_type\x18\x01 \x01(\x0e\x32\x32.cloudquery.plugin.v3.PredicatesGroup.GroupingType\x12\x33\n\npredicates\x18\x02 \x03(\x0b\x32\x1f.cloudquery.plugin.v3.Predicate\"\x1f\n\x0cGroupingType\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\"\xc3\x05\n\x05Write\x1a;\n\x13MessageMigrateTable\x12\r\n\x05table\x18\x01 \x01(\x0c\x12\x15\n\rmigrate_force\x18\x02 \x01(\x08\x1a\x1f\n\rMessageInsert\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x7f\n\x12MessageDeleteStale\x12\x11\n\x05table\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x0bsource_name\x18\x02 \x01(\t\x12-\n\tsync_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ntable_name\x18\x04 \x01(\t\x1a\xa4\x01\n\x13MessageDeleteRecord\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12;\n\x0cwhere_clause\x18\x02 \x03(\x0b\x32%.cloudquery.plugin.v3.PredicatesGroup\x12<\n\x0ftable_relations\x18\x03 \x03(\x0b\x32#.cloudquery.plugin.v3.TableRelation\x1a\xa7\x02\n\x07Request\x12H\n\rmigrate_table\x18\x01 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageMigrateTableH\x00\x12;\n\x06insert\x18\x02 \x01(\x0b\x32).cloudquery.plugin.v3.Write.MessageInsertH\x00\x12@\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32..cloudquery.plugin.v3.Write.MessageDeleteStaleH\x00\x12H\n\rdelete_record\x18\x04 \x01(\x0b\x32/.cloudquery.plugin.v3.Write.MessageDeleteRecordH\x00\x42\t\n\x07message\x1a\n\n\x08Response\"B\n\tTransform\x1a\x19\n\x07Request\x12\x0e\n\x06record\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06record\x18\x01 \x01(\x0c\"H\n\x0fTransformSchema\x1a\x19\n\x07Request\x12\x0e\n\x06schema\x18\x01 \x01(\x0c\x1a\x1a\n\x08Response\x12\x0e\n\x06schema\x18\x01 \x01(\x0c\"\x1e\n\x05\x43lose\x1a\t\n\x07Request\x1a\n\n\x08Response\"y\n\x0eTestConnection\x1a\x17\n\x07Request\x12\x0c\n\x04spec\x18\x01 \x01(\x0c\x1aN\n\x08Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x14\n\x0c\x66\x61ilure_code\x18\x02 \x01(\t\x12\x1b\n\x13\x66\x61ilure_description\x18\x03 \x01(\t2\xf7\x08\n\x06Plugin\x12X\n\x07GetName\x12%.cloudquery.plugin.v3.GetName.Request\x1a&.cloudquery.plugin.v3.GetName.Response\x12\x61\n\nGetVersion\x12(.cloudquery.plugin.v3.GetVersion.Request\x1a).cloudquery.plugin.v3.GetVersion.Response\x12j\n\rGetSpecSchema\x12+.cloudquery.plugin.v3.GetSpecSchema.Request\x1a,.cloudquery.plugin.v3.GetSpecSchema.Response\x12O\n\x04Init\x12\".cloudquery.plugin.v3.Init.Request\x1a#.cloudquery.plugin.v3.Init.Response\x12^\n\tGetTables\x12\'.cloudquery.plugin.v3.GetTables.Request\x1a(.cloudquery.plugin.v3.GetTables.Response\x12Q\n\x04Sync\x12\".cloudquery.plugin.v3.Sync.Request\x1a#.cloudquery.plugin.v3.Sync.Response0\x01\x12Q\n\x04Read\x12\".cloudquery.plugin.v3.Read.Request\x1a#.cloudquery.plugin.v3.Read.Response0\x01\x12T\n\x05Write\x12#.cloudquery.plugin.v3.Write.Request\x1a$.cloudquery.plugin.v3.Write.Response(\x01\x12\x62\n\tTransform\x12\'.cloudquery.plugin.v3.Transform.Request\x1a(.cloudquery.plugin.v3.Transform.Response(\x01\x30\x01\x12p\n\x0fTransformSchema\x12-.cloudquery.plugin.v3.TransformSchema.Request\x1a..cloudquery.plugin.v3.TransformSchema.Response\x12R\n\x05\x43lose\x12#.cloudquery.plugin.v3.Close.Request\x1a$.cloudquery.plugin.v3.Close.Response\x12m\n\x0eTestConnection\x12,.cloudquery.plugin.v3.TestConnection.Request\x1a-.cloudquery.plugin.v3.TestConnection.ResponseBS\n\x17io.cloudquery.plugin.v3P\x01Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;pluginb\x06proto3')
29
-
30
- _globals = globals()
31
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cloudquery.plugin_v3.plugin_pb2', _globals)
33
- if not _descriptor._USE_C_DESCRIPTORS:
34
- _globals['DESCRIPTOR']._loaded_options = None
35
- _globals['DESCRIPTOR']._serialized_options = b'\n\027io.cloudquery.plugin.v3P\001Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;plugin'
36
- _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._loaded_options = None
37
- _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._serialized_options = b'\030\001'
38
- _globals['_GETNAME']._serialized_start=92
39
- _globals['_GETNAME']._serialized_end=138
40
- _globals['_GETNAME_REQUEST']._serialized_start=103
41
- _globals['_GETNAME_REQUEST']._serialized_end=112
42
- _globals['_GETNAME_RESPONSE']._serialized_start=114
43
- _globals['_GETNAME_RESPONSE']._serialized_end=138
44
- _globals['_GETVERSION']._serialized_start=140
45
- _globals['_GETVERSION']._serialized_end=192
46
- _globals['_GETVERSION_REQUEST']._serialized_start=103
47
- _globals['_GETVERSION_REQUEST']._serialized_end=112
48
- _globals['_GETVERSION_RESPONSE']._serialized_start=165
49
- _globals['_GETVERSION_RESPONSE']._serialized_end=192
50
- _globals['_GETSPECSCHEMA']._serialized_start=194
51
- _globals['_GETSPECSCHEMA']._serialized_end=274
52
- _globals['_GETSPECSCHEMA_REQUEST']._serialized_start=103
53
- _globals['_GETSPECSCHEMA_REQUEST']._serialized_end=112
54
- _globals['_GETSPECSCHEMA_RESPONSE']._serialized_start=222
55
- _globals['_GETSPECSCHEMA_RESPONSE']._serialized_end=274
56
- _globals['_INIT']._serialized_start=276
57
- _globals['_INIT']._serialized_end=365
58
- _globals['_INIT_REQUEST']._serialized_start=284
59
- _globals['_INIT_REQUEST']._serialized_end=353
60
- _globals['_INIT_RESPONSE']._serialized_start=114
61
- _globals['_INIT_RESPONSE']._serialized_end=124
62
- _globals['_GETTABLES']._serialized_start=367
63
- _globals['_GETTABLES']._serialized_end=485
64
- _globals['_GETTABLES_REQUEST']._serialized_start=380
65
- _globals['_GETTABLES_REQUEST']._serialized_end=457
66
- _globals['_GETTABLES_RESPONSE']._serialized_start=459
67
- _globals['_GETTABLES_RESPONSE']._serialized_end=485
68
- _globals['_SYNC']._serialized_start=488
69
- _globals['_SYNC']._serialized_end=1434
70
- _globals['_SYNC_MESSAGEINSERT']._serialized_start=496
71
- _globals['_SYNC_MESSAGEINSERT']._serialized_end=527
72
- _globals['_SYNC_MESSAGEMIGRATETABLE']._serialized_start=529
73
- _globals['_SYNC_MESSAGEMIGRATETABLE']._serialized_end=565
74
- _globals['_SYNC_MESSAGEDELETERECORD']._serialized_start=568
75
- _globals['_SYNC_MESSAGEDELETERECORD']._serialized_end=732
76
- _globals['_SYNC_MESSAGEERROR']._serialized_start=734
77
- _globals['_SYNC_MESSAGEERROR']._serialized_end=783
78
- _globals['_SYNC_BACKENDOPTIONS']._serialized_start=785
79
- _globals['_SYNC_BACKENDOPTIONS']._serialized_end=841
80
- _globals['_SYNC_REQUEST']._serialized_start=844
81
- _globals['_SYNC_REQUEST']._serialized_end=1146
82
- _globals['_SYNC_REQUEST_SHARD']._serialized_start=1101
83
- _globals['_SYNC_REQUEST_SHARD']._serialized_end=1136
84
- _globals['_SYNC_RESPONSE']._serialized_start=1149
85
- _globals['_SYNC_RESPONSE']._serialized_end=1434
86
- _globals['_READ']._serialized_start=1436
87
- _globals['_READ']._serialized_end=1496
88
- _globals['_READ_REQUEST']._serialized_start=1444
89
- _globals['_READ_REQUEST']._serialized_end=1468
90
- _globals['_READ_RESPONSE']._serialized_start=1470
91
- _globals['_READ_RESPONSE']._serialized_end=1496
92
- _globals['_TABLERELATION']._serialized_start=1498
93
- _globals['_TABLERELATION']._serialized_end=1555
94
- _globals['_PREDICATE']._serialized_start=1557
95
- _globals['_PREDICATE']._serialized_end=1680
96
- _globals['_PREDICATE_OPERATOR']._serialized_start=1662
97
- _globals['_PREDICATE_OPERATOR']._serialized_end=1680
98
- _globals['_PREDICATESGROUP']._serialized_start=1683
99
- _globals['_PREDICATESGROUP']._serialized_end=1861
100
- _globals['_PREDICATESGROUP_GROUPINGTYPE']._serialized_start=1830
101
- _globals['_PREDICATESGROUP_GROUPINGTYPE']._serialized_end=1861
102
- _globals['_WRITE']._serialized_start=1864
103
- _globals['_WRITE']._serialized_end=2571
104
- _globals['_WRITE_MESSAGEMIGRATETABLE']._serialized_start=1873
105
- _globals['_WRITE_MESSAGEMIGRATETABLE']._serialized_end=1932
106
- _globals['_WRITE_MESSAGEINSERT']._serialized_start=496
107
- _globals['_WRITE_MESSAGEINSERT']._serialized_end=527
108
- _globals['_WRITE_MESSAGEDELETESTALE']._serialized_start=1967
109
- _globals['_WRITE_MESSAGEDELETESTALE']._serialized_end=2094
110
- _globals['_WRITE_MESSAGEDELETERECORD']._serialized_start=568
111
- _globals['_WRITE_MESSAGEDELETERECORD']._serialized_end=732
112
- _globals['_WRITE_REQUEST']._serialized_start=2264
113
- _globals['_WRITE_REQUEST']._serialized_end=2559
114
- _globals['_WRITE_RESPONSE']._serialized_start=114
115
- _globals['_WRITE_RESPONSE']._serialized_end=124
116
- _globals['_TRANSFORM']._serialized_start=2573
117
- _globals['_TRANSFORM']._serialized_end=2639
118
- _globals['_TRANSFORM_REQUEST']._serialized_start=2586
119
- _globals['_TRANSFORM_REQUEST']._serialized_end=2611
120
- _globals['_TRANSFORM_RESPONSE']._serialized_start=1470
121
- _globals['_TRANSFORM_RESPONSE']._serialized_end=1496
122
- _globals['_TRANSFORMSCHEMA']._serialized_start=2641
123
- _globals['_TRANSFORMSCHEMA']._serialized_end=2713
124
- _globals['_TRANSFORMSCHEMA_REQUEST']._serialized_start=2660
125
- _globals['_TRANSFORMSCHEMA_REQUEST']._serialized_end=2685
126
- _globals['_TRANSFORMSCHEMA_RESPONSE']._serialized_start=2687
127
- _globals['_TRANSFORMSCHEMA_RESPONSE']._serialized_end=2713
128
- _globals['_CLOSE']._serialized_start=2715
129
- _globals['_CLOSE']._serialized_end=2745
130
- _globals['_CLOSE_REQUEST']._serialized_start=103
131
- _globals['_CLOSE_REQUEST']._serialized_end=112
132
- _globals['_CLOSE_RESPONSE']._serialized_start=114
133
- _globals['_CLOSE_RESPONSE']._serialized_end=124
134
- _globals['_TESTCONNECTION']._serialized_start=2747
135
- _globals['_TESTCONNECTION']._serialized_end=2868
136
- _globals['_TESTCONNECTION_REQUEST']._serialized_start=284
137
- _globals['_TESTCONNECTION_REQUEST']._serialized_end=307
138
- _globals['_TESTCONNECTION_RESPONSE']._serialized_start=2790
139
- _globals['_TESTCONNECTION_RESPONSE']._serialized_end=2868
140
- _globals['_PLUGIN']._serialized_start=2871
141
- _globals['_PLUGIN']._serialized_end=4014
142
- # @@protoc_insertion_point(module_scope)
@@ -1,46 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cloudquery-plugin-pb
3
- Version: 0.0.54
4
- Summary: CloudQuery Plugin client and server library
5
- Home-page: https://github.com/cloudquery/plugin-pb-python
6
- Author: CloudQuery LTD
7
- Author-email: pypi-packages@cloudquery.io
8
- License: MPL-2.0
9
- Platform: Posix; MacOS X; Windows
10
- Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.7
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Operating System :: OS Independent
20
- Classifier: Topic :: Internet
21
- Requires-Python: >=3.7
22
- License-File: LICENSE
23
- Requires-Dist: grpcio>=1.56.0
24
- Requires-Dist: grpcio-tools>=1.56.0
25
- Requires-Dist: protobuf>=4.23.4
26
- Requires-Dist: pyarrow>=13.0.0
27
- Dynamic: author
28
- Dynamic: author-email
29
- Dynamic: classifier
30
- Dynamic: description
31
- Dynamic: home-page
32
- Dynamic: license
33
- Dynamic: license-file
34
- Dynamic: platform
35
- Dynamic: requires-dist
36
- Dynamic: requires-python
37
- Dynamic: summary
38
-
39
-
40
- Python Low Level Client for CloudQuery Plugin
41
- ================================================
42
-
43
- Overview
44
- -----------
45
-
46
- This is low level gRPC APIs for CloudQuery Plugin. Please see more on [github.com/cloudquery/plugin-pb-python](https://github.com/cloudquery/plugin-pb-python)
@@ -1,77 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import io
3
- import os
4
-
5
- import setuptools # type: ignore
6
-
7
- package_root = os.path.abspath(os.path.dirname(__file__))
8
-
9
- name = "cloudquery-plugin-pb"
10
-
11
- description = "CloudQuery Plugin client and server library"
12
-
13
- dependencies = [
14
- "grpcio >= 1.56.0",
15
- "grpcio-tools >= 1.56.0",
16
- "protobuf >= 4.23.4",
17
- "pyarrow >= 13.0.0",
18
- ]
19
- url = "https://github.com/cloudquery/plugin-pb-python"
20
-
21
- package_root = os.path.abspath(os.path.dirname(__file__))
22
-
23
- long_description = """
24
- Python Low Level Client for CloudQuery Plugin
25
- ================================================
26
-
27
- Overview
28
- -----------
29
-
30
- This is low level gRPC APIs for CloudQuery Plugin. Please see more on [github.com/cloudquery/plugin-pb-python](https://github.com/cloudquery/plugin-pb-python)
31
- """
32
-
33
- packages = [
34
- package
35
- for package in setuptools.PEP420PackageFinder.find()
36
- if package.startswith("cloudquery")
37
- ]
38
- setuptools.setup(
39
- name=name,
40
- version="0.0.54",
41
- description=description,
42
- long_description=long_description,
43
- author="CloudQuery LTD",
44
- author_email="pypi-packages@cloudquery.io",
45
- license="MPL-2.0",
46
- url=url,
47
- classifiers=[
48
- # release_status,
49
- "Intended Audience :: Developers",
50
- "License :: OSI Approved :: Apache Software License",
51
- "Programming Language :: Python",
52
- "Programming Language :: Python :: 3",
53
- "Programming Language :: Python :: 3.7",
54
- "Programming Language :: Python :: 3.8",
55
- "Programming Language :: Python :: 3.9",
56
- "Programming Language :: Python :: 3.10",
57
- "Programming Language :: Python :: 3.11",
58
- "Operating System :: OS Independent",
59
- "Topic :: Internet",
60
- ],
61
- platforms="Posix; MacOS X; Windows",
62
- packages=packages,
63
- python_requires=">=3.7",
64
- namespace_packages=["cloudquery"],
65
- # namespace_packages=namespaces,
66
- install_requires=dependencies,
67
- include_package_data=True,
68
- package_data={
69
- "cloudquery": [
70
- "plugin_v3/py.typed",
71
- "plugin_v3/*.pyi",
72
- "discovery_v1/py.typed",
73
- "discovery_v1/*.pyi",
74
- ]
75
- },
76
- zip_safe=False,
77
- )