1# Copyright 2016 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""Google Auth Library for Python."""
16
17import logging
18import sys
19import warnings
20
21from google.auth import version as google_auth_version
22from google.auth._default import (
23 default,
24 load_credentials_from_dict,
25 load_credentials_from_file,
26)
27
28
29__version__ = google_auth_version.__version__
30
31
32__all__ = ["default", "load_credentials_from_file", "load_credentials_from_dict"]
33
34
35class Python37DeprecationWarning(DeprecationWarning): # pragma: NO COVER
36 """
37 Deprecation warning raised when Python 3.7 runtime is detected.
38 Python 3.7 support will be dropped after January 1, 2024.
39 """
40
41 pass
42
43
44# Checks if the current runtime is Python 3.7.
45if sys.version_info.major == 3 and sys.version_info.minor == 7: # pragma: NO COVER
46 message = (
47 "After January 1, 2024, new releases of this library will drop support "
48 "for Python 3.7."
49 )
50 warnings.warn(message, Python37DeprecationWarning)
51
52# Set default logging handler to avoid "No handler found" warnings.
53logging.getLogger(__name__).addHandler(logging.NullHandler())