Skip to content

Commit

Permalink
chore: move samples from python-docs-sample (#45)
Browse files Browse the repository at this point in the history
* Add new "quickstart" samples [(#547)](#547)

* Quickstart tests [(#569)](#569)

* Add tests for quickstarts
* Update secrets

* Fix vision failure on Python 3

Change-Id: Ieb53e6cdd8b1a70089b970b7a2aa57dd3d24c3de

* Generate most non-appengine readmes

Change-Id: I3779282126cdd05b047194d356932b9995484115

* Update samples to support latest Google Cloud Python [(#656)](#656)

* Auto-update dependencies. [(#715)](#715)

* Vision cloud client snippets [(#751)](#751)

* fixes typo in detect_properties [(#761)](#761)

* Vision 1.1 [(#827)](#827)

* Adds vision 1.1 features

* Update README

* Updates GCS snippet to match local file [(#836)](#836)

* Improvess consistency in docs and fixes links in restructured text [(#839)](#839)

* Auto-update dependencies. [(#825)](#825)

* Crop hints tutorial [(#861)](#861)

* Adds crop hints tutorial.

* Uses aspect ratio so that we actually crop.

* Addresses review feedback

* nits

* Restructures samples for CI

* Auto-update dependencies. [(#866)](#866)

* Adds document text detection tutorial. [(#868)](#868)

* Adds document text detection tutorial.

* Feedback from review

* Less whitespace and fewer hanging indents

* Fixes a few style issues that came up in document text review. [(#871)](#871)

* Fixes a few style issues that came up in document text review.

* Fixing my breaks

* Auto-update dependencies. [(#872)](#872)

* An attempt at flattening the detect example [(#873)](#873)

* Adds web detection tutorial [(#874)](#874)

* Vision face tutorial [(#880)](#880)

* Updates sample to use the Cloud client library

* Nits found after commit

* Nudge for travis

* flake8 hates my face

* Auto-update dependencies. [(#876)](#876)

* Remove cloud config fixture [(#887)](#887)

* Remove cloud config fixture

* Fix client secrets

* Fix bigtable instance

* Auto-update dependencies. [(#888)](#888)

* Remove resource [(#890)](#890)

* Remove resource fixture

* Remove remote resource

* Re-generate all readmes

* Auto-update dependencies. [(#922)](#922)

* Auto-update dependencies.

* Fix pubsub iam samples

* Adds checks for all features using https. [(#944)](#944)

* Adds checks for all features using https.

* Fixes overindent for lint

* Fix README rst links [(#962)](#962)

* Fix README rst links

* Update all READMEs

* Auto-update dependencies. [(#1004)](#1004)

* Auto-update dependencies.

* Fix natural language samples

* Fix pubsub iam samples

* Fix language samples

* Fix bigquery samples

* Auto-update dependencies. [(#1011)](#1011)

* Auto-update dependencies. [(#1033)](#1033)

* Vision GAPIC client library [(#1015)](#1015)

* Migrate quickstart to gapic

* formatting

* updating detect_faces, failing tests

* Migrate detect_faces to gapic

* Migrate detect_labels to gapic

* Migrate detect_landmarks to gapic

* Migrate detect_logos to gapic

* remove "Likelihood" from test outputs

* Migrate detect_safe_search to gapic

* Migrate detect_text to gapic

* Migrate detect_properties to gapic

* Migrate detect_web to gapic

* Migrate crophints to gapic

* Migrate detect_document to gapic;

* Migrate crop_hints.py to gapic

* hard code the likelihood names

* Make code snippets more self-contained

* Migrate doctext.py to gapic

* Migrate web_detect.py to gapic

* Migrate faces.py to gapic

* flake8

* fix missing string format

* remove url scores from sample output

* region tags update

* region tag correction

* move region tag in get crop hints

* move region tags

* import style

* client creation

* rename bound to vertex

* add region tags

* increment client library version

* update README to include link to the migration guide

* correct version number

* update readme

* update client library version in requirements and readme

* Auto-update dependencies. [(#1055)](#1055)

* Auto-update dependencies.

* Explicitly use latest bigtable client

Change-Id: Id71e9e768f020730e4ca9514a0d7ebaa794e7d9e

* Revert language update for now

Change-Id: I8867f154e9a5aae00d0047c9caf880e5e8f50c53

* Remove pdb. smh

Change-Id: I5ff905fadc026eebbcd45512d4e76e003e3b2b43

* Auto-update dependencies. [(#1093)](#1093)

* Auto-update dependencies.

* Fix storage notification poll sample

Change-Id: I6afbc79d15e050531555e4c8e51066996717a0f3

* Fix spanner samples

Change-Id: I40069222c60d57e8f3d3878167591af9130895cb

* Drop coverage because it's not useful

Change-Id: Iae399a7083d7866c3c7b9162d0de244fbff8b522

* Try again to fix flaky logging test

Change-Id: I6225c074701970c17c426677ef1935bb6d7e36b4

* Update all generated readme auth instructions [(#1121)](#1121)

Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2

* Added Link to Python Setup Guide [(#1158)](#1158)

* Update Readme.rst to add Python setup guide

As requested in b/64770713.

This sample is linked in documentation https://cloud.google.com/bigtable/docs/scaling, and it would make more sense to update the guide here than in the documentation.

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update install_deps.tmpl.rst

* Updated readmegen scripts and re-generated related README files

* Fixed the lint error

* Auto-update dependencies. [(#1138)](#1138)

* Auto-update dependencies. [(#1186)](#1186)

* Auto-update dependencies. [(#1245)](#1245)

* Vision beta [(#1211)](#1211)

* remove unicode [(#1246)](#1246)

* Added "Open in Cloud Shell" buttons to README files [(#1254)](#1254)

* Auto-update dependencies. [(#1282)](#1282)

* Auto-update dependencies.

* Fix storage acl sample

Change-Id: I413bea899fdde4c4859e4070a9da25845b81f7cf

* Auto-update dependencies. [(#1320)](#1320)

* Vision API features update [(#1339)](#1339)

* Revert "Vision API features update [(#1339)](#1339)" [(#1351)](#1351)

This reverts commit fba66eec5b72a8313eb3fba0a6601306801b9212.

* Auto-update dependencies. [(#1377)](#1377)

* Auto-update dependencies.

* Update requirements.txt

* fix landmark sample [(#1424)](#1424)

* Vision GA [(#1427)](#1427)

* replace types. with vision.types. in detect.py

* copy beta code snippets

* update tests, flake

* remove beta_snippets

* update command line interface to include web-geo samples

* flake

* simplify detect document text

* [DO NOT MERGE] Vision API OCR PDF/TIFF sample [(#1420)](#1420)

* add docpdf sample

* import order

* list blobs

* filename change

* add the renamed files

* parse json string to AnnotateFileResponse message

* show more of the response

* simplify response processing to better focus on how to make the request

* fix typo

* linter

* linter

* linter

* Regenerate the README files and fix the Open in Cloud Shell link for some samples [(#1441)](#1441)

* detect-pdf update [(#1460)](#1460)

* detect-pdf update

* update test

* Update READMEs to fix numbering and add git clone [(#1464)](#1464)

* Move ocr pdf/tiff samples to GA [(#1522)](#1522)

* Move ocr pdf/tiff samples to GA

* Remove blank spaces and fragment

* Fix the vision geo test. [(#1518)](#1518)

Sometimes, Vision sees Zepra.  Othertimes, it sees Electra Tower.

* [DO_NOT_MERGE] Add samples for object localization and handwritten ocr [(#1572)](#1572)

* Add samples for object localization and handwritten ocr

* Update to released lib

* Update beta_snippets.py

* [DO NOT MERGE] Product search [(#1580)](#1580)

Product search

* Update vision web_detect test image [(#1607)](#1607)

The original image no longer appears on cloud.google.com/vision

* Vision - remove unused region tags [(#1620)](#1620)

* Vision region tag update [(#1635)](#1635)

* Udpate Beta Vision samples to use beta tags [(#1640)](#1640)

* Update samples to GA, cleanup tests, delete old samples [(#1704)](#1704)

* Add print output to crop hints tutorial [(#1797)](#1797)

* Remove unused code [(#1745)](#1745)

* Display the score/confidence value [(#1429)](#1429)

* Display the score/confidence value

A small code addition to display the score/confidence value of a detected face above the face detection box on the output image. This is very useful to know the confidence!

* Changes applied to meet coding style requirements 

I have edited the already submitted code to meet the coding style requirements!

* Edits because white spaces

* Remove [(#1431)](#1431)

I'm updating all the openapi files in the getting-started sample in all the sample repos to remove basePath: "/"
Here's the reason from simonz130:

From the OpenAPI 2 spec:
* basePath: "If it is not included, the API is served directly under the host. The value MUST start with a leading slash (/). "
* Paths for methods: "A relative path to an individual endpoint. The field name MUST begin with a slash. The path is appended to the basePath in order to construct the full URL."

This OpenAPI getting-started sample have basePath: "/", which (per strict spec interpretation) means all the paths start with double-slashes. (e.g "//v1/shelves" rather than "/v1/shelves"). Removing basepath="/" fixes that.

* Auto-update dependencies. [(#1846)](#1846)

ACK, merging.

* update samples for product search GA [(#1861)](#1861)

* update samples for product search GA

* update to use 0.35.1

* Use default font [(#1865)](#1865)

Test environment does not support all fonts.

* use shared sample data bucket [(#1874)](#1874)

* Pass max_results through to API - issue #1173 [(#1917)](#1917)

* Fix Vision Product Search sample comment typo [(#1897)](#1897)

* vision: update samples to address changes in model annotations. [(#1991)](#1991)

changes to the vision model evaluation changed annotations for
some of the sample data used in these tests.  This corrects those
expectations to reflect current evaluation.

Background: internal issue 123358697

* Auto-update dependencies. [(#1980)](#1980)

* Auto-update dependencies.

* Update requirements.txt

* Update requirements.txt

* Vision API: further fixes. [(#2002)](#2002)

* Vision API: further fixes.

Redirects testing to the central cloud-samples-data asset bucket.
Relaxes case considerations.
Addresses web subtests, missed in previous PR.

* Added two samples for "OCR with PDF/TIFF as source files" [(#2034)](#2034)

* Added two samples for "OCR with PDF/TIFF as source files"

* Moved the code to beta_snippets.py

* Fixed the sub-parser names.

* Shortened the line that was too long.

* Added newline at the end of the file

* Using the builtin open function instead

* Renamed a variable

* Fixed the wrong arg parameter

* Added extra comment lines

* Regenerated README.rst

* Added specific strings to be unit-tested

* Added the sample for async image batch annotation [(#2045)](#2045)

* Added the sample for async image batch annotation

* Fixed the wrong function name

* Changes based on Noah's comments.

* Need newer library version for latest beta [(#2052)](#2052)

* Fixed string in test [(#2135)](#2135)

* Fixed string in test

* Updated to latest AutoML

* Update detect.py [(#2174)](#2174)

1) I got argument parse error when bucket_name=bucket_name is given
2)blob_list[0] gave me folder name

* Revert "Update detect.py" [(#2274)](#2274)

* Revert "Update detect.py [(#2174)](#2174)"

This reverts commit 6eaad9a3166ab3262c1211c2f41fb4b5d8234b7d.

* Update beta_snippets_test.py

* Update beta_snippets.py

* Update detect.py

* Move import inside region tags [(#2211)](#2211)

* Move import inside region tags

* Update detect.py

* Fix comment. [(#2108)](#2108)

Comment should reflect real filename.

* Fix a typo in output message / remove duplicate parser assignment. [(#1999)](#1999)

* Fix a typo in output message.

Fixes a minor typo error in the `draw_hint` function. Because the tutorial is one of the starting points for new users, it's worth correcting it to avoid confusion.

* Remove duplicate `argparse` assignment.

`argparse.ArgumentParser()` was assigned twice in if statement so removed the duplicate.

* move import re [(#2303)](#2303)

* Makes quickstart more REPL friendly [(#2354)](#2354)

* vision geo test fix [(#2353)](#2353)

Gus already LGTM

* Purge products [(#2349)](#2349)

* add vision_product_search_purge_products_in_product_set

* add vision_product_search_purge_orphan_products

* update comment

* flake

* update print message

* update python sample to use operation.result

* longer timeout

* remove unused variable

* Adds updates for samples profiler ... vision [(#2439)](#2439)

* Update Pillow dependency per security alert CVE-2019-16865 [(#2492)](#2492)

* Add Set Endpoint Samples [(#2497)](#2497)

* Add Set Endpoint Samples

* Add additional test result option

* Sample Request update

* Add filter_

* Auto-update dependencies. [(#2005)](#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>

* fix: get bounds for blocks instead of pages [(#2705)](#2705)

* fix: use `page.bounding_box` when feature is page

Closes #2702

* fix: outline blocks instead of pages

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* Add vision ocr set endpoint samples [(#2569)](#2569)

* Add vision ocr set endpoint samples

* Remove port number as it is optional in Python

* Use unique output names

* lint

* Add support for python2 print statements

* use uuid instead of datetime

* remove all tests that use https as they perform duplicate work

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* vision: update samples to throw errors if one occurs [(#2725)](#2725)

* vision: update samples to throw errors if one occurs

* Add link to error page docs

* Add link to error message

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Gus Class <gguuss@gmail.com>

* vision: move published samples into master [(#2743)](#2743)

Add generated samples for Vision API
Add required attribute mime_type
Resolve encoding error in py2
Remove autogenerated warnings
Remove coding: utf-8 line
Remove argument encoding checks
Remove CLI
Remove unnecessary statics, variables, and imports
Blacken with l=88
Remove unused region tag and comments
Verify that there are no published links pointing to removed region tags
Shorten docstring
Replace concrete file path with "path/to/your/document.pdf"

Co-authored-by: Yu-Han Liu <dizcology@hotmail.com>

* fix: vision product search tests to call setup and teardown and use uuid [(#2830)](#2830)

* vision: fix flaky test [(#2988)](#2988)

* vision: fix flaky tests to be more generic in the results [(#2915)](#2915)

* chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](#3046)

* chore(deps): update dependency google-cloud-storage to v1.26.0

* chore(deps): specify dependencies by python version

* chore: up other deps to try to remove errors

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Leah Cole <coleleah@google.com>

* Clarifying comment for batch requests [(#3071)](#3071)

* Clarifying comment for batch requests

* vision: fixing linter for batch

* vision: remove redundant flaky web test [(#3090)](#3090)

Fix: #2880

* vision: fix flaky test [(#3091)](#3091)

Fix: #2876

* chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](#3170)

* chore(deps): update dependency pillow to v6.2.2 [(#3186)](#3186)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pillow](https://python-pillow.org) ([source](https://github.com/python-pillow/Pillow)) | patch | `==6.2.1` -> `==6.2.2` |

---

### Release Notes

<details>
<summary>python-pillow/Pillow</summary>

### [`v6.2.2`](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#&#8203;622-2020-01-02)

[Compare Source](https://github.com/python-pillow/Pillow/compare/6.2.1...6.2.2)

-   This is the last Pillow release to support Python 2.7 [#&#8203;3642](https://github.com/python-pillow/Pillow/issues/3642)

-   Overflow checks for realloc for tiff decoding. CVE-2020-5310
    [wiredfool, radarhere]

-   Catch SGI buffer overrun. CVE-2020-5311
    [radarhere]

-   Catch PCX P mode buffer overrun. CVE-2020-5312
    [radarhere]

-   Catch FLI buffer overrun. CVE-2020-5313
    [radarhere]

-   Raise an error for an invalid number of bands in FPX image. CVE-2019-19911
    [wiredfool, radarhere]

</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**: Never, 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).

* chore(deps): update dependency pillow to v7 [(#3218)](#3218)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pillow](https://python-pillow.org) ([source](https://github.com/python-pillow/Pillow)) | major | `==6.2.2` -> `==7.1.0` |

---

### Release Notes

<details>
<summary>python-pillow/Pillow</summary>

### [`v7.1.0`](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#&#8203;710-2020-04-01)

[Compare Source](https://github.com/python-pillow/Pillow/compare/7.0.0...7.1.0)

-   Fix multiple OOB reads in FLI decoding [#&#8203;4503](https://github.com/python-pillow/Pillow/issues/4503)
    [wiredfool]

-   Fix buffer overflow in SGI-RLE decoding [#&#8203;4504](https://github.com/python-pillow/Pillow/issues/4504)
    [wiredfool, hugovk]

-   Fix bounds overflow in JPEG 2000 decoding [#&#8203;4505](https://github.com/python-pillow/Pillow/issues/4505)
    [wiredfool]

-   Fix bounds overflow in PCX decoding [#&#8203;4506](https://github.com/python-pillow/Pillow/issues/4506)
    [wiredfool]

-   Fix 2 buffer overflows in TIFF decoding [#&#8203;4507](https://github.com/python-pillow/Pillow/issues/4507)
    [wiredfool]

-   Add APNG support [#&#8203;4243](https://github.com/python-pillow/Pillow/issues/4243)
    [pmrowla, radarhere, hugovk]

-   ImageGrab.grab() for Linux with XCB [#&#8203;4260](https://github.com/python-pillow/Pillow/issues/4260)
    [nulano, radarhere]

-   Added three new channel operations [#&#8203;4230](https://github.com/python-pillow/Pillow/issues/4230)
    [dwastberg, radarhere]

-   Prevent masking of Image reduce method in Jpeg2KImagePlugin [#&#8203;4474](https://github.com/python-pillow/Pillow/issues/4474)
    [radarhere, homm]

-   Added reading of earlier ImageMagick PNG EXIF data [#&#8203;4471](https://github.com/python-pillow/Pillow/issues/4471)
    [radarhere]

-   Fixed endian handling for I;16 getextrema [#&#8203;4457](https://github.com/python-pillow/Pillow/issues/4457)
    [radarhere]

-   Release buffer if function returns prematurely [#&#8203;4381](https://github.com/python-pillow/Pillow/issues/4381)
    [radarhere]

-   Add JPEG comment to info dictionary [#&#8203;4455](https://github.com/python-pillow/Pillow/issues/4455)
    [radarhere]

-   Fix size calculation of Image.thumbnail() [#&#8203;4404](https://github.com/python-pillow/Pillow/issues/4404)
    [orlnub123]

-   Fixed stroke on FreeType &lt; 2.9 [#&#8203;4401](https://github.com/python-pillow/Pillow/issues/4401)
    [radarhere]

-   If present, only use alpha channel for bounding box [#&#8203;4454](https://github.com/python-pillow/Pillow/issues/4454)
    [radarhere]

-   Warn if an unknown feature is passed to features.check() [#&#8203;4438](https://github.com/python-pillow/Pillow/issues/4438)
    [jdufresne]

-   Fix Name field length when saving IM images [#&#8203;4424](https://github.com/python-pillow/Pillow/issues/4424)
    [hugovk, radarhere]

-   Allow saving of zero quality JPEG images [#&#8203;4440](https://github.com/python-pillow/Pillow/issues/4440)
    [radarhere]

-   Allow explicit zero width to hide outline [#&#8203;4334](https://github.com/python-pillow/Pillow/issues/4334)
    [radarhere]

-   Change ContainerIO return type to match file object mode [#&#8203;4297](https://github.com/python-pillow/Pillow/issues/4297)
    [jdufresne, radarhere]

-   Only draw each polygon pixel once [#&#8203;4333](https://github.com/python-pillow/Pillow/issues/4333)
    [radarhere]

-   Add support for shooting situation Exif IFD tags [#&#8203;4398](https://github.com/python-pillow/Pillow/issues/4398)
    [alexagv]

-   Handle multiple and malformed JPEG APP13 markers [#&#8203;4370](https://github.com/python-pillow/Pillow/issues/4370)
    [homm]

-   Depends: Update libwebp to 1.1.0 [#&#8203;4342](https://github.com/python-pillow/Pillow/issues/4342), libjpeg to 9d [#&#8203;4352](https://github.com/python-pillow/Pillow/issues/4352)
    [radarhere]

### [`v7.0.0`](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#&#8203;700-2020-01-02)

[Compare Source](https://github.com/python-pillow/Pillow/compare/6.2.2...7.0.0)

-   Drop support for EOL Python 2.7 [#&#8203;4109](https://github.com/python-pillow/Pillow/issues/4109)
    [hugovk, radarhere, jdufresne]

-   Fix rounding error on RGB to L conversion [#&#8203;4320](https://github.com/python-pillow/Pillow/issues/4320)
    [homm]

-   Exif writing fixes: Rational boundaries and signed/unsigned types [#&#8203;3980](https://github.com/python-pillow/Pillow/issues/3980)
    [kkopachev, radarhere]

-   Allow loading of WMF images at a given DPI [#&#8203;4311](https://github.com/python-pillow/Pillow/issues/4311)
    [radarhere]

-   Added reduce operation [#&#8203;4251](https://github.com/python-pillow/Pillow/issues/4251)
    [homm]

-   Raise ValueError for io.StringIO in Image.open [#&#8203;4302](https://github.com/python-pillow/Pillow/issues/4302)
    [radarhere, hugovk]

-   Fix thumbnail geometry when DCT scaling is used [#&#8203;4231](https://github.com/python-pillow/Pillow/issues/4231)
    [homm, radarhere]

-   Use default DPI when exif provides invalid x_resolution [#&#8203;4147](https://github.com/python-pillow/Pillow/issues/4147)
    [beipang2, radarhere]

-   Change default resize resampling filter from NEAREST to BICUBIC [#&#8203;4255](https://github.com/python-pillow/Pillow/issues/4255)
    [homm]

-   Fixed black lines on upscaled images with the BOX filter [#&#8203;4278](https://github.com/python-pillow/Pillow/issues/4278)
    [homm]

-   Better thumbnail aspect ratio preservation [#&#8203;4256](https://github.com/python-pillow/Pillow/issues/4256)
    [homm]

-   Add La mode packing and unpacking [#&#8203;4248](https://github.com/python-pillow/Pillow/issues/4248)
    [homm]

-   Include tests in coverage reports [#&#8203;4173](https://github.com/python-pillow/Pillow/issues/4173)
    [hugovk]

-   Handle broken Photoshop data [#&#8203;4239](https://github.com/python-pillow/Pillow/issues/4239)
    [radarhere]

-   Raise a specific exception if no data is found for an MPO frame [#&#8203;4240](https://github.com/python-pillow/Pillow/issues/4240)
    [radarhere]

-   Fix Unicode support for PyPy [#&#8203;4145](https://github.com/python-pillow/Pillow/issues/4145)
    [nulano]

-   Added UnidentifiedImageError [#&#8203;4182](https://github.com/python-pillow/Pillow/issues/4182)
    [radarhere, hugovk]

-   Remove deprecated **version** from plugins [#&#8203;4197](https://github.com/python-pillow/Pillow/issues/4197)
    [hugovk, radarhere]

-   Fixed freeing unallocated pointer when resizing with height too large [#&#8203;4116](https://github.com/python-pillow/Pillow/issues/4116)
    [radarhere]

-   Copy info in Image.transform [#&#8203;4128](https://github.com/python-pillow/Pillow/issues/4128)
    [radarhere]

-   Corrected DdsImagePlugin setting info gamma [#&#8203;4171](https://github.com/python-pillow/Pillow/issues/4171)
    [radarhere]

-   Depends: Update libtiff to 4.1.0 [#&#8203;4195](https://github.com/python-pillow/Pillow/issues/4195), Tk Tcl to 8.6.10 [#&#8203;4229](https://github.com/python-pillow/Pillow/issues/4229), libimagequant to 2.12.6 [#&#8203;4318](https://github.com/python-pillow/Pillow/issues/4318)
    [radarhere]

-   Improve handling of file resources [#&#8203;3577](https://github.com/python-pillow/Pillow/issues/3577)
    [jdufresne]

-   Removed CI testing of Fedora 29 [#&#8203;4165](https://github.com/python-pillow/Pillow/issues/4165)
    [hugovk]

-   Added pypy3 to tox envlist [#&#8203;4137](https://github.com/python-pillow/Pillow/issues/4137)
    [jdufresne]

-   Drop support for EOL PyQt4 and PySide [#&#8203;4108](https://github.com/python-pillow/Pillow/issues/4108)
    [hugovk, radarhere]

-   Removed deprecated setting of TIFF image sizes [#&#8203;4114](https://github.com/python-pillow/Pillow/issues/4114)
    [radarhere]

-   Removed deprecated PILLOW_VERSION [#&#8203;4107](https://github.com/python-pillow/Pillow/issues/4107)
    [hugovk]

-   Changed default frombuffer raw decoder args [#&#8203;1730](https://github.com/python-pillow/Pillow/issues/1730)
    [radarhere]

</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**: Never, 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)](#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-vision to v1 [(#3227)](#3227)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-vision](https://github.com/googleapis/python-vision) | major | `==0.42.0` -> `==1.0.0` |

---

### Release Notes

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

### [`v1.0.0`](https://github.com/googleapis/python-vision/blob/master/CHANGELOG.md#&#8203;100-httpswwwgithubcomgoogleapispython-visioncomparev0420v100-2020-02-28)

[Compare Source](https://github.com/googleapis/python-vision/compare/v0.42.0...v1.0.0)

##### Features

-   bump release status to GA ([#&#8203;11](https://github.com/googleapis/python-vision/issues/11)) ([2129bde](https://github.com/googleapis/python-vision/commit/2129bdedfa0dca85c5adc5350bff10d4a485df77))

</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**: Never, 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).

* Update dependency pillow to v7.1.1 [(#3263)](#3263)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pillow](https://python-pillow.org) ([source](https://github.com/python-pillow/Pillow)) | patch | `==7.1.0` -> `==7.1.1` |

---

### Release Notes

<details>
<summary>python-pillow/Pillow</summary>

### [`v7.1.1`](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#&#8203;711-2020-04-02)

[Compare Source](https://github.com/python-pillow/Pillow/compare/7.1.0...7.1.1)

-   Fix regression seeking and telling PNGs [#&#8203;4512](https://github.com/python-pillow/Pillow/issues/4512) [#&#8203;4514](https://github.com/python-pillow/Pillow/issues/4514)
    [hugovk, radarhere]

</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**: Never, 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).

* vision: increase timeout for tests [(#3383)](#3383)

Fix: #2955
Fix: #2992

* [vision] fix: longer timeout [(#3447)](#3447)

fixes #2962

* testing: replace @flaky with @pytest.mark.flaky [(#3496)](#3496)

* testing: replace @flaky with @pytest.mark.flaky

* lint

* mark few tests as flaky

that involves LRO polling.

* lint

* chore(deps): update dependency pillow to v7.1.2 [(#3557)](#3557)

* chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](#3260)

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

* [vision] fix: add timeout for LRO result and mark it as flaky [(#3684)](#3684)

fixes #3674

* [vision] fix: mark a test as flaky [(#3709)](#3709)

fixes #3702

* chore: some lint fixes [(#3751)](#3751)

* chore: some lint fixes

* longer timeout, more retries

* disable detect_test.py::test_async_detect_document

* [vision] testing: retry upon errors [(#3764)](#3764)

fixes #3734

I only wrapped some of the tests. Potentially we can do it for
everything.

* [vision] testing: re-enable test_async_detect_document [(#3761)](#3761)

fixes #3753

also made the data PDF to be smaller.

* chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](#3785)

* chore(deps): update dependency google-cloud-storage to v1.28.1

* [asset] testing: use uuid instead of time

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

* Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](#4022)

* chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](#4040)

* chore(deps): update dependency pillow to v7.2.0 [(#4208)](#4208)

* testing(vision): use different ids for test functions [(#4227)](#4227)

fixes #4224

* chore(deps): update dependency pytest to v5.4.3 [(#4279)](#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 flaky to v3.7.0 [(#4300)](#4300)

* Update dependency google-cloud-storage to v1.30.0

* Update dependency pytest to v6 [(#4390)](#4390)

* feat: fixed doc string comment mismatch in Product Search [(#4432)](#4432)

Changes documentation string for a GCS example from `file_path` to `image_uri`.

* chore(deps): update dependency google-cloud-storage to v1.31.0 [(#4564)](#4564)

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

* chore: update templates

Co-authored-by: Jason Dobry <jmdobry@users.noreply.github.com>
Co-authored-by: Jon Wayne Parrott <jonwayne@google.com>
Co-authored-by: DPE bot <dpebot@google.com>
Co-authored-by: Gus Class <gguuss@gmail.com>
Co-authored-by: Brent Shaffer <betterbrent@google.com>
Co-authored-by: Bill Prin <waprin@gmail.com>
Co-authored-by: Yu-Han Liu <dizcology@hotmail.com>
Co-authored-by: michaelawyu <chenyumic@google.com>
Co-authored-by: Rebecca Taylor <remilytaylor@gmail.com>
Co-authored-by: Frank Natividad <frankyn@users.noreply.github.com>
Co-authored-by: Noah Negrey <nnegrey@users.noreply.github.com>
Co-authored-by: Jeffrey Rennie <rennie@google.com>
Co-authored-by: Tim Swast <swast@google.com>
Co-authored-by: Alix Hamilton <ajhamilton@google.com>
Co-authored-by: Rebecca Taylor <becca@becca.me>
Co-authored-by: Krissda Prakalphakul <5546755+krissdap@users.noreply.github.com>
Co-authored-by: Peshmerge <peshmerge@users.noreply.github.com>
Co-authored-by: navinger <navinger2003@gmail.com>
Co-authored-by: Charles Engelke <github@engelke.com>
Co-authored-by: shollyman <shollyman@google.com>
Co-authored-by: Shahin <happyhuman@users.noreply.github.com>
Co-authored-by: Charles Engelke <engelke@google.com>
Co-authored-by: Agnel Vishal <agnelvishal@gmail.com>
Co-authored-by: Grega Kespret <grega.kespret@gmail.com>
Co-authored-by: Da-Woon Chung <dorapen@gmail.com>
Co-authored-by: Yu-Han Liu <yuhanliu@google.com>
Co-authored-by: Torry Yang <sirtorry@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Doug Mahugh <dmahugh@gmail.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Michelle Casbon <texasmichelle@users.noreply.github.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Leah Cole <coleleah@google.com>
Co-authored-by: Cameron Zahedi <czahedi@google.com>
Co-authored-by: Takashi Matsuo <tmatsuo@google.com>
Co-authored-by: Eric Schmidt <erschmid@google.com>
  • Loading branch information
0 parents commit 9f24bc2
Show file tree
Hide file tree
Showing 93 changed files with 7,173 additions and 0 deletions.
1 change: 1 addition & 0 deletions vision/AUTHORING_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/AUTHORING_GUIDE.md
1 change: 1 addition & 0 deletions vision/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
See https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/CONTRIBUTING.md
2 changes: 2 additions & 0 deletions vision/snippets/crop_hints/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
output-crop.jpg
output-hint.jpg
111 changes: 111 additions & 0 deletions vision/snippets/crop_hints/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
.. This file is automatically generated. Do not edit this file directly.
Google Cloud Vision API Python Samples
===============================================================================

.. image:: https://gstatic.com/cloudssh/images/open-btn.png
:target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=vision/cloud-client/crop_hints/README.rst


This directory contains samples for Google Cloud Vision API. `Google Cloud Vision API`_ allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content.

- See the `migration guide`_ for information about migrating to Python client library v0.25.1.

.. _migration guide: https://cloud.google.com/vision/docs/python-client-migration




.. _Google Cloud Vision API: https://cloud.google.com/vision/docs

Setup
-------------------------------------------------------------------------------


Authentication
++++++++++++++

This sample requires you to have authentication setup. Refer to the
`Authentication Getting Started Guide`_ for instructions on setting up
credentials for applications.

.. _Authentication Getting Started Guide:
https://cloud.google.com/docs/authentication/getting-started

Install Dependencies
++++++++++++++++++++

#. Clone python-docs-samples and change directory to the sample directory you want to use.

.. code-block:: bash
$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
#. Install `pip`_ and `virtualenv`_ if you do not already have them. You may want to refer to the `Python Development Environment Setup Guide`_ for Google Cloud Platform for instructions.

.. _Python Development Environment Setup Guide:
https://cloud.google.com/python/setup

#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+.

.. code-block:: bash
$ virtualenv env
$ source env/bin/activate
#. Install the dependencies needed to run the samples.

.. code-block:: bash
$ pip install -r requirements.txt
.. _pip: https://pip.pypa.io/
.. _virtualenv: https://virtualenv.pypa.io/

Samples
-------------------------------------------------------------------------------

Crop Hints Tutorial
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

.. image:: https://gstatic.com/cloudssh/images/open-btn.png
:target: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/GoogleCloudPlatform/python-docs-samples&page=editor&open_in_editor=vision/cloud-client/crop_hints/crop_hints.py,vision/cloud-client/crop_hints/README.rst




To run this sample:

.. code-block:: bash
$ python crop_hints.py
usage: crop_hints.py [-h] image_file mode
positional arguments:
image_file The image you'd like to crop.
mode Set to "crop" or "draw".
optional arguments:
-h, --help show this help message and exit
The client library
-------------------------------------------------------------------------------
This sample uses the `Google Cloud Client Library for Python`_.
You can read the documentation for more details on API usage and use GitHub
to `browse the source`_ and `report issues`_.
.. _Google Cloud Client Library for Python:
https://googlecloudplatform.github.io/google-cloud-python/
.. _browse the source:
https://github.com/GoogleCloudPlatform/google-cloud-python
.. _report issues:
https://github.com/GoogleCloudPlatform/google-cloud-python/issues
.. _Google Cloud SDK: https://cloud.google.com/sdk/
30 changes: 30 additions & 0 deletions vision/snippets/crop_hints/README.rst.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This file is used to generate README.rst

product:
name: Google Cloud Vision API
short_name: Cloud Vision API
url: https://cloud.google.com/vision/docs
description: >
`Google Cloud Vision API`_ allows developers to easily integrate vision
detection features within applications, including image labeling, face and
landmark detection, optical character recognition (OCR), and tagging of
explicit content.


- See the `migration guide`_ for information about migrating to Python client library v0.25.1.


.. _migration guide: https://cloud.google.com/vision/docs/python-client-migration

setup:
- auth
- install_deps

samples:
- name: Crop Hints Tutorial
file: crop_hints.py
show_help: True

cloud_client_library: true

folder: vision/cloud-client/crop_hints
99 changes: 99 additions & 0 deletions vision/snippets/crop_hints/crop_hints.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env python

# Copyright 2017 Google Inc. 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.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Outputs a cropped image or an image highlighting crop regions on an image.
Examples:
python crop_hints.py resources/cropme.jpg draw
python crop_hints.py resources/cropme.jpg crop
"""
# [START vision_crop_hints_tutorial]
# [START vision_crop_hints_tutorial_imports]
import argparse
import io

from google.cloud import vision
from google.cloud.vision import types
from PIL import Image, ImageDraw
# [END vision_crop_hints_tutorial_imports]


def get_crop_hint(path):
# [START vision_crop_hints_tutorial_get_crop_hints]
"""Detect crop hints on a single image and return the first result."""
client = vision.ImageAnnotatorClient()

with io.open(path, 'rb') as image_file:
content = image_file.read()

image = types.Image(content=content)

crop_hints_params = types.CropHintsParams(aspect_ratios=[1.77])
image_context = types.ImageContext(crop_hints_params=crop_hints_params)

response = client.crop_hints(image=image, image_context=image_context)
hints = response.crop_hints_annotation.crop_hints

# Get bounds for the first crop hint using an aspect ratio of 1.77.
vertices = hints[0].bounding_poly.vertices
# [END vision_crop_hints_tutorial_get_crop_hints]

return vertices


def draw_hint(image_file):
"""Draw a border around the image using the hints in the vector list."""
# [START vision_crop_hints_tutorial_draw_crop_hints]
vects = get_crop_hint(image_file)

im = Image.open(image_file)
draw = ImageDraw.Draw(im)
draw.polygon([
vects[0].x, vects[0].y,
vects[1].x, vects[1].y,
vects[2].x, vects[2].y,
vects[3].x, vects[3].y], None, 'red')
im.save('output-hint.jpg', 'JPEG')
print('Saved new image to output-hint.jpg')
# [END vision_crop_hints_tutorial_draw_crop_hints]


def crop_to_hint(image_file):
"""Crop the image using the hints in the vector list."""
# [START vision_crop_hints_tutorial_crop_to_hints]
vects = get_crop_hint(image_file)

im = Image.open(image_file)
im2 = im.crop([vects[0].x, vects[0].y,
vects[2].x - 1, vects[2].y - 1])
im2.save('output-crop.jpg', 'JPEG')
print('Saved new image to output-crop.jpg')
# [END vision_crop_hints_tutorial_crop_to_hints]


if __name__ == '__main__':
# [START vision_crop_hints_tutorial_run_application]
parser = argparse.ArgumentParser()
parser.add_argument('image_file', help='The image you\'d like to crop.')
parser.add_argument('mode', help='Set to "crop" or "draw".')
args = parser.parse_args()

if args.mode == 'crop':
crop_to_hint(args.image_file)
elif args.mode == 'draw':
draw_hint(args.image_file)
# [END vision_crop_hints_tutorial_run_application]
# [END vision_crop_hints_tutorial]
37 changes: 37 additions & 0 deletions vision/snippets/crop_hints/crop_hints_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2017 Google Inc. 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.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os

import crop_hints


def test_crop(capsys):
"""Checks the output image for cropping the image is created."""
file_name = os.path.join(
os.path.dirname(__file__),
'resources/cropme.jpg')
crop_hints.crop_to_hint(file_name)
out, _ = capsys.readouterr()
assert os.path.isfile('output-crop.jpg')


def test_draw(capsys):
"""Checks the output image for drawing the crop hint is created."""
file_name = os.path.join(
os.path.dirname(__file__),
'resources/cropme.jpg')
crop_hints.draw_hint(file_name)
out, _ = capsys.readouterr()
assert os.path.isfile('output-hint.jpg')
Loading

0 comments on commit 9f24bc2

Please sign in to comment.