diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c9f4c8c..f2cb227 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 59a07a5..2a521b3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml index 766ff07..3cd0f86 100644 --- a/.github/workflows/regen.yml +++ b/.github/workflows/regen.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies diff --git a/.github/workflows/release_pr.yml b/.github/workflows/release_pr.yml index 5cd7917..a431fe5 100644 --- a/.github/workflows/release_pr.yml +++ b/.github/workflows/release_pr.yml @@ -8,14 +8,7 @@ jobs: release-please: runs-on: ubuntu-latest steps: - - uses: google-github-actions/release-please-action@v3 + - uses: google-github-actions/release-please-action@v4 id: release with: - release-type: python - package-name: plugin-pb-python token: ${{ secrets.GH_CQ_BOT }} - pull-request-title-pattern: "chore${scope}: Release${component} v${version}" - # Should breaking changes before 1.0.0 produce minor bumps? - bump-minor-pre-major: true - # Should feat changes before 1.0.0 produce patch bumps instead of minor bumps? - bump-patch-for-minor-pre-major: true diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 2be8cd1..cb88dc8 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -14,7 +14,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..1f5bc20 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.0.21" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 70d12b0..7c28fb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.0.21](https://github.com/cloudquery/plugin-pb-python/compare/v0.0.20...v0.0.21) (2024-01-02) + + +### Bug Fixes + +* **deps:** Update dependency black to v23.11.0 ([#41](https://github.com/cloudquery/plugin-pb-python/issues/41)) ([34bfdec](https://github.com/cloudquery/plugin-pb-python/commit/34bfdeccef7ee7ba5460691b7f3e765b430549d2)) +* **deps:** Update dependency black to v23.12.1 ([#45](https://github.com/cloudquery/plugin-pb-python/issues/45)) ([3505670](https://github.com/cloudquery/plugin-pb-python/commit/35056700d67d5e7a6a87ffbf305c71a040510ce1)) +* **deps:** Update dependency grpcio to v1.59.3 ([#38](https://github.com/cloudquery/plugin-pb-python/issues/38)) ([251df41](https://github.com/cloudquery/plugin-pb-python/commit/251df41a49cc720e70b6d00bab13e93bb87ecb00)) +* **deps:** Update dependency grpcio to v1.60.0 ([#46](https://github.com/cloudquery/plugin-pb-python/issues/46)) ([2bff16d](https://github.com/cloudquery/plugin-pb-python/commit/2bff16df46d68a0a14b2d59df89aed250b74c5c2)) +* **deps:** Update dependency grpcio-tools to v1.59.3 ([#39](https://github.com/cloudquery/plugin-pb-python/issues/39)) ([21cfa08](https://github.com/cloudquery/plugin-pb-python/commit/21cfa08f9ff6d187a034c70e875e532c337be2e5)) +* **deps:** Update dependency grpcio-tools to v1.60.0 ([#47](https://github.com/cloudquery/plugin-pb-python/issues/47)) ([411af61](https://github.com/cloudquery/plugin-pb-python/commit/411af6187c385c79ba6ca6c1daac1d27858583fd)) +* **deps:** Update dependency protobuf to v4.25.1 ([#42](https://github.com/cloudquery/plugin-pb-python/issues/42)) ([f0d28c6](https://github.com/cloudquery/plugin-pb-python/commit/f0d28c6039681aec72bc11329df174062a289fca)) +* **deps:** Update dependency pytest to v7.4.4 ([#44](https://github.com/cloudquery/plugin-pb-python/issues/44)) ([552ab23](https://github.com/cloudquery/plugin-pb-python/commit/552ab232625fec322d4ae2af75192a47fa1b7957)) +* Generate Python Code from `plugin-pb` ([#50](https://github.com/cloudquery/plugin-pb-python/issues/50)) ([3360e7e](https://github.com/cloudquery/plugin-pb-python/commit/3360e7ebe109ff2cbfd040f971726d1decf51299)) + ## [0.0.20](https://github.com/cloudquery/plugin-pb-python/compare/v0.0.19...v0.0.20) (2023-11-01) diff --git a/cloudquery/discovery_v1/discovery_pb2.py b/cloudquery/discovery_v1/discovery_pb2.py index 1585be1..baa9623 100644 --- a/cloudquery/discovery_v1/discovery_pb2.py +++ b/cloudquery/discovery_v1/discovery_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: cloudquery/discovery_v1/discovery.proto +# Protobuf Python Version: 4.25.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,8 +20,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cloudquery.discovery_v1.discovery_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\032io.cloudquery.discovery.v1P\001Z None: ... class Response(_message.Message): - __slots__ = ["versions"] + __slots__ = ("versions",) VERSIONS_FIELD_NUMBER: _ClassVar[int] versions: _containers.RepeatedScalarFieldContainer[int] def __init__(self, versions: _Optional[_Iterable[int]] = ...) -> None: ... diff --git a/cloudquery/plugin_v3/plugin_pb2.py b/cloudquery/plugin_v3/plugin_pb2.py index e6b8cd6..2586429 100644 --- a/cloudquery/plugin_v3/plugin_pb2.py +++ b/cloudquery/plugin_v3/plugin_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: cloudquery/plugin_v3/plugin.proto +# Protobuf Python Version: 4.25.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,10 +21,10 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cloudquery.plugin_v3.plugin_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\027io.cloudquery.plugin.v3P\001Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;plugin' - _WRITE_MESSAGEDELETESTALE.fields_by_name['table']._options = None - _WRITE_MESSAGEDELETESTALE.fields_by_name['table']._serialized_options = b'\030\001' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027io.cloudquery.plugin.v3P\001Z6github.com/cloudquery/plugin-pb-go/pb/plugin/v3;plugin' + _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._options = None + _globals['_WRITE_MESSAGEDELETESTALE'].fields_by_name['table']._serialized_options = b'\030\001' _globals['_GETNAME']._serialized_start=92 _globals['_GETNAME']._serialized_end=138 _globals['_GETNAME_REQUEST']._serialized_start=103 diff --git a/cloudquery/plugin_v3/plugin_pb2.pyi b/cloudquery/plugin_v3/plugin_pb2.pyi index f9dcd66..d1bd2d4 100644 --- a/cloudquery/plugin_v3/plugin_pb2.pyi +++ b/cloudquery/plugin_v3/plugin_pb2.pyi @@ -8,47 +8,47 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class GetName(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... class Response(_message.Message): - __slots__ = ["name"] + __slots__ = ("name",) NAME_FIELD_NUMBER: _ClassVar[int] name: str def __init__(self, name: _Optional[str] = ...) -> None: ... def __init__(self) -> None: ... class GetVersion(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... class Response(_message.Message): - __slots__ = ["version"] + __slots__ = ("version",) VERSION_FIELD_NUMBER: _ClassVar[int] version: str def __init__(self, version: _Optional[str] = ...) -> None: ... def __init__(self) -> None: ... class Init(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = ["spec", "no_connection"] + __slots__ = ("spec", "no_connection") SPEC_FIELD_NUMBER: _ClassVar[int] NO_CONNECTION_FIELD_NUMBER: _ClassVar[int] spec: bytes no_connection: bool def __init__(self, spec: _Optional[bytes] = ..., no_connection: bool = ...) -> None: ... class Response(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... def __init__(self) -> None: ... class GetTables(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = ["tables", "skip_tables", "skip_dependent_tables"] + __slots__ = ("tables", "skip_tables", "skip_dependent_tables") TABLES_FIELD_NUMBER: _ClassVar[int] SKIP_TABLES_FIELD_NUMBER: _ClassVar[int] SKIP_DEPENDENT_TABLES_FIELD_NUMBER: _ClassVar[int] @@ -57,26 +57,26 @@ class GetTables(_message.Message): skip_dependent_tables: bool def __init__(self, tables: _Optional[_Iterable[str]] = ..., skip_tables: _Optional[_Iterable[str]] = ..., skip_dependent_tables: bool = ...) -> None: ... class Response(_message.Message): - __slots__ = ["tables"] + __slots__ = ("tables",) TABLES_FIELD_NUMBER: _ClassVar[int] tables: _containers.RepeatedScalarFieldContainer[bytes] def __init__(self, tables: _Optional[_Iterable[bytes]] = ...) -> None: ... def __init__(self) -> None: ... class Sync(_message.Message): - __slots__ = [] + __slots__ = () class MessageInsert(_message.Message): - __slots__ = ["record"] + __slots__ = ("record",) RECORD_FIELD_NUMBER: _ClassVar[int] record: bytes def __init__(self, record: _Optional[bytes] = ...) -> None: ... class MessageMigrateTable(_message.Message): - __slots__ = ["table"] + __slots__ = ("table",) TABLE_FIELD_NUMBER: _ClassVar[int] table: bytes def __init__(self, table: _Optional[bytes] = ...) -> None: ... class MessageDeleteRecord(_message.Message): - __slots__ = ["table_name", "where_clause", "table_relations"] + __slots__ = ("table_name", "where_clause", "table_relations") TABLE_NAME_FIELD_NUMBER: _ClassVar[int] WHERE_CLAUSE_FIELD_NUMBER: _ClassVar[int] TABLE_RELATIONS_FIELD_NUMBER: _ClassVar[int] @@ -85,14 +85,14 @@ class Sync(_message.Message): table_relations: _containers.RepeatedCompositeFieldContainer[TableRelation] def __init__(self, table_name: _Optional[str] = ..., where_clause: _Optional[_Iterable[_Union[PredicatesGroup, _Mapping]]] = ..., table_relations: _Optional[_Iterable[_Union[TableRelation, _Mapping]]] = ...) -> None: ... class BackendOptions(_message.Message): - __slots__ = ["table_name", "connection"] + __slots__ = ("table_name", "connection") TABLE_NAME_FIELD_NUMBER: _ClassVar[int] CONNECTION_FIELD_NUMBER: _ClassVar[int] table_name: str connection: str def __init__(self, table_name: _Optional[str] = ..., connection: _Optional[str] = ...) -> None: ... class Request(_message.Message): - __slots__ = ["tables", "skip_tables", "skip_dependent_tables", "deterministic_cq_id", "backend"] + __slots__ = ("tables", "skip_tables", "skip_dependent_tables", "deterministic_cq_id", "backend") TABLES_FIELD_NUMBER: _ClassVar[int] SKIP_TABLES_FIELD_NUMBER: _ClassVar[int] SKIP_DEPENDENT_TABLES_FIELD_NUMBER: _ClassVar[int] @@ -105,7 +105,7 @@ class Sync(_message.Message): backend: Sync.BackendOptions 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]] = ...) -> None: ... class Response(_message.Message): - __slots__ = ["migrate_table", "insert", "delete_record"] + __slots__ = ("migrate_table", "insert", "delete_record") MIGRATE_TABLE_FIELD_NUMBER: _ClassVar[int] INSERT_FIELD_NUMBER: _ClassVar[int] DELETE_RECORD_FIELD_NUMBER: _ClassVar[int] @@ -116,21 +116,21 @@ class Sync(_message.Message): def __init__(self) -> None: ... class Read(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = ["table"] + __slots__ = ("table",) TABLE_FIELD_NUMBER: _ClassVar[int] table: bytes def __init__(self, table: _Optional[bytes] = ...) -> None: ... class Response(_message.Message): - __slots__ = ["record"] + __slots__ = ("record",) RECORD_FIELD_NUMBER: _ClassVar[int] record: bytes def __init__(self, record: _Optional[bytes] = ...) -> None: ... def __init__(self) -> None: ... class TableRelation(_message.Message): - __slots__ = ["table_name", "parent_table"] + __slots__ = ("table_name", "parent_table") TABLE_NAME_FIELD_NUMBER: _ClassVar[int] PARENT_TABLE_FIELD_NUMBER: _ClassVar[int] table_name: str @@ -138,9 +138,9 @@ class TableRelation(_message.Message): def __init__(self, table_name: _Optional[str] = ..., parent_table: _Optional[str] = ...) -> None: ... class Predicate(_message.Message): - __slots__ = ["operator", "column", "record"] + __slots__ = ("operator", "column", "record") class Operator(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] + __slots__ = () EQ: _ClassVar[Predicate.Operator] EQ: Predicate.Operator OPERATOR_FIELD_NUMBER: _ClassVar[int] @@ -152,9 +152,9 @@ class Predicate(_message.Message): def __init__(self, operator: _Optional[_Union[Predicate.Operator, str]] = ..., column: _Optional[str] = ..., record: _Optional[bytes] = ...) -> None: ... class PredicatesGroup(_message.Message): - __slots__ = ["grouping_type", "predicates"] + __slots__ = ("grouping_type", "predicates") class GroupingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] + __slots__ = () AND: _ClassVar[PredicatesGroup.GroupingType] OR: _ClassVar[PredicatesGroup.GroupingType] AND: PredicatesGroup.GroupingType @@ -166,21 +166,21 @@ class PredicatesGroup(_message.Message): def __init__(self, grouping_type: _Optional[_Union[PredicatesGroup.GroupingType, str]] = ..., predicates: _Optional[_Iterable[_Union[Predicate, _Mapping]]] = ...) -> None: ... class Write(_message.Message): - __slots__ = [] + __slots__ = () class MessageMigrateTable(_message.Message): - __slots__ = ["table", "migrate_force"] + __slots__ = ("table", "migrate_force") TABLE_FIELD_NUMBER: _ClassVar[int] MIGRATE_FORCE_FIELD_NUMBER: _ClassVar[int] table: bytes migrate_force: bool def __init__(self, table: _Optional[bytes] = ..., migrate_force: bool = ...) -> None: ... class MessageInsert(_message.Message): - __slots__ = ["record"] + __slots__ = ("record",) RECORD_FIELD_NUMBER: _ClassVar[int] record: bytes def __init__(self, record: _Optional[bytes] = ...) -> None: ... class MessageDeleteStale(_message.Message): - __slots__ = ["table", "source_name", "sync_time", "table_name"] + __slots__ = ("table", "source_name", "sync_time", "table_name") TABLE_FIELD_NUMBER: _ClassVar[int] SOURCE_NAME_FIELD_NUMBER: _ClassVar[int] SYNC_TIME_FIELD_NUMBER: _ClassVar[int] @@ -191,7 +191,7 @@ class Write(_message.Message): table_name: str def __init__(self, table: _Optional[bytes] = ..., source_name: _Optional[str] = ..., sync_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., table_name: _Optional[str] = ...) -> None: ... class MessageDeleteRecord(_message.Message): - __slots__ = ["table_name", "where_clause", "table_relations"] + __slots__ = ("table_name", "where_clause", "table_relations") TABLE_NAME_FIELD_NUMBER: _ClassVar[int] WHERE_CLAUSE_FIELD_NUMBER: _ClassVar[int] TABLE_RELATIONS_FIELD_NUMBER: _ClassVar[int] @@ -200,7 +200,7 @@ class Write(_message.Message): table_relations: _containers.RepeatedCompositeFieldContainer[TableRelation] def __init__(self, table_name: _Optional[str] = ..., where_clause: _Optional[_Iterable[_Union[PredicatesGroup, _Mapping]]] = ..., table_relations: _Optional[_Iterable[_Union[TableRelation, _Mapping]]] = ...) -> None: ... class Request(_message.Message): - __slots__ = ["migrate_table", "insert", "delete", "delete_record"] + __slots__ = ("migrate_table", "insert", "delete", "delete_record") MIGRATE_TABLE_FIELD_NUMBER: _ClassVar[int] INSERT_FIELD_NUMBER: _ClassVar[int] DELETE_FIELD_NUMBER: _ClassVar[int] @@ -211,16 +211,16 @@ class Write(_message.Message): delete_record: Write.MessageDeleteRecord 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: ... class Response(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... def __init__(self) -> None: ... class Close(_message.Message): - __slots__ = [] + __slots__ = () class Request(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... class Response(_message.Message): - __slots__ = [] + __slots__ = () def __init__(self) -> None: ... def __init__(self) -> None: ... diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..5e60778 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "release-type": "python", + "pull-request-title-pattern": "chore${scope}: Release${component} v${version}", + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "include-component-in-tag": false, + "packages": { + ".": {} + } +} diff --git a/requirements.txt b/requirements.txt index 53acfeb..7e366bf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -black==23.10.1 -grpcio-tools==1.59.2 -grpcio==1.59.2 -protobuf==4.24.4 +black==23.12.1 +grpcio-tools==1.60.0 +grpcio==1.60.0 +protobuf==4.25.1 pyarrow==13.0.0 -pytest==7.4.3 \ No newline at end of file +pytest==7.4.4 \ No newline at end of file diff --git a/setup.py b/setup.py index 3ebdd36..6ef0d4b 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ ] setuptools.setup( name=name, - version="0.0.20", + version="0.0.21", description=description, long_description=long_description, author="CloudQuery LTD",