diff --git a/packages/google-cloud-documentai/.flake8 b/packages/google-cloud-documentai/.flake8 index 2e438749863d..87f6e408c47d 100644 --- a/packages/google-cloud-documentai/.flake8 +++ b/packages/google-cloud-documentai/.flake8 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2020 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-documentai/CONTRIBUTING.rst b/packages/google-cloud-documentai/CONTRIBUTING.rst index f71f4bdcd57f..2b320e2af7b3 100644 --- a/packages/google-cloud-documentai/CONTRIBUTING.rst +++ b/packages/google-cloud-documentai/CONTRIBUTING.rst @@ -236,7 +236,7 @@ We support: Supported versions can be found in our ``noxfile.py`` `config`_. -.. _config: https://github.com/googleapis/google-cloud-python/blob/main/noxfile.py +.. _config: https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/noxfile.py ********** diff --git a/packages/google-cloud-documentai/MANIFEST.in b/packages/google-cloud-documentai/MANIFEST.in index e783f4c6209b..e0a66705318e 100644 --- a/packages/google-cloud-documentai/MANIFEST.in +++ b/packages/google-cloud-documentai/MANIFEST.in @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2020 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-documentai/README.rst b/packages/google-cloud-documentai/README.rst index 72730ba6bc1c..80434ce7badc 100644 --- a/packages/google-cloud-documentai/README.rst +++ b/packages/google-cloud-documentai/README.rst @@ -36,21 +36,24 @@ In order to use this library, you first need to go through the following steps: Installation ~~~~~~~~~~~~ -Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to -create isolated Python environments. The basic problem it addresses is one of -dependencies and versions, and indirectly permissions. +Install this library in a virtual environment using `venv`_. `venv`_ is a tool that +creates isolated Python environments. These isolated environments can have separate +versions of Python packages, which allows you to isolate one project's dependencies +from the dependencies of other projects. -With `virtualenv`_, it's possible to install this library without needing system +With `venv`_, it's possible to install this library without needing system install permissions, and without clashing with the installed system dependencies. -.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/ +.. _`venv`: https://docs.python.org/3/library/venv.html Code samples and snippets ~~~~~~~~~~~~~~~~~~~~~~~~~ -Code samples and snippets live in the `samples/` folder. +Code samples and snippets live in the `samples/`_ folder. + +.. _samples/: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-documentai/samples Supported Python Versions @@ -77,10 +80,9 @@ Mac/Linux .. code-block:: console - pip install virtualenv - virtualenv + python3 -m venv source /bin/activate - /bin/pip install google-cloud-documentai + pip install google-cloud-documentai Windows @@ -88,10 +90,9 @@ Windows .. code-block:: console - pip install virtualenv - virtualenv - \Scripts\activate - \Scripts\pip.exe install google-cloud-documentai + py -m venv + .\\Scripts\activate + pip install google-cloud-documentai Next Steps ~~~~~~~~~~ diff --git a/packages/google-cloud-documentai/docs/conf.py b/packages/google-cloud-documentai/docs/conf.py index 07a057dc6490..50e42b793f7a 100644 --- a/packages/google-cloud-documentai/docs/conf.py +++ b/packages/google-cloud-documentai/docs/conf.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2021 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-documentai/google/cloud/documentai/gapic_version.py b/packages/google-cloud-documentai/google/cloud/documentai/gapic_version.py index 023a4c389be5..360a0d13ebdd 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai/gapic_version.py +++ b/packages/google-cloud-documentai/google/cloud/documentai/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "2.17.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1/gapic_version.py b/packages/google-cloud-documentai/google/cloud/documentai_v1/gapic_version.py index 023a4c389be5..360a0d13ebdd 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1/gapic_version.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "2.17.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta2/gapic_version.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta2/gapic_version.py index 023a4c389be5..360a0d13ebdd 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta2/gapic_version.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta2/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "2.17.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/gapic_version.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/gapic_version.py index 023a4c389be5..360a0d13ebdd 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/gapic_version.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "2.17.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/async_client.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/async_client.py index 1afe8382ef9b..0fec1867eb57 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/async_client.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/async_client.py @@ -2920,8 +2920,6 @@ async def sample_import_processor_version(): [ImportProcessorVersion][google.cloud.documentai.v1beta3.DocumentProcessorService.ImportProcessorVersion] method. Requirements: - - The source processor version and destination - processor must be in the same location. - The Document AI `Service Agent `__ of the destination project must have `Document AI @@ -2932,7 +2930,9 @@ async def sample_import_processor_version(): The destination project is specified as part of the [parent][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.parent] field. The source project is specified as part of the - [source][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.processor_version_source] + [source][ImportProcessorVersionRequest.processor_version_source + or + ImportProcessorVersionRequest.external_processor_version_source] field. parent (:class:`str`): Required. The destination processor name to create the diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/client.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/client.py index cf809764cc40..bf5e6d124f6f 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/client.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/client.py @@ -3219,8 +3219,6 @@ def sample_import_processor_version(): [ImportProcessorVersion][google.cloud.documentai.v1beta3.DocumentProcessorService.ImportProcessorVersion] method. Requirements: - - The source processor version and destination - processor must be in the same location. - The Document AI `Service Agent `__ of the destination project must have `Document AI @@ -3231,7 +3229,9 @@ def sample_import_processor_version(): The destination project is specified as part of the [parent][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.parent] field. The source project is specified as part of the - [source][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.processor_version_source] + [source][ImportProcessorVersionRequest.processor_version_source + or + ImportProcessorVersionRequest.external_processor_version_source] field. parent (str): Required. The destination processor name to create the diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/transports/rest.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/transports/rest.py index 559eacc2bce6..ed55790690f1 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/transports/rest.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/services/document_processor_service/transports/rest.py @@ -2417,8 +2417,6 @@ def __call__( [ImportProcessorVersion][google.cloud.documentai.v1beta3.DocumentProcessorService.ImportProcessorVersion] method. Requirements: - - The source processor version and destination - processor must be in the same location. - The Document AI `Service Agent `__ of the destination project must have `Document AI @@ -2429,7 +2427,9 @@ def __call__( The destination project is specified as part of the [parent][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.parent] field. The source project is specified as part of the - [source][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.processor_version_source] + [source][ImportProcessorVersionRequest.processor_version_source + or + ImportProcessorVersionRequest.external_processor_version_source] field. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. diff --git a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/types/document_processor_service.py b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/types/document_processor_service.py index ff64947df05d..7d2575b645bf 100644 --- a/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/types/document_processor_service.py +++ b/packages/google-cloud-documentai/google/cloud/documentai_v1beta3/types/document_processor_service.py @@ -1698,8 +1698,6 @@ class ImportProcessorVersionRequest(proto.Message): [ImportProcessorVersion][google.cloud.documentai.v1beta3.DocumentProcessorService.ImportProcessorVersion] method. Requirements: - - The source processor version and destination processor must be in - the same location. - The Document AI `Service Agent `__ of the destination project must have `Document AI Editor @@ -1709,9 +1707,14 @@ class ImportProcessorVersionRequest(proto.Message): The destination project is specified as part of the [parent][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.parent] field. The source project is specified as part of the - [source][google.cloud.documentai.v1beta3.ImportProcessorVersionRequest.processor_version_source] + [source][ImportProcessorVersionRequest.processor_version_source or + ImportProcessorVersionRequest.external_processor_version_source] field. + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields @@ -1722,6 +1725,12 @@ class ImportProcessorVersionRequest(proto.Message): processor need to be in the same environment and region. + This field is a member of `oneof`_ ``source``. + external_processor_version_source (google.cloud.documentai_v1beta3.types.ImportProcessorVersionRequest.ExternalProcessorVersionSource): + The source processor version to import from, + and can be from different environment and region + than the destination processor. + This field is a member of `oneof`_ ``source``. parent (str): Required. The destination processor name to create the @@ -1729,11 +1738,39 @@ class ImportProcessorVersionRequest(proto.Message): ``projects/{project}/locations/{location}/processors/{processor}`` """ + class ExternalProcessorVersionSource(proto.Message): + r"""The external source processor version. + + Attributes: + processor_version (str): + Required. The processor version name. Format: + ``projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`` + service_endpoint (str): + Optional. The Document AI service endpoint. + For example, + 'https://us-documentai.googleapis.com' + """ + + processor_version: str = proto.Field( + proto.STRING, + number=1, + ) + service_endpoint: str = proto.Field( + proto.STRING, + number=2, + ) + processor_version_source: str = proto.Field( proto.STRING, number=2, oneof="source", ) + external_processor_version_source: ExternalProcessorVersionSource = proto.Field( + proto.MESSAGE, + number=3, + oneof="source", + message=ExternalProcessorVersionSource, + ) parent: str = proto.Field( proto.STRING, number=1, diff --git a/packages/google-cloud-documentai/noxfile.py b/packages/google-cloud-documentai/noxfile.py index 6f5debd52f23..9a2acd8b6787 100644 --- a/packages/google-cloud-documentai/noxfile.py +++ b/packages/google-cloud-documentai/noxfile.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2018 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1.json b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1.json index 5e67e5be6171..96d60af285a2 100644 --- a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1.json +++ b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-documentai", - "version": "2.17.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta2.json b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta2.json index 25d64398f098..ef56bd7e3eb3 100644 --- a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta2.json +++ b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta2.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-documentai", - "version": "2.17.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta3.json b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta3.json index 50174ebd796b..4fb748fa35b1 100644 --- a/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta3.json +++ b/packages/google-cloud-documentai/samples/generated_samples/snippet_metadata_google.cloud.documentai.v1beta3.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-documentai", - "version": "2.17.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-documentai/scripts/decrypt-secrets.sh b/packages/google-cloud-documentai/scripts/decrypt-secrets.sh index 21f6d2a26d90..0018b421ddf8 100755 --- a/packages/google-cloud-documentai/scripts/decrypt-secrets.sh +++ b/packages/google-cloud-documentai/scripts/decrypt-secrets.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015 Google Inc. All rights reserved. +# Copyright 2023 Google LLC All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-documentai/scripts/fixup_documentai_v1beta3_keywords.py b/packages/google-cloud-documentai/scripts/fixup_documentai_v1beta3_keywords.py index e2fe08b47dad..432d626bc4d5 100644 --- a/packages/google-cloud-documentai/scripts/fixup_documentai_v1beta3_keywords.py +++ b/packages/google-cloud-documentai/scripts/fixup_documentai_v1beta3_keywords.py @@ -56,7 +56,7 @@ class documentaiCallTransformer(cst.CSTTransformer): 'get_processor_type': ('name', ), 'get_processor_version': ('name', ), 'import_documents': ('dataset', 'batch_documents_import_configs', ), - 'import_processor_version': ('parent', 'processor_version_source', ), + 'import_processor_version': ('parent', 'processor_version_source', 'external_processor_version_source', ), 'list_evaluations': ('parent', 'page_size', 'page_token', ), 'list_processors': ('parent', 'page_size', 'page_token', ), 'list_processor_types': ('parent', 'page_size', 'page_token', ),