Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

Commit

Permalink
feat: Migrate API client to Microgenerator (#54)
Browse files Browse the repository at this point in the history
* Add samples for Data Catalog lookup_entry [(#2148)](GoogleCloudPlatform/python-docs-samples#2148)

* Add samples for Data Catalog lookup_entry

* Add tests for Data Catalog lookup_entry

* Add samples for lookup_entry by SQL Resource

* Add README.rst

* Improve command line interface

* Removed the "lookup-" prefix from commands
* Handle the --sql-resource optional argument by subparsers

* Refer to GCP public assets in tests

* Add region tags to support Data Catalog docs [(#2169)](GoogleCloudPlatform/python-docs-samples#2169)

* Adds updates including compute [(#2436)](GoogleCloudPlatform/python-docs-samples#2436)

* Adds updates including compute

* Python 2 compat pytest

* Fixing weird \r\n issue from GH merge

* Put asset tests back in

* Re-add pod operator test

* Hack parameter for k8s pod operator

* Auto-update dependencies. [(#2005)](GoogleCloudPlatform/python-docs-samples#2005)

* Auto-update dependencies.

* Revert update of appengine/flexible/datastore.

* revert update of appengine/flexible/scipy

* revert update of bigquery/bqml

* revert update of bigquery/cloud-client

* revert update of bigquery/datalab-migration

* revert update of bigtable/quickstart

* revert update of compute/api

* revert update of container_registry/container_analysis

* revert update of dataflow/run_template

* revert update of datastore/cloud-ndb

* revert update of dialogflow/cloud-client

* revert update of dlp

* revert update of functions/imagemagick

* revert update of functions/ocr/app

* revert update of healthcare/api-client/fhir

* revert update of iam/api-client

* revert update of iot/api-client/gcs_file_to_device

* revert update of iot/api-client/mqtt_example

* revert update of language/automl

* revert update of run/image-processing

* revert update of vision/automl

* revert update testing/requirements.txt

* revert update of vision/cloud-client/detect

* revert update of vision/cloud-client/product_search

* revert update of jobs/v2/api_client

* revert update of jobs/v3/api_client

* revert update of opencensus

* revert update of translate/cloud-client

* revert update to speech/cloud-client

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Doug Mahugh <dmahugh@gmail.com>

* chore(deps): update dependency google-cloud-datacatalog to v0.6.0 [(#3069)](GoogleCloudPlatform/python-docs-samples#3069)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-datacatalog](https://togithub.com/googleapis/python-datacatalog) | minor | `==0.5.0` -> `==0.6.0` |

---

### Release Notes

<details>
<summary>googleapis/python-datacatalog</summary>

### [`v0.6.0`](https://togithub.com/googleapis/python-datacatalog/blob/master/CHANGELOG.md#&#8203;060httpswwwgithubcomgoogleapispython-datacatalogcomparev050v060-2020-02-24)

[Compare Source](https://togithub.com/googleapis/python-datacatalog/compare/v0.5.0...v0.6.0)

##### Features

-   **datacatalog:** add sample for create a fileset entry quickstart ([#&#8203;9977](https://www.github.com/googleapis/python-datacatalog/issues/9977)) ([16eaf4b](https://www.github.com/googleapis/python-datacatalog/commit/16eaf4b16cdc0ce7361afb1d8dac666cea2a9db0))
-   **datacatalog:** undeprecate resource name helper methods, bump copyright year to 2020, tweak docstring formatting (via synth) ([#&#8203;10228](https://www.github.com/googleapis/python-datacatalog/issues/10228)) ([84e5e7c](https://www.github.com/googleapis/python-datacatalog/commit/84e5e7c340fa189ce4cffca4fdee82cc7ded9f70))
-   add `list_entry_groups`, `list_entries`, `update_entry_group` methods to v1beta1 (via synth) ([#&#8203;6](https://www.github.com/googleapis/python-datacatalog/issues/6)) ([b51902e](https://www.github.com/googleapis/python-datacatalog/commit/b51902e26d590f52c9412756a178265850b7d516))

##### Bug Fixes

-   **datacatalog:** deprecate resource name helper methods (via synth) ([#&#8203;9831](https://www.github.com/googleapis/python-datacatalog/issues/9831)) ([22db3f0](https://www.github.com/googleapis/python-datacatalog/commit/22db3f0683b8aca544cd96c0063dcc8157ad7335))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* Simplify noxfile setup. [(#2806)](GoogleCloudPlatform/python-docs-samples#2806)

* chore(deps): update dependency requests to v2.23.0

* Simplify noxfile and add version control.

* Configure appengine/standard to only test Python 2.7.

* Update Kokokro configs to match noxfile.

* Add requirements-test to each folder.

* Remove Py2 versions from everything execept appengine/standard.

* Remove conftest.py.

* Remove appengine/standard/conftest.py

* Remove 'no-sucess-flaky-report' from pytest.ini.

* Add GAE SDK back to appengine/standard tests.

* Fix typo.

* Roll pytest to python 2 version.

* Add a bunch of testing requirements.

* Remove typo.

* Add appengine lib directory back in.

* Add some additional requirements.

* Fix issue with flake8 args.

* Even more requirements.

* Readd appengine conftest.py.

* Add a few more requirements.

* Even more Appengine requirements.

* Add webtest for appengine/standard/mailgun.

* Add some additional requirements.

* Add workaround for issue with mailjet-rest.

* Add responses for appengine/standard/mailjet.

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update dependency google-cloud-datacatalog to v0.7.0 [(#3320)](GoogleCloudPlatform/python-docs-samples#3320)

Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>

* Update Data Catalog samples to V1 [(#3382)](GoogleCloudPlatform/python-docs-samples#3382)

Co-authored-by: Takashi Matsuo <tmatsuo@google.com>

* chore(deps): update dependency google-cloud-datacatalog to v0.8.0 [(#3850)](GoogleCloudPlatform/python-docs-samples#3850)

* Update dependency google-cloud-datacatalog to v1 [(#4115)](GoogleCloudPlatform/python-docs-samples#4115)

* chore(deps): update dependency pytest to v5.4.3 [(#4279)](GoogleCloudPlatform/python-docs-samples#4279)

* chore(deps): update dependency pytest to v5.4.3

* specify pytest for python 2 in appengine

Co-authored-by: Leah Cole <coleleah@google.com>

* Update dependency pytest to v6 [(#4390)](GoogleCloudPlatform/python-docs-samples#4390)

* chore: update templates

* chore: update templates

* feat: Migrate to use Microgenerator

* feat: Migrate to use Microgenerator

* feat: Migrate to use Microgenerator

* Migrate API to microgenerator

* Migrate API to microgenerator

* Samples tests

* fix samples tests

* fix lint errors and test coverage metrics

* docs update

* fix docs

* fix docs

* fix docs

* remove .python-version file

Co-authored-by: Ricardo Mendes <50331050+ricardosm-cit@users.noreply.github.com>
Co-authored-by: Gus Class <gguuss@gmail.com>
Co-authored-by: DPEBot <dpebot@google.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Doug Mahugh <dmahugh@gmail.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Co-authored-by: Marcelo Costa <mycelo19@gmail.com>
Co-authored-by: Takashi Matsuo <tmatsuo@google.com>
Co-authored-by: Leah Cole <coleleah@google.com>
  • Loading branch information
11 people committed Aug 20, 2020
1 parent 4efd7b7 commit 14fbdb8
Show file tree
Hide file tree
Showing 175 changed files with 50,245 additions and 32,197 deletions.
11 changes: 6 additions & 5 deletions .coveragerc
Expand Up @@ -21,15 +21,16 @@ branch = True
[report]
fail_under = 100
show_missing = True
omit = google/cloud/datacatalog/__init.py
exclude_lines =
# Re-enable the standard pragma
pragma: NO COVER
# Ignore debug-only repr
def __repr__
# Ignore abstract methods
raise NotImplementedError
omit =
*/gapic/*.py
*/proto/*.py
*/core/*.py
*/site-packages/*.py
# Ignore pkg_resources exceptions.
# This is added at the module level as a safeguard for if someone
# generates the code and tries to run it without pip installing. This
# makes it virtually impossible to test properly.
except pkg_resources.DistributionNotFound
11 changes: 11 additions & 0 deletions README.rst
Expand Up @@ -35,6 +35,17 @@ In order to use this library, you first need to go through the following steps:
.. _Enable the Google Cloud Data Catalog API.: https://cloud.google.com/data-catalog
.. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html


Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
Python >= 3.6

Deprecated Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^^
Python == 2.7.

The last version of this library compatible with Python 2.7 is google-cloud-datacatalog==1.0.0.

Installation
~~~~~~~~~~~~

Expand Down
150 changes: 150 additions & 0 deletions UPGRADING.md
@@ -0,0 +1,150 @@
# 2.0.0 Migration Guide

The 2.0 release of the `google-cloud-datacatalog` client is a significant upgrade based on a [next-gen code generator](https://github.com/googleapis/gapic-generator-python), and includes substantial interface changes. Existing code written for earlier versions of this library will likely require updates to use this version. This document describes the changes that have been made, and what you need to do to update your usage.

If you experience issues or have questions, please file an [issue](https://github.com/googleapis/python-datacatalog/issues).

## Supported Python Versions

> **WARNING**: Breaking change
The 2.0.0 release requires Python 3.6+.


## Method Calls

> **WARNING**: Breaking change
Methods expect request objects. We provide a script that will convert most common use cases.

* Install the library

```py
python3 -m pip install google-cloud-datacatalog
```

* The script `fixup_datacatalog_v1_keywords.py` is shipped with the library. It expects
an input directory (with the code to convert) and an empty destination directory.

```sh
$ fixup_datacatalog_v1_keywords.py --input-directory .samples/ --output-directory samples/
```

**Before:**
```py
from google.cloud import datacatalog_v1
datacatalog = datacatalog_v1.DataCatalogClient()
return datacatalog.lookup_entry(linked_resource=resource_name)
```


**After:**
```py
from google.cloud import datacatalog_v1
datacatalog = datacatalog_v1.DataCatalogClient()
return datacatalog.lookup_entry(request={'linked_resource': resource_name})
```

### More Details

In `google-cloud-datacatalog<2.0.0`, parameters required by the API were positional parameters and optional parameters were keyword parameters.

**Before:**
```py
def create_entry_group(
self,
parent,
entry_group_id,
entry_group=None,
retry=google.api_core.gapic_v1.method.DEFAULT,
timeout=google.api_core.gapic_v1.method.DEFAULT,
metadata=None,
):
```

In the 2.0.0 release, all methods have a single positional parameter `request`. Method docstrings indicate whether a parameter is required or optional.

Some methods have additional keyword only parameters. The available parameters depend on the `google.api.method_signature` annotation specified by the API producer.


**After:**
```py
def create_entry_group(
self,
request: datacatalog.CreateEntryGroupRequest = None,
*,
parent: str = None,
entry_group_id: str = None,
entry_group: datacatalog.EntryGroup = None,
retry: retries.Retry = gapic_v1.method.DEFAULT,
timeout: float = None,
metadata: Sequence[Tuple[str, str]] = (),
) -> datacatalog.EntryGroup:
```

> **NOTE:** The `request` parameter and flattened keyword parameters for the API are mutually exclusive.
> Passing both will result in an error.
Both of these calls are valid:

```py
response = client.create_entry_group(
request={
"parent": parent,
"entry_group_id": entry_group_id,
"entry_group": entry_group
}
)
```

```py
response = client.create_entry_group(
parent=parent,
entry_group_id=entry_group_id,
entry_group=entry_group
) # Make an API request.
```

This call is invalid because it mixes `request` with a keyword argument `entry_group`. Executing this code
will result in an error.

```py
response = client.create_entry_group(
request={
"parent": parent,
"entry_group_id"=entry_group_id
},
entry_group=entry_group
)
```



## Enums and Types


> **WARNING**: Breaking change
The submodules `enums` and `types` have been removed.

**Before:**
```py
from google.cloud import datacatalog_v1
entry = datacatalog_v1beta1.types.Entry()
entry.type = datacatalog_v1beta1.enums.EntryType.FILESET
```


**After:**
```py
from google.cloud import datacatalog_v1
entry = datacatalog_v1beta1.Entry()
entry.type = datacatalog_v1beta1.EntryType.FILESET
```

## Project Path Helper Methods

The project path helper method `project_path` has been removed. Please construct
this path manually.

```py
project = 'my-project'
project_path = f'projects/{project}'
```
1 change: 1 addition & 0 deletions docs/UPGRADING.md
@@ -0,0 +1 @@
../UPGRADING.md
6 changes: 6 additions & 0 deletions docs/datacatalog_v1/services.rst
@@ -0,0 +1,6 @@
Services for Google Cloud Datacatalog v1 API
============================================

.. automodule:: google.cloud.datacatalog_v1.services.data_catalog
:members:
:inherited-members:
5 changes: 5 additions & 0 deletions docs/datacatalog_v1/types.rst
@@ -0,0 +1,5 @@
Types for Google Cloud Datacatalog v1 API
=========================================

.. automodule:: google.cloud.datacatalog_v1.types
:members:
12 changes: 12 additions & 0 deletions docs/datacatalog_v1beta1/services.rst
@@ -0,0 +1,12 @@
Services for Google Cloud Datacatalog v1beta1 API
=================================================

.. automodule:: google.cloud.datacatalog_v1beta1.services.data_catalog
:members:
:inherited-members:
.. automodule:: google.cloud.datacatalog_v1beta1.services.policy_tag_manager
:members:
:inherited-members:
.. automodule:: google.cloud.datacatalog_v1beta1.services.policy_tag_manager_serialization
:members:
:inherited-members:
@@ -1,5 +1,5 @@
Types for Google Cloud Data Catalog API Client
Types for Google Cloud Datacatalog v1beta1 API
==============================================

.. automodule:: google.cloud.datacatalog_v1beta1.types
:members:
:members:
6 changes: 0 additions & 6 deletions docs/gapic/v1/api.rst

This file was deleted.

5 changes: 0 additions & 5 deletions docs/gapic/v1/types.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/gapic/v1beta1/api.rst

This file was deleted.

18 changes: 13 additions & 5 deletions docs/index.rst
Expand Up @@ -8,19 +8,27 @@ v1
.. toctree::
:maxdepth: 2

gapic/v1/api
gapic/v1/types

datacatalog_v1/services
datacatalog_v1/types

v1beta1
-------------

.. toctree::
:maxdepth: 2

gapic/v1beta1/api
gapic/v1beta1/types
datacatalog_v1beta1/services
datacatalog_v1beta1/types

Migration Guide
---------------

See the guide below for instructions on migrating to the 2.x release of this library.

.. toctree::
:maxdepth: 2

UPGRADING

Changelog
---------
Expand Down

0 comments on commit 14fbdb8

Please sign in to comment.