blob: 26fab7e6bbb8c020e7049fe54e232d39b874cda5 [file] [log] [blame]
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -08001# Copyright 2018 Google LLC
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -07002#
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
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080015import io
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -070016import os
17
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080018import setuptools
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -070019
20
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080021# Package metadata.
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -070022
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080023name = "google-api-core"
24description = "Google API client core library"
Christopher Wilcoxd480d972020-10-05 12:06:00 -070025
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080026# Should be one of:
27# 'Development Status :: 3 - Alpha'
28# 'Development Status :: 4 - Beta'
Jon Wayne Parrotta7309d72018-03-15 08:52:22 -070029# 'Development Status :: 5 - Production/Stable'
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080030release_status = "Development Status :: 5 - Production/Stable"
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080031dependencies = [
Tres Seaver13eea092019-07-17 14:46:56 -040032 "googleapis-common-protos >= 1.6.0, < 2.0dev",
Bu Sun Kim1ba60952020-06-16 09:40:08 -070033 "protobuf >= 3.12.0",
Bu Sun Kim155da5e2021-05-20 09:02:17 -060034 "google-auth >= 1.25.0, < 2.0dev",
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080035 "requests >= 2.18.0, < 3.0.0dev",
Bu Sun Kimc5fee892021-01-13 14:46:03 -070036 "setuptools >= 40.3.0",
Bu Sun Kim94c76e02021-02-05 10:26:54 -070037 "packaging >= 14.3",
Bu Sun Kima7a8b982020-10-02 14:07:39 -060038 "six >= 1.13.0",
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080039 "pytz",
40 'futures >= 3.2.0; python_version < "3.2"',
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080041]
42extras = {
Lidi Zheng4b114222020-06-05 19:21:33 -070043 "grpc": "grpcio >= 1.29.0, < 2.0dev",
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080044 "grpcgcp": "grpcio-gcp >= 0.2.2",
45 "grpcio-gcp": "grpcio-gcp >= 0.2.2",
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080046}
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -070047
48
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080049# Setup boilerplate below this line.
50
51package_root = os.path.abspath(os.path.dirname(__file__))
52
Christopher Wilcoxdb8e6362020-10-06 10:33:09 -070053
54version = {}
55with open(os.path.join(package_root, "google/api_core/version.py")) as fp:
56 exec(fp.read(), version)
Tres Seaverfdbed0f2020-12-10 15:19:02 -050057version = version["__version__"]
Christopher Wilcoxdb8e6362020-10-06 10:33:09 -070058
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080059readme_filename = os.path.join(package_root, "README.rst")
60with io.open(readme_filename, encoding="utf-8") as readme_file:
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080061 readme = readme_file.read()
62
63# Only include packages under the 'google' namespace. Do not include tests,
64# benchmarks, etc.
65packages = [
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080066 package for package in setuptools.find_packages() if package.startswith("google")
67]
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080068
69# Determine which namespaces are needed.
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080070namespaces = ["google"]
71if "google.cloud" in packages:
72 namespaces.append("google.cloud")
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080073
74
75setuptools.setup(
76 name=name,
Dan Leef87bccb2021-04-26 13:10:31 -040077 version=version,
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080078 description=description,
79 long_description=readme,
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080080 author="Google LLC",
81 author_email="googleapis-packages@google.com",
82 license="Apache 2.0",
Bu Sun Kime72202e2020-02-19 17:58:47 -080083 url="https://github.com/googleapis/python-api-core",
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -080084 classifiers=[
85 release_status,
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080086 "Intended Audience :: Developers",
87 "License :: OSI Approved :: Apache Software License",
88 "Programming Language :: Python",
89 "Programming Language :: Python :: 2",
90 "Programming Language :: Python :: 2.7",
91 "Programming Language :: Python :: 3",
92 "Programming Language :: Python :: 3.5",
93 "Programming Language :: Python :: 3.6",
94 "Programming Language :: Python :: 3.7",
Tres Seaverfdbed0f2020-12-10 15:19:02 -050095 "Programming Language :: Python :: 3.8",
96 "Programming Language :: Python :: 3.9",
Christopher Wilcox6f4070d2018-11-29 11:02:52 -080097 "Operating System :: OS Independent",
98 "Topic :: Internet",
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -070099 ],
Christopher Wilcox6f4070d2018-11-29 11:02:52 -0800100 platforms="Posix; MacOS X; Windows",
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -0800101 packages=packages,
102 namespace_packages=namespaces,
103 install_requires=dependencies,
104 extras_require=extras,
Tres Seaver9ac37082020-12-14 12:44:10 -0500105 python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*",
Jon Wayne Parrottc0f12e22018-02-22 10:28:50 -0800106 include_package_data=True,
107 zip_safe=False,
Jon Wayne Parrott77fb0f22017-10-18 12:52:35 -0700108)