google-analytics-admin 0.23.4__tar.gz → 0.23.6__tar.gz
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.
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/PKG-INFO +97 -8
- google_analytics_admin-0.23.6/README.rst +197 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin/gapic_version.py +1 -1
- {google_analytics_admin-0.23.4/google/analytics/admin_v1beta → google_analytics_admin-0.23.6/google/analytics/admin_v1alpha}/gapic_version.py +1 -1
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/async_client.py +508 -127
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/client.py +508 -127
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/resources.py +14 -0
- {google_analytics_admin-0.23.4/google/analytics/admin_v1alpha → google_analytics_admin-0.23.6/google/analytics/admin_v1beta}/gapic_version.py +1 -1
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/async_client.py +188 -47
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/client.py +188 -47
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google_analytics_admin.egg-info/PKG-INFO +97 -8
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google_analytics_admin.egg-info/SOURCES.txt +0 -1
- google_analytics_admin-0.23.6/google_analytics_admin.egg-info/requires.txt +7 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/setup.cfg +0 -3
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/setup.py +5 -5
- google_analytics_admin-0.23.4/README.rst +0 -108
- google_analytics_admin-0.23.4/google_analytics_admin.egg-info/requires.txt +0 -7
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/LICENSE +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/MANIFEST.in +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin/py.typed +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/gapic_metadata.json +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/py.typed +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/pagers.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/base.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/grpc.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/grpc_asyncio.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/rest.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/services/analytics_admin_service/transports/rest_base.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/access_report.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/analytics_admin.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/audience.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/channel_group.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/event_create_and_edit.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/expanded_data_set.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1alpha/types/subproperty_event_filter.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/gapic_metadata.json +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/py.typed +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/pagers.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/base.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/grpc.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/grpc_asyncio.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/rest.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/services/analytics_admin_service/transports/rest_base.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/types/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/types/access_report.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/types/analytics_admin.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google/analytics/admin_v1beta/types/resources.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google_analytics_admin.egg-info/dependency_links.txt +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google_analytics_admin.egg-info/not-zip-safe +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/google_analytics_admin.egg-info/top_level.txt +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/gapic/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/gapic/admin_v1alpha/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/gapic/admin_v1alpha/test_analytics_admin_service.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/gapic/admin_v1beta/__init__.py +0 -0
- {google_analytics_admin-0.23.4 → google_analytics_admin-0.23.6}/tests/unit/gapic/admin_v1beta/test_analytics_admin_service.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: google-analytics-admin
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.6
|
|
4
4
|
Summary: Google Analytics Admin API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-analytics-admin
|
|
6
6
|
Author: Google LLC
|
|
@@ -23,11 +23,11 @@ Classifier: Operating System :: OS Independent
|
|
|
23
23
|
Classifier: Topic :: Internet
|
|
24
24
|
Requires-Python: >=3.7
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.
|
|
27
|
-
Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.
|
|
28
|
-
Requires-Dist: proto-plus<2.0.
|
|
29
|
-
Requires-Dist: proto-plus<2.0.
|
|
30
|
-
Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<
|
|
26
|
+
Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0,>=1.34.1
|
|
27
|
+
Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
|
|
28
|
+
Requires-Dist: proto-plus<2.0.0,>=1.22.3
|
|
29
|
+
Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
|
|
30
|
+
Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
|
|
31
31
|
|
|
32
32
|
Python Client for Analytics Admin
|
|
33
33
|
=================================
|
|
@@ -57,12 +57,12 @@ In order to use this library, you first need to go through the following steps:
|
|
|
57
57
|
1. `Select or create a Cloud Platform project.`_
|
|
58
58
|
2. `Enable billing for your project.`_
|
|
59
59
|
3. `Enable the Analytics Admin.`_
|
|
60
|
-
4. `
|
|
60
|
+
4. `Set up Authentication.`_
|
|
61
61
|
|
|
62
62
|
.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
|
|
63
63
|
.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
|
|
64
64
|
.. _Enable the Analytics Admin.: https://developers.google.com/analytics/
|
|
65
|
-
..
|
|
65
|
+
.. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
|
|
66
66
|
|
|
67
67
|
Installation
|
|
68
68
|
~~~~~~~~~~~~
|
|
@@ -137,3 +137,92 @@ Next Steps
|
|
|
137
137
|
|
|
138
138
|
.. _Analytics Admin Product documentation: https://developers.google.com/analytics/
|
|
139
139
|
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
|
|
140
|
+
|
|
141
|
+
Logging
|
|
142
|
+
-------
|
|
143
|
+
|
|
144
|
+
This library uses the standard Python :code:`logging` functionality to log some RPC events that could be of interest for debugging and monitoring purposes.
|
|
145
|
+
Note the following:
|
|
146
|
+
|
|
147
|
+
#. Logs may contain sensitive information. Take care to **restrict access to the logs** if they are saved, whether it be on local storage or on Google Cloud Logging.
|
|
148
|
+
#. Google may refine the occurrence, level, and content of various log messages in this library without flagging such changes as breaking. **Do not depend on immutability of the logging events**.
|
|
149
|
+
#. By default, the logging events from this library are not handled. You must **explicitly configure log handling** using one of the mechanisms below.
|
|
150
|
+
|
|
151
|
+
Simple, environment-based configuration
|
|
152
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
153
|
+
|
|
154
|
+
To enable logging for this library without any changes in your code, set the :code:`GOOGLE_SDK_PYTHON_LOGGING_SCOPE` environment variable to a valid Google
|
|
155
|
+
logging scope. This configures handling of logging events (at level :code:`logging.DEBUG` or higher) from this library in a default manner, emitting the logged
|
|
156
|
+
messages in a structured format. It does not currently allow customizing the logging levels captured nor the handlers, formatters, etc. used for any logging
|
|
157
|
+
event.
|
|
158
|
+
|
|
159
|
+
A logging scope is a period-separated namespace that begins with :code:`google`, identifying the Python module or package to log.
|
|
160
|
+
|
|
161
|
+
- Valid logging scopes: :code:`google`, :code:`google.cloud.asset.v1`, :code:`google.api`, :code:`google.auth`, etc.
|
|
162
|
+
- Invalid logging scopes: :code:`foo`, :code:`123`, etc.
|
|
163
|
+
|
|
164
|
+
**NOTE**: If the logging scope is invalid, the library does not set up any logging handlers.
|
|
165
|
+
|
|
166
|
+
Environment-Based Examples
|
|
167
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
168
|
+
|
|
169
|
+
- Enabling the default handler for all Google-based loggers
|
|
170
|
+
|
|
171
|
+
.. code-block:: console
|
|
172
|
+
|
|
173
|
+
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
|
|
174
|
+
|
|
175
|
+
- Enabling the default handler for a specific Google module (for a client library called :code:`library_v1`):
|
|
176
|
+
|
|
177
|
+
.. code-block:: console
|
|
178
|
+
|
|
179
|
+
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.cloud.library_v1
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
Advanced, code-based configuration
|
|
183
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
184
|
+
|
|
185
|
+
You can also configure a valid logging scope using Python's standard `logging` mechanism.
|
|
186
|
+
|
|
187
|
+
Code-Based Examples
|
|
188
|
+
^^^^^^^^^^^^^^^^^^^
|
|
189
|
+
|
|
190
|
+
- Configuring a handler for all Google-based loggers
|
|
191
|
+
|
|
192
|
+
.. code-block:: python
|
|
193
|
+
|
|
194
|
+
import logging
|
|
195
|
+
|
|
196
|
+
from google.cloud.translate_v3 import translate
|
|
197
|
+
|
|
198
|
+
base_logger = logging.getLogger("google")
|
|
199
|
+
base_logger.addHandler(logging.StreamHandler())
|
|
200
|
+
base_logger.setLevel(logging.DEBUG)
|
|
201
|
+
|
|
202
|
+
- Configuring a handler for a specific Google module (for a client library called :code:`library_v1`):
|
|
203
|
+
|
|
204
|
+
.. code-block:: python
|
|
205
|
+
|
|
206
|
+
import logging
|
|
207
|
+
|
|
208
|
+
from google.cloud.translate_v3 import translate
|
|
209
|
+
|
|
210
|
+
base_logger = logging.getLogger("google.cloud.library_v1")
|
|
211
|
+
base_logger.addHandler(logging.StreamHandler())
|
|
212
|
+
base_logger.setLevel(logging.DEBUG)
|
|
213
|
+
|
|
214
|
+
Logging details
|
|
215
|
+
~~~~~~~~~~~~~~~
|
|
216
|
+
|
|
217
|
+
#. Regardless of which of the mechanisms above you use to configure logging for this library, by default logging events are not propagated up to the root
|
|
218
|
+
logger from the `google`-level logger. If you need the events to be propagated to the root logger, you must explicitly set
|
|
219
|
+
:code:`logging.getLogger("google").propagate = True` in your code.
|
|
220
|
+
#. You can mix the different logging configurations above for different Google modules. For example, you may want use a code-based logging configuration for
|
|
221
|
+
one library, but decide you need to also set up environment-based logging configuration for another library.
|
|
222
|
+
|
|
223
|
+
#. If you attempt to use both code-based and environment-based configuration for the same module, the environment-based configuration will be ineffectual
|
|
224
|
+
if the code -based configuration gets applied first.
|
|
225
|
+
|
|
226
|
+
#. The Google-specific logging configurations (default handlers for environment-based configuration; not propagating logging events to the root logger) get
|
|
227
|
+
executed the first time *any* client library is instantiated in your application, and only if the affected loggers have not been previously configured.
|
|
228
|
+
(This is the reason for 2.i. above.)
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
Python Client for Analytics Admin
|
|
2
|
+
=================================
|
|
3
|
+
|
|
4
|
+
|preview| |pypi| |versions|
|
|
5
|
+
|
|
6
|
+
`Analytics Admin`_: allows you to manage Google Analytics accounts and properties.
|
|
7
|
+
|
|
8
|
+
- `Client Library Documentation`_
|
|
9
|
+
- `Product Documentation`_
|
|
10
|
+
|
|
11
|
+
.. |preview| image:: https://img.shields.io/badge/support-preview-orange.svg
|
|
12
|
+
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#stability-levels
|
|
13
|
+
.. |pypi| image:: https://img.shields.io/pypi/v/google-analytics-admin.svg
|
|
14
|
+
:target: https://pypi.org/project/google-analytics-admin/
|
|
15
|
+
.. |versions| image:: https://img.shields.io/pypi/pyversions/google-analytics-admin.svg
|
|
16
|
+
:target: https://pypi.org/project/google-analytics-admin/
|
|
17
|
+
.. _Analytics Admin: https://developers.google.com/analytics/
|
|
18
|
+
.. _Client Library Documentation: https://googleapis.dev/python/analyticsadmin/latest
|
|
19
|
+
.. _Product Documentation: https://developers.google.com/analytics/
|
|
20
|
+
|
|
21
|
+
Quick Start
|
|
22
|
+
-----------
|
|
23
|
+
|
|
24
|
+
In order to use this library, you first need to go through the following steps:
|
|
25
|
+
|
|
26
|
+
1. `Select or create a Cloud Platform project.`_
|
|
27
|
+
2. `Enable billing for your project.`_
|
|
28
|
+
3. `Enable the Analytics Admin.`_
|
|
29
|
+
4. `Set up Authentication.`_
|
|
30
|
+
|
|
31
|
+
.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
|
|
32
|
+
.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
|
|
33
|
+
.. _Enable the Analytics Admin.: https://developers.google.com/analytics/
|
|
34
|
+
.. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
|
|
35
|
+
|
|
36
|
+
Installation
|
|
37
|
+
~~~~~~~~~~~~
|
|
38
|
+
|
|
39
|
+
Install this library in a virtual environment using `venv`_. `venv`_ is a tool that
|
|
40
|
+
creates isolated Python environments. These isolated environments can have separate
|
|
41
|
+
versions of Python packages, which allows you to isolate one project's dependencies
|
|
42
|
+
from the dependencies of other projects.
|
|
43
|
+
|
|
44
|
+
With `venv`_, it's possible to install this library without needing system
|
|
45
|
+
install permissions, and without clashing with the installed system
|
|
46
|
+
dependencies.
|
|
47
|
+
|
|
48
|
+
.. _`venv`: https://docs.python.org/3/library/venv.html
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
Code samples and snippets
|
|
52
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
53
|
+
|
|
54
|
+
Code samples and snippets live in the `samples/`_ folder.
|
|
55
|
+
|
|
56
|
+
.. _samples/: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-analytics-admin/samples
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
Supported Python Versions
|
|
60
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
61
|
+
Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
|
|
62
|
+
Python.
|
|
63
|
+
|
|
64
|
+
Python >= 3.7
|
|
65
|
+
|
|
66
|
+
.. _active: https://devguide.python.org/devcycle/#in-development-main-branch
|
|
67
|
+
.. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
|
|
68
|
+
|
|
69
|
+
Unsupported Python Versions
|
|
70
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
71
|
+
Python <= 3.6
|
|
72
|
+
|
|
73
|
+
If you are using an `end-of-life`_
|
|
74
|
+
version of Python, we recommend that you update as soon as possible to an actively supported version.
|
|
75
|
+
|
|
76
|
+
.. _end-of-life: https://devguide.python.org/devcycle/#end-of-life-branches
|
|
77
|
+
|
|
78
|
+
Mac/Linux
|
|
79
|
+
^^^^^^^^^
|
|
80
|
+
|
|
81
|
+
.. code-block:: console
|
|
82
|
+
|
|
83
|
+
python3 -m venv <your-env>
|
|
84
|
+
source <your-env>/bin/activate
|
|
85
|
+
pip install google-analytics-admin
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Windows
|
|
89
|
+
^^^^^^^
|
|
90
|
+
|
|
91
|
+
.. code-block:: console
|
|
92
|
+
|
|
93
|
+
py -m venv <your-env>
|
|
94
|
+
.\<your-env>\Scripts\activate
|
|
95
|
+
pip install google-analytics-admin
|
|
96
|
+
|
|
97
|
+
Next Steps
|
|
98
|
+
~~~~~~~~~~
|
|
99
|
+
|
|
100
|
+
- Read the `Client Library Documentation`_ for Analytics Admin
|
|
101
|
+
to see other available methods on the client.
|
|
102
|
+
- Read the `Analytics Admin Product documentation`_ to learn
|
|
103
|
+
more about the product and see How-to Guides.
|
|
104
|
+
- View this `README`_ to see the full list of Cloud
|
|
105
|
+
APIs that we cover.
|
|
106
|
+
|
|
107
|
+
.. _Analytics Admin Product documentation: https://developers.google.com/analytics/
|
|
108
|
+
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
|
|
109
|
+
|
|
110
|
+
Logging
|
|
111
|
+
-------
|
|
112
|
+
|
|
113
|
+
This library uses the standard Python :code:`logging` functionality to log some RPC events that could be of interest for debugging and monitoring purposes.
|
|
114
|
+
Note the following:
|
|
115
|
+
|
|
116
|
+
#. Logs may contain sensitive information. Take care to **restrict access to the logs** if they are saved, whether it be on local storage or on Google Cloud Logging.
|
|
117
|
+
#. Google may refine the occurrence, level, and content of various log messages in this library without flagging such changes as breaking. **Do not depend on immutability of the logging events**.
|
|
118
|
+
#. By default, the logging events from this library are not handled. You must **explicitly configure log handling** using one of the mechanisms below.
|
|
119
|
+
|
|
120
|
+
Simple, environment-based configuration
|
|
121
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
122
|
+
|
|
123
|
+
To enable logging for this library without any changes in your code, set the :code:`GOOGLE_SDK_PYTHON_LOGGING_SCOPE` environment variable to a valid Google
|
|
124
|
+
logging scope. This configures handling of logging events (at level :code:`logging.DEBUG` or higher) from this library in a default manner, emitting the logged
|
|
125
|
+
messages in a structured format. It does not currently allow customizing the logging levels captured nor the handlers, formatters, etc. used for any logging
|
|
126
|
+
event.
|
|
127
|
+
|
|
128
|
+
A logging scope is a period-separated namespace that begins with :code:`google`, identifying the Python module or package to log.
|
|
129
|
+
|
|
130
|
+
- Valid logging scopes: :code:`google`, :code:`google.cloud.asset.v1`, :code:`google.api`, :code:`google.auth`, etc.
|
|
131
|
+
- Invalid logging scopes: :code:`foo`, :code:`123`, etc.
|
|
132
|
+
|
|
133
|
+
**NOTE**: If the logging scope is invalid, the library does not set up any logging handlers.
|
|
134
|
+
|
|
135
|
+
Environment-Based Examples
|
|
136
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
137
|
+
|
|
138
|
+
- Enabling the default handler for all Google-based loggers
|
|
139
|
+
|
|
140
|
+
.. code-block:: console
|
|
141
|
+
|
|
142
|
+
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
|
|
143
|
+
|
|
144
|
+
- Enabling the default handler for a specific Google module (for a client library called :code:`library_v1`):
|
|
145
|
+
|
|
146
|
+
.. code-block:: console
|
|
147
|
+
|
|
148
|
+
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.cloud.library_v1
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
Advanced, code-based configuration
|
|
152
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
153
|
+
|
|
154
|
+
You can also configure a valid logging scope using Python's standard `logging` mechanism.
|
|
155
|
+
|
|
156
|
+
Code-Based Examples
|
|
157
|
+
^^^^^^^^^^^^^^^^^^^
|
|
158
|
+
|
|
159
|
+
- Configuring a handler for all Google-based loggers
|
|
160
|
+
|
|
161
|
+
.. code-block:: python
|
|
162
|
+
|
|
163
|
+
import logging
|
|
164
|
+
|
|
165
|
+
from google.cloud.translate_v3 import translate
|
|
166
|
+
|
|
167
|
+
base_logger = logging.getLogger("google")
|
|
168
|
+
base_logger.addHandler(logging.StreamHandler())
|
|
169
|
+
base_logger.setLevel(logging.DEBUG)
|
|
170
|
+
|
|
171
|
+
- Configuring a handler for a specific Google module (for a client library called :code:`library_v1`):
|
|
172
|
+
|
|
173
|
+
.. code-block:: python
|
|
174
|
+
|
|
175
|
+
import logging
|
|
176
|
+
|
|
177
|
+
from google.cloud.translate_v3 import translate
|
|
178
|
+
|
|
179
|
+
base_logger = logging.getLogger("google.cloud.library_v1")
|
|
180
|
+
base_logger.addHandler(logging.StreamHandler())
|
|
181
|
+
base_logger.setLevel(logging.DEBUG)
|
|
182
|
+
|
|
183
|
+
Logging details
|
|
184
|
+
~~~~~~~~~~~~~~~
|
|
185
|
+
|
|
186
|
+
#. Regardless of which of the mechanisms above you use to configure logging for this library, by default logging events are not propagated up to the root
|
|
187
|
+
logger from the `google`-level logger. If you need the events to be propagated to the root logger, you must explicitly set
|
|
188
|
+
:code:`logging.getLogger("google").propagate = True` in your code.
|
|
189
|
+
#. You can mix the different logging configurations above for different Google modules. For example, you may want use a code-based logging configuration for
|
|
190
|
+
one library, but decide you need to also set up environment-based logging configuration for another library.
|
|
191
|
+
|
|
192
|
+
#. If you attempt to use both code-based and environment-based configuration for the same module, the environment-based configuration will be ineffectual
|
|
193
|
+
if the code -based configuration gets applied first.
|
|
194
|
+
|
|
195
|
+
#. The Google-specific logging configurations (default handlers for environment-based configuration; not propagating logging events to the root logger) get
|
|
196
|
+
executed the first time *any* client library is instantiated in your application, and only if the affected loggers have not been previously configured.
|
|
197
|
+
(This is the reason for 2.i. above.)
|