google-cloud-language-v2 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93c224f839612ccfa7721972e82831bd08308e451d489be75092ccfc6a3a6990
4
- data.tar.gz: 98a0b6ae36a39d9c9531768b8e4e096041cb0302cc252e49afcf307cde8b104c
3
+ metadata.gz: bd91bd2ef7935c67a6ebaba5569496409a2393f2288ebd097e139c69f071b131
4
+ data.tar.gz: f86a56de36b2d0c8c9b16557cec1cebcb9de1211604a17ddb49ade4e00341116
5
5
  SHA512:
6
- metadata.gz: cfbc371aa41386fe234681c9feb0e3cf2a66909a6a78ad1d87da1deb0850957d59aa9e9e9ea56dffa997b0f7067c9c2e1f452b27430bdc508919c0b5c3586237
7
- data.tar.gz: 35c9445bb64a65244409f6bcc17f65961d9f0b7cee46782dd898c7d182a44d0c1c39e438c10ae61e0191b334c41c22a155d318f3be23c0b4f074cfeb3c901cf1
6
+ metadata.gz: 4e0d3ea03141bd5ee5ccb68d714abcc981f134ed1041c17145e75c0301b464820113471fcb1770f7fa4c9581f3559c99ac9e363979b21bfcf12042819f548adf
7
+ data.tar.gz: 219fbe2048002a5c4f6bed4ec1c40434e0d37b96a97441abd17c8952a54c9eb159d403116b9e1251607da71fbe6750cda97aca094f5329a9b58707c116470354
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/natural-language/docs)
44
44
  for general usage information.
45
45
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/language/v2"
57
76
  require "logger"
58
77
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
78
+ client = ::Google::Cloud::Language::V2::LanguageService::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
@@ -181,8 +181,28 @@ module Google
181
181
  universe_domain: @config.universe_domain,
182
182
  channel_args: @config.channel_args,
183
183
  interceptors: @config.interceptors,
184
- channel_pool_config: @config.channel_pool
184
+ channel_pool_config: @config.channel_pool,
185
+ logger: @config.logger
185
186
  )
187
+
188
+ @language_service_stub.stub_logger&.info do |entry|
189
+ entry.set_system_name
190
+ entry.set_service
191
+ entry.message = "Created client for #{entry.service}"
192
+ entry.set_credentials_fields credentials
193
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
194
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
195
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
196
+ end
197
+ end
198
+
199
+ ##
200
+ # The logger used for request/response debug logging.
201
+ #
202
+ # @return [Logger]
203
+ #
204
+ def logger
205
+ @language_service_stub.logger
186
206
  end
187
207
 
188
208
  # Service calls
@@ -261,7 +281,6 @@ module Google
261
281
 
262
282
  @language_service_stub.call_rpc :analyze_sentiment, request, options: options do |response, operation|
263
283
  yield response, operation if block_given?
264
- return response
265
284
  end
266
285
  rescue ::GRPC::BadStatus => e
267
286
  raise ::Google::Cloud::Error.from_error(e)
@@ -343,7 +362,6 @@ module Google
343
362
 
344
363
  @language_service_stub.call_rpc :analyze_entities, request, options: options do |response, operation|
345
364
  yield response, operation if block_given?
346
- return response
347
365
  end
348
366
  rescue ::GRPC::BadStatus => e
349
367
  raise ::Google::Cloud::Error.from_error(e)
@@ -421,7 +439,6 @@ module Google
421
439
 
422
440
  @language_service_stub.call_rpc :classify_text, request, options: options do |response, operation|
423
441
  yield response, operation if block_given?
424
- return response
425
442
  end
426
443
  rescue ::GRPC::BadStatus => e
427
444
  raise ::Google::Cloud::Error.from_error(e)
@@ -501,7 +518,6 @@ module Google
501
518
 
502
519
  @language_service_stub.call_rpc :moderate_text, request, options: options do |response, operation|
503
520
  yield response, operation if block_given?
504
- return response
505
521
  end
506
522
  rescue ::GRPC::BadStatus => e
507
523
  raise ::Google::Cloud::Error.from_error(e)
@@ -583,7 +599,6 @@ module Google
583
599
 
584
600
  @language_service_stub.call_rpc :annotate_text, request, options: options do |response, operation|
585
601
  yield response, operation if block_given?
586
- return response
587
602
  end
588
603
  rescue ::GRPC::BadStatus => e
589
604
  raise ::Google::Cloud::Error.from_error(e)
@@ -672,6 +687,11 @@ module Google
672
687
  # default endpoint URL. The default value of nil uses the environment
673
688
  # universe (usually the default "googleapis.com" universe).
674
689
  # @return [::String,nil]
690
+ # @!attribute [rw] logger
691
+ # A custom logger to use for request/response debug logging, or the value
692
+ # `:default` (the default) to construct a default logger, or `nil` to
693
+ # explicitly disable logging.
694
+ # @return [::Logger,:default,nil]
675
695
  #
676
696
  class Configuration
677
697
  extend ::Gapic::Config
@@ -696,6 +716,7 @@ module Google
696
716
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
697
717
  config_attr :quota_project, nil, ::String, nil
698
718
  config_attr :universe_domain, nil, ::String, nil
719
+ config_attr :logger, :default, ::Logger, nil, :default
699
720
 
700
721
  # @private
701
722
  def initialize parent_config = nil
@@ -174,8 +174,28 @@ module Google
174
174
  endpoint: @config.endpoint,
