-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add record's __dict__ to structPayload #2045
Add record's __dict__ to structPayload #2045
Conversation
Add Logging Handler
Refactors handlers into separate package Adds background threaded transport Adds fix to Batch commit to properly set log name
…udPlatform/gcloud-python into logging-stdlib-handler-feature Conflicts: system_tests/logging_.py
Add Async Background Thread transport
@@ -127,7 +127,14 @@ def enqueue(self, record, message): | |||
self._entries_condition.acquire() | |||
if self.stopping: | |||
return | |||
record_dict = record.__dict__ | |||
for blacklisted in ("args", "msg", "message"): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@waprin Can you review this? |
@vmarkovtsev See the failing tests. This likely will also need at least one new unit test. I'm happy to help if need be. But we can hold off on tests until @waprin vets the usefulness of this code change. |
Wow, cool! I didn't expect you would actually agree with this PR. I will fix the tests, code and add the new one for sure, thanks. |
@vmarkovtsev I didn't say I agree with it; I'm staying hands off until I hear from @waprin |
@vmarkovtsev thanks for the PR, on the fence about this one but in general we want external contributions. So a few issues I see:
|
Ditto |
OK, this is my next attempt. If you say that it's not too radical I will fix the tests. |
BTW, extra_fields are as follows. You can add your custom LogRecord members using logging.Filter. E.g., I use the following code: import logging
import socket
class HostnameFilter(logging.Filter):
hostname = socket.gethostname()
def filter(self, record):
record.hostname = self.hostname
return True
handler = CloudLoggingHandler(gcloud.logging.Client(), extra_fields=('hostname',))
handler.addFilter(HostnameFilter()) Filters are not required to add new fields, they can delete, change, etc. |
I can make this "data" thing optional and turned off by default if you force "this adds overhead" thesis. My point is that from my experince with other log servers (e.g. GrayLog), logs are sent in a structured way so that you can build precise queries like "show all logs written in that file between lines 30 and 60". I am aware of the fact that the current gcloud web interface does not support it (am I right?). |
Hey sorry I missed these updates, will review tomorrow |
'info': { | ||
'message': message, | ||
'python_logger': record.name, | ||
'data': {k: getattr(record, k, None) for k in itertools.chain( |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Hey, thanks for the good example, it makes sense to me. We will want something like that added in the usage doc. The Cloud Console does support those kinds of filters, but it's still migrating from the v1 filter syntax to v2 filter syntax. In the meantime you can use the v2 syntax programmatically. I'm not super concerned about overhead, just wanted to list things we should at least consider. Overall I think you've justified why the change makes sense and I at least am happy to accept it (it's my feature branch but you will want signoff from one of the repo owners before merge). Do be aware that we need Python 2.7 and Python 3 support, so some things like itertools might require six. Thanks again, look forward to seeing Travis pass so we can merge. |
@@ -70,22 +77,54 @@ class CloudLoggingHandler(logging.StreamHandler, object): | |||
|
|||
""" | |||
|
|||
LOG_RECORD_DATA_WHITELIST = { |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm. |
Well, I had to merge with master because they dropped Python 2.6 and I have dict comprehension. But it screwed SLA (wtf) and I have no idea why Travis has problems. |
The CLA fail is likely because the merged in commits have authors other than you @vmarkovtsev. You should rebase or cherry-pick instead of merging and then force-push over this branch |
@dhermes I think the issue is that @tseaver suggested using a feature branch but we never actually decided on a workflow that made sense unless you can give me write access to the feature branch, and I don't think Github has tha granular level of control. I could have developed the branch on my own repo but I wanted to make sure I was getting review at incremental points (and the fact that it was also part of this repo was helpful in getting some extra eyes on it like we're seeing in this PR getting made). The problem we keep seeing is that we need a repo owner to merge the master branch back into this one. Otherwise, if you rebase on top of master but try to merge into this branch you get all those extra commits. @vmarkovtsev can't force push to the branch because again he doesn't have access. Maybe the easiest thing to do is stick with personal repos for feature branch work and just ping you guys for reviews on it. In any case I would like to merge this feature branch into master soon anyway. There are lots of iterative improvements I would still like to make but none in my head will involve breaking changes. I wanted to add the fluentd handler but it's not even strictly necessary and will be a small non-breaking change. But if you'd really like me to wrap that up first it's no prob. I asked @tseaver to merge my last PR for this branch but he had a few comments I still need to address and we should try to get this contribution merged as well. Then I'm wondering if there's any objection to just merging to master even if more work is queued up behind it. |
@dhermes @tseaver another potential option: add me as collaborator to repo but setup master as a protected branch which you guys can just keep yourself on: https://help.github.com/articles/configuring-protected-branches/ |
Though the easiest and most straightforward approach may be to just ask you to merge in master every now and then, and if there's a conflict we can submit it ourselves as a PR then rebase out other PRs on top of that. Food for thought on how you might do this type of stuff going forward, in any case a merge of master into this branch now would be helpful. |
@waprin I can just
and deal with conflicts. Have you tried it? Are there issues? |
930342a
to
7fb0e97
Compare
@waprin I just got your branch up to date for you. |
Thanks. I didn't try in this case and would have to wait till we get out of date to try again, but I did it in a previous PR. If I rebase on master, then my PR will be based on master so will have all those commits that origin/std-logging-feature doesn't, so when I make the PR all those master commits are included as part of the PR which we don't want. We really want to rebase the entire feature branch on master, or merge master into the feature branch, so when the PR is made you only see the actually new commits. But in order to rebase origin/std-logging-feature onto master, we need someone with write access to origin. Hopefully that makes sense. |
@waprin Just file an issue if you need your branch gardened |
7fb0e97
to
f159b7b
Compare
* Add new "quickstart" samples [(#547)](GoogleCloudPlatform/python-docs-samples#547) * Quickstart tests [(#569)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#656) * Auto-update dependencies. [(#715)](GoogleCloudPlatform/python-docs-samples#715) * Vision cloud client snippets [(#751)](GoogleCloudPlatform/python-docs-samples#751) * fixes typo in detect_properties [(#761)](GoogleCloudPlatform/python-docs-samples#761) * Vision 1.1 [(#827)](GoogleCloudPlatform/python-docs-samples#827) * Adds vision 1.1 features * Update README * Updates GCS snippet to match local file [(#836)](GoogleCloudPlatform/python-docs-samples#836) * Improvess consistency in docs and fixes links in restructured text [(#839)](GoogleCloudPlatform/python-docs-samples#839) * Auto-update dependencies. [(#825)](GoogleCloudPlatform/python-docs-samples#825) * Crop hints tutorial [(#861)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#866) * Adds document text detection tutorial. [(#868)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#871) * Fixes a few style issues that came up in document text review. * Fixing my breaks * Auto-update dependencies. [(#872)](GoogleCloudPlatform/python-docs-samples#872) * An attempt at flattening the detect example [(#873)](GoogleCloudPlatform/python-docs-samples#873) * Adds web detection tutorial [(#874)](GoogleCloudPlatform/python-docs-samples#874) * Vision face tutorial [(#880)](GoogleCloudPlatform/python-docs-samples#880) * Updates sample to use the Cloud client library * Nits found after commit * Nudge for travis * flake8 hates my face * Auto-update dependencies. [(#876)](GoogleCloudPlatform/python-docs-samples#876) * Remove cloud config fixture [(#887)](GoogleCloudPlatform/python-docs-samples#887) * Remove cloud config fixture * Fix client secrets * Fix bigtable instance * Auto-update dependencies. [(#888)](GoogleCloudPlatform/python-docs-samples#888) * Remove resource [(#890)](GoogleCloudPlatform/python-docs-samples#890) * Remove resource fixture * Remove remote resource * Re-generate all readmes * Auto-update dependencies. [(#922)](GoogleCloudPlatform/python-docs-samples#922) * Auto-update dependencies. * Fix pubsub iam samples * Adds checks for all features using https. [(#944)](GoogleCloudPlatform/python-docs-samples#944) * Adds checks for all features using https. * Fixes overindent for lint * Fix README rst links [(#962)](GoogleCloudPlatform/python-docs-samples#962) * Fix README rst links * Update all READMEs * Auto-update dependencies. [(#1004)](GoogleCloudPlatform/python-docs-samples#1004) * Auto-update dependencies. * Fix natural language samples * Fix pubsub iam samples * Fix language samples * Fix bigquery samples * Auto-update dependencies. [(#1011)](GoogleCloudPlatform/python-docs-samples#1011) * Auto-update dependencies. [(#1033)](GoogleCloudPlatform/python-docs-samples#1033) * Vision GAPIC client library [(#1015)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#1121) Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2 * Added Link to Python Setup Guide [(#1158)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#1138) * Auto-update dependencies. [(#1186)](GoogleCloudPlatform/python-docs-samples#1186) * Auto-update dependencies. [(#1245)](GoogleCloudPlatform/python-docs-samples#1245) * Vision beta [(#1211)](GoogleCloudPlatform/python-docs-samples#1211) * remove unicode [(#1246)](GoogleCloudPlatform/python-docs-samples#1246) * Added "Open in Cloud Shell" buttons to README files [(#1254)](GoogleCloudPlatform/python-docs-samples#1254) * Auto-update dependencies. [(#1282)](GoogleCloudPlatform/python-docs-samples#1282) * Auto-update dependencies. * Fix storage acl sample Change-Id: I413bea899fdde4c4859e4070a9da25845b81f7cf * Auto-update dependencies. [(#1320)](GoogleCloudPlatform/python-docs-samples#1320) * Vision API features update [(#1339)](GoogleCloudPlatform/python-docs-samples#1339) * Revert "Vision API features update [(#1339)](GoogleCloudPlatform/python-docs-samples#1339)" [(#1351)](GoogleCloudPlatform/python-docs-samples#1351) This reverts commit fba66eec5b72a8313eb3fba0a6601306801b9212. * Auto-update dependencies. [(#1377)](GoogleCloudPlatform/python-docs-samples#1377) * Auto-update dependencies. * Update requirements.txt * fix landmark sample [(#1424)](GoogleCloudPlatform/python-docs-samples#1424) * Vision GA [(#1427)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#1441) * detect-pdf update [(#1460)](GoogleCloudPlatform/python-docs-samples#1460) * detect-pdf update * update test * Update READMEs to fix numbering and add git clone [(#1464)](GoogleCloudPlatform/python-docs-samples#1464) * Move ocr pdf/tiff samples to GA [(#1522)](GoogleCloudPlatform/python-docs-samples#1522) * Move ocr pdf/tiff samples to GA * Remove blank spaces and fragment * Fix the vision geo test. [(#1518)](GoogleCloudPlatform/python-docs-samples#1518) Sometimes, Vision sees Zepra. Othertimes, it sees Electra Tower. * [DO_NOT_MERGE] Add samples for object localization and handwritten ocr [(#1572)](GoogleCloudPlatform/python-docs-samples#1572) * Add samples for object localization and handwritten ocr * Update to released lib * Update beta_snippets.py * [DO NOT MERGE] Product search [(#1580)](GoogleCloudPlatform/python-docs-samples#1580) Product search * Update vision web_detect test image [(#1607)](GoogleCloudPlatform/python-docs-samples#1607) The original image no longer appears on cloud.google.com/vision * Vision - remove unused region tags [(#1620)](GoogleCloudPlatform/python-docs-samples#1620) * Vision region tag update [(#1635)](GoogleCloudPlatform/python-docs-samples#1635) * Udpate Beta Vision samples to use beta tags [(#1640)](GoogleCloudPlatform/python-docs-samples#1640) * Update samples to GA, cleanup tests, delete old samples [(#1704)](GoogleCloudPlatform/python-docs-samples#1704) * Add print output to crop hints tutorial [(#1797)](GoogleCloudPlatform/python-docs-samples#1797) * Remove unused code [(#1745)](GoogleCloudPlatform/python-docs-samples#1745) * Display the score/confidence value [(#1429)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#1846) ACK, merging. * update samples for product search GA [(#1861)](GoogleCloudPlatform/python-docs-samples#1861) * update samples for product search GA * update to use 0.35.1 * Use default font [(#1865)](GoogleCloudPlatform/python-docs-samples#1865) Test environment does not support all fonts. * use shared sample data bucket [(#1874)](GoogleCloudPlatform/python-docs-samples#1874) * Pass max_results through to API - issue #1173 [(#1917)](GoogleCloudPlatform/python-docs-samples#1917) * Fix Vision Product Search sample comment typo [(#1897)](GoogleCloudPlatform/python-docs-samples#1897) * vision: update samples to address changes in model annotations. [(#1991)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#1980) * Auto-update dependencies. * Update requirements.txt * Update requirements.txt * Vision API: further fixes. [(#2002)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#2052) * Fixed string in test [(#2135)](GoogleCloudPlatform/python-docs-samples#2135) * Fixed string in test * Updated to latest AutoML * Update detect.py [(#2174)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#2274) * Revert "Update detect.py [(#2174)](GoogleCloudPlatform/python-docs-samples#2174)" This reverts commit 6eaad9a3166ab3262c1211c2f41fb4b5d8234b7d. * Update beta_snippets_test.py * Update beta_snippets.py * Update detect.py * Move import inside region tags [(#2211)](GoogleCloudPlatform/python-docs-samples#2211) * Move import inside region tags * Update detect.py * Fix comment. [(#2108)](GoogleCloudPlatform/python-docs-samples#2108) Comment should reflect real filename. * Fix a typo in output message / remove duplicate parser assignment. [(#1999)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#2303) * Makes quickstart more REPL friendly [(#2354)](GoogleCloudPlatform/python-docs-samples#2354) * vision geo test fix [(#2353)](GoogleCloudPlatform/python-docs-samples#2353) Gus already LGTM * Purge products [(#2349)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#2439) * Update Pillow dependency per security alert CVE-2019-16865 [(#2492)](GoogleCloudPlatform/python-docs-samples#2492) * Add Set Endpoint Samples [(#2497)](GoogleCloudPlatform/python-docs-samples#2497) * Add Set Endpoint Samples * Add additional test result option * Sample Request update * Add filter_ * 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> * fix: get bounds for blocks instead of pages [(#2705)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#2830) * vision: fix flaky test [(#2988)](GoogleCloudPlatform/python-docs-samples#2988) * vision: fix flaky tests to be more generic in the results [(#2915)](GoogleCloudPlatform/python-docs-samples#2915) * chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#3071) * Clarifying comment for batch requests * vision: fixing linter for batch * vision: remove redundant flaky web test [(#3090)](GoogleCloudPlatform/python-docs-samples#3090) Fix: GoogleCloudPlatform/python-docs-samples#2880 * vision: fix flaky test [(#3091)](GoogleCloudPlatform/python-docs-samples#3091) Fix: GoogleCloudPlatform/python-docs-samples#2876 * chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](GoogleCloudPlatform/python-docs-samples#3170) * chore(deps): update dependency pillow to v6.2.2 [(#3186)](GoogleCloudPlatform/python-docs-samples#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#​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 [#​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)](GoogleCloudPlatform/python-docs-samples#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#​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 [#​4503](https://github.com/python-pillow/Pillow/issues/4503) [wiredfool] - Fix buffer overflow in SGI-RLE decoding [#​4504](https://github.com/python-pillow/Pillow/issues/4504) [wiredfool, hugovk] - Fix bounds overflow in JPEG 2000 decoding [#​4505](https://github.com/python-pillow/Pillow/issues/4505) [wiredfool] - Fix bounds overflow in PCX decoding [#​4506](https://github.com/python-pillow/Pillow/issues/4506) [wiredfool] - Fix 2 buffer overflows in TIFF decoding [#​4507](https://github.com/python-pillow/Pillow/issues/4507) [wiredfool] - Add APNG support [#​4243](https://github.com/python-pillow/Pillow/issues/4243) [pmrowla, radarhere, hugovk] - ImageGrab.grab() for Linux with XCB [#​4260](https://github.com/python-pillow/Pillow/issues/4260) [nulano, radarhere] - Added three new channel operations [#​4230](https://github.com/python-pillow/Pillow/issues/4230) [dwastberg, radarhere] - Prevent masking of Image reduce method in Jpeg2KImagePlugin [#​4474](https://github.com/python-pillow/Pillow/issues/4474) [radarhere, homm] - Added reading of earlier ImageMagick PNG EXIF data [#​4471](https://github.com/python-pillow/Pillow/issues/4471) [radarhere] - Fixed endian handling for I;16 getextrema [#​4457](https://github.com/python-pillow/Pillow/issues/4457) [radarhere] - Release buffer if function returns prematurely [#​4381](https://github.com/python-pillow/Pillow/issues/4381) [radarhere] - Add JPEG comment to info dictionary [#​4455](https://github.com/python-pillow/Pillow/issues/4455) [radarhere] - Fix size calculation of Image.thumbnail() [#​4404](https://github.com/python-pillow/Pillow/issues/4404) [orlnub123] - Fixed stroke on FreeType < 2.9 [#​4401](https://github.com/python-pillow/Pillow/issues/4401) [radarhere] - If present, only use alpha channel for bounding box [#​4454](https://github.com/python-pillow/Pillow/issues/4454) [radarhere] - Warn if an unknown feature is passed to features.check() [#​4438](https://github.com/python-pillow/Pillow/issues/4438) [jdufresne] - Fix Name field length when saving IM images [#​4424](https://github.com/python-pillow/Pillow/issues/4424) [hugovk, radarhere] - Allow saving of zero quality JPEG images [#​4440](https://github.com/python-pillow/Pillow/issues/4440) [radarhere] - Allow explicit zero width to hide outline [#​4334](https://github.com/python-pillow/Pillow/issues/4334) [radarhere] - Change ContainerIO return type to match file object mode [#​4297](https://github.com/python-pillow/Pillow/issues/4297) [jdufresne, radarhere] - Only draw each polygon pixel once [#​4333](https://github.com/python-pillow/Pillow/issues/4333) [radarhere] - Add support for shooting situation Exif IFD tags [#​4398](https://github.com/python-pillow/Pillow/issues/4398) [alexagv] - Handle multiple and malformed JPEG APP13 markers [#​4370](https://github.com/python-pillow/Pillow/issues/4370) [homm] - Depends: Update libwebp to 1.1.0 [#​4342](https://github.com/python-pillow/Pillow/issues/4342), libjpeg to 9d [#​4352](https://github.com/python-pillow/Pillow/issues/4352) [radarhere] ### [`v7.0.0`](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#​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 [#​4109](https://github.com/python-pillow/Pillow/issues/4109) [hugovk, radarhere, jdufresne] - Fix rounding error on RGB to L conversion [#​4320](https://github.com/python-pillow/Pillow/issues/4320) [homm] - Exif writing fixes: Rational boundaries and signed/unsigned types [#​3980](https://github.com/python-pillow/Pillow/issues/3980) [kkopachev, radarhere] - Allow loading of WMF images at a given DPI [#​4311](https://github.com/python-pillow/Pillow/issues/4311) [radarhere] - Added reduce operation [#​4251](https://github.com/python-pillow/Pillow/issues/4251) [homm] - Raise ValueError for io.StringIO in Image.open [#​4302](https://github.com/python-pillow/Pillow/issues/4302) [radarhere, hugovk] - Fix thumbnail geometry when DCT scaling is used [#​4231](https://github.com/python-pillow/Pillow/issues/4231) [homm, radarhere] - Use default DPI when exif provides invalid x_resolution [#​4147](https://github.com/python-pillow/Pillow/issues/4147) [beipang2, radarhere] - Change default resize resampling filter from NEAREST to BICUBIC [#​4255](https://github.com/python-pillow/Pillow/issues/4255) [homm] - Fixed black lines on upscaled images with the BOX filter [#​4278](https://github.com/python-pillow/Pillow/issues/4278) [homm] - Better thumbnail aspect ratio preservation [#​4256](https://github.com/python-pillow/Pillow/issues/4256) [homm] - Add La mode packing and unpacking [#​4248](https://github.com/python-pillow/Pillow/issues/4248) [homm] - Include tests in coverage reports [#​4173](https://github.com/python-pillow/Pillow/issues/4173) [hugovk] - Handle broken Photoshop data [#​4239](https://github.com/python-pillow/Pillow/issues/4239) [radarhere] - Raise a specific exception if no data is found for an MPO frame [#​4240](https://github.com/python-pillow/Pillow/issues/4240) [radarhere] - Fix Unicode support for PyPy [#​4145](https://github.com/python-pillow/Pillow/issues/4145) [nulano] - Added UnidentifiedImageError [#​4182](https://github.com/python-pillow/Pillow/issues/4182) [radarhere, hugovk] - Remove deprecated **version** from plugins [#​4197](https://github.com/python-pillow/Pillow/issues/4197) [hugovk, radarhere] - Fixed freeing unallocated pointer when resizing with height too large [#​4116](https://github.com/python-pillow/Pillow/issues/4116) [radarhere] - Copy info in Image.transform [#​4128](https://github.com/python-pillow/Pillow/issues/4128) [radarhere] - Corrected DdsImagePlugin setting info gamma [#​4171](https://github.com/python-pillow/Pillow/issues/4171) [radarhere] - Depends: Update libtiff to 4.1.0 [#​4195](https://github.com/python-pillow/Pillow/issues/4195), Tk Tcl to 8.6.10 [#​4229](https://github.com/python-pillow/Pillow/issues/4229), libimagequant to 2.12.6 [#​4318](https://github.com/python-pillow/Pillow/issues/4318) [radarhere] - Improve handling of file resources [#​3577](https://github.com/python-pillow/Pillow/issues/3577) [jdufresne] - Removed CI testing of Fedora 29 [#​4165](https://github.com/python-pillow/Pillow/issues/4165) [hugovk] - Added pypy3 to tox envlist [#​4137](https://github.com/python-pillow/Pillow/issues/4137) [jdufresne] - Drop support for EOL PyQt4 and PySide [#​4108](https://github.com/python-pillow/Pillow/issues/4108) [hugovk, radarhere] - Removed deprecated setting of TIFF image sizes [#​4114](https://github.com/python-pillow/Pillow/issues/4114) [radarhere] - Removed deprecated PILLOW_VERSION [#​4107](https://github.com/python-pillow/Pillow/issues/4107) [hugovk] - Changed default frombuffer raw decoder args [#​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)](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-vision to v1 [(#3227)](GoogleCloudPlatform/python-docs-samples#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#​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 ([#​11](https://www.github.com/googleapis/python-vision/issues/11)) ([2129bde](https://www.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)](GoogleCloudPlatform/python-docs-samples#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#​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 [#​4512](https://github.com/python-pillow/Pillow/issues/4512) [#​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)](GoogleCloudPlatform/python-docs-samples#3383) Fix: GoogleCloudPlatform/python-docs-samples#2955 Fix: GoogleCloudPlatform/python-docs-samples#2992 * [vision] fix: longer timeout [(#3447)](GoogleCloudPlatform/python-docs-samples#3447) fixes #2962 * testing: replace @flaky with @pytest.mark.flaky [(#3496)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#3557) * chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](GoogleCloudPlatform/python-docs-samples#3260) Co-authored-by: Takashi Matsuo <tmatsuo@google.com> * [vision] fix: add timeout for LRO result and mark it as flaky [(#3684)](GoogleCloudPlatform/python-docs-samples#3684) fixes #3674 * [vision] fix: mark a test as flaky [(#3709)](GoogleCloudPlatform/python-docs-samples#3709) fixes #3702 * chore: some lint fixes [(#3751)](GoogleCloudPlatform/python-docs-samples#3751) * chore: some lint fixes * longer timeout, more retries * disable detect_test.py::test_async_detect_document * [vision] testing: retry upon errors [(#3764)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#3761) fixes #3753 also made the data PDF to be smaller. * chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#4022) * chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](GoogleCloudPlatform/python-docs-samples#4040) * chore(deps): update dependency pillow to v7.2.0 [(#4208)](GoogleCloudPlatform/python-docs-samples#4208) * testing(vision): use different ids for test functions [(#4227)](GoogleCloudPlatform/python-docs-samples#4227) fixes #4224 * 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 flaky to v3.7.0 [(#4300)](GoogleCloudPlatform/python-docs-samples#4300) * Update dependency google-cloud-storage to v1.30.0 * Update dependency pytest to v6 [(#4390)](GoogleCloudPlatform/python-docs-samples#4390) * feat: fixed doc string comment mismatch in Product Search [(#4432)](GoogleCloudPlatform/python-docs-samples#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)](GoogleCloudPlatform/python-docs-samples#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>
Not sure if it is not included intentionally... This is a light version of what is done at https://github.com/severb/graypy/blob/master/graypy/handler.py#L97