175
175
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
176
176
  universe_domain: @config.universe_domain,
177
- credentials: credentials
177
+ credentials: credentials,
178
+ logger: @config.logger
178
179
  )
180
+
181
+ @language_service_stub.logger(stub: true)&.info do |entry|
182
+ entry.set_system_name
183
+ entry.set_service
184
+ entry.message = "Created client for #{entry.service}"
185
+ entry.set_credentials_fields credentials
186
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
187
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
188
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
189
+ end
190
+ end
191
+
192
+ ##
193
+ # The logger used for request/response debug logging.
194
+ #
195
+ # @return [Logger]
196
+ #
197
+ def logger
198
+ @language_service_stub.logger
179
199
  end
180
200
 
181
201
  # Service calls
@@ -255,7 +275,6 @@ module Google
255
275
 
256
276
  @language_service_stub.analyze_sentiment request, options do |result, operation|
257
277
  yield result, operation if block_given?
258
- return result
259
278
  end
260
279
  rescue ::Gapic::Rest::Error => e
261
280
  raise ::Google::Cloud::Error.from_error(e)
@@ -338,7 +357,6 @@ module Google
338
357
 
339
358
  @language_service_stub.analyze_entities request, options do |result, operation|
340
359
  yield result, operation if block_given?
341
- return result
342
360
  end
343
361
  rescue ::Gapic::Rest::Error => e
344
362
  raise ::Google::Cloud::Error.from_error(e)
@@ -417,7 +435,6 @@ module Google
417
435
 
418
436
  @language_service_stub.classify_text request, options do |result, operation|
419
437
  yield result, operation if block_given?
420
- return result
421
438
  end
422
439
  rescue ::Gapic::Rest::Error => e
423
440
  raise ::Google::Cloud::Error.from_error(e)
@@ -498,7 +515,6 @@ module Google
498
515
 
499
516
  @language_service_stub.moderate_text request, options do |result, operation|
500
517
  yield result, operation if block_given?
501
- return result
502
518
  end
503
519
  rescue ::Gapic::Rest::Error => e
504
520
  raise ::Google::Cloud::Error.from_error(e)
@@ -581,7 +597,6 @@ module Google
581
597
 
582
598
  @language_service_stub.annotate_text request, options do |result, operation|
583
599
  yield result, operation if block_given?
584
- return result
585
600
  end
586
601
  rescue ::Gapic::Rest::Error => e
587
602
  raise ::Google::Cloud::Error.from_error(e)
@@ -661,6 +676,11 @@ module Google
661
676
  # default endpoint URL. The default value of nil uses the environment
662
677
  # universe (usually the default "googleapis.com" universe).
663
678
  # @return [::String,nil]
679
+ # @!attribute [rw] logger
680
+ # A custom logger to use for request/response debug logging, or the value
681
+ # `:default` (the default) to construct a default logger, or `nil` to
682
+ # explicitly disable logging.
683
+ # @return [::Logger,:default,nil]
664
684
  #
665
685
  class Configuration
666
686
  extend ::Gapic::Config
@@ -682,6 +702,7 @@ module Google
682
702
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
683
703
  config_attr :quota_project, nil, ::String, nil
684
704
  config_attr :universe_domain, nil, ::String, nil
705
+ config_attr :logger, :default, ::Logger, nil, :default
685
706
 
686
707
  # @private
687
708
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the analyze_sentiment REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "analyze_sentiment",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Language::V2::AnalyzeSentimentResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "analyze_entities",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::Language::V2::AnalyzeEntitiesResponse.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "classify_text",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::Language::V2::ClassifyTextResponse.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "moderate_text",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::Language::V2::ModerateTextResponse.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -239,16 +259,18 @@ module Google
239
259
 
240
260
  response = @client_stub.make_http_request(
241
261
  verb,
242
- uri: uri,
243
- body: body || "",
244
- params: query_string_params,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "annotate_text",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Cloud::Language::V2::AnnotateTextResponse.decode_json response.body, ignore_unknown_fields: true
249
-
250
- yield result, operation if block_given?
251
- result
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
252
274
  end
253
275
 
254
276
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Language
23
23
  module V2
24
- VERSION = "0.5.0"
24
+ VERSION = "0.6.0"
25
25
  end
26
26
  end
27
27
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -196,9 +199,32 @@ module Google
196
199
  # @!attribute [rw] common
197
200
  # @return [::Google::Api::CommonLanguageSettings]
198
201
  # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
199
205
  class PythonSettings
200
206
  include ::Google::Protobuf::MessageExts
201
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
217
+ # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
224
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
202
228
  end
203
229
 
204
230
  # Settings for Node client libraries.
@@ -280,9 +306,28 @@ module Google
280
306
  # @!attribute [rw] common
281
307
  # @return [::Google::Api::CommonLanguageSettings]
282
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
283
319
  class GoSettings
284
320
  include ::Google::Protobuf::MessageExts
285
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
286
331
  end
287
332
 
288
333
  # Describes the generator configuration for a method.
@@ -358,6 +403,17 @@ module Google
358
403
  end
359
404
  end
360
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
361
417
  # The organization for which the client libraries are being published.
362
418
  # Affects the url where generated docs are published, etc.
363
419
  module ClientLibraryOrganization
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-language-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-05 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.1
19
+ version: 0.24.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.5.6
99
+ rubygems_version: 3.5.23
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Provides natural language understanding technologies, such as sentiment analysis,