blob: 40dbc0f1500a67fe8027faa638916a9d83d41e58 [file] [log] [blame]
Craig Citro751b7fb2014-09-23 11:20:38 -07001# Copyright 2014 Google Inc. All Rights Reserved.
Tom Miller7c95d812010-10-11 11:50:52 -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.
Joe Gregorio48d361f2010-08-18 13:19:21 -040014
Tom Miller7c95d812010-10-11 11:50:52 -070015"""Setup script for Google API Python client.
16
17Also installs included versions of third party libraries, if those libraries
18are not already installed.
19"""
Craig Citroa540cf72014-08-18 22:50:58 -070020from __future__ import print_function
21
22import sys
23
Craig Citro06823722014-10-15 11:48:30 -070024if sys.version_info < (2, 6):
Craig Citro28467c82014-10-09 00:15:00 -070025 print('google-api-python-client requires python version >= 2.6.',
26 file=sys.stderr)
Craig Citroa540cf72014-08-18 22:50:58 -070027 sys.exit(1)
28
Joe Gregorio336b9782011-09-15 14:35:54 -040029from setuptools import setup
Craig Citrof6b454c2014-10-15 22:54:52 -070030import pkg_resources
31
32def _DetectBadness():
33 import os
34 if 'SKIP_GOOGLEAPICLIENT_COMPAT_CHECK' in os.environ:
35 return
36 o2c_pkg = None
37 try:
38 o2c_pkg = pkg_resources.get_distribution('oauth2client')
39 except pkg_resources.DistributionNotFound:
40 pass
41 oauth2client = None
42 try:
43 import oauth2client
44 except ImportError:
45 pass
46 if o2c_pkg is None and oauth2client is not None:
47 raise RuntimeError(
48 'Previous version of google-api-python-client detected; due to a '
49 'packaging issue, we cannot perform an in-place upgrade. Please remove '
50 'the old version and re-install this package.'
51 )
52
53_DetectBadness()
Joe Gregorio01b92702011-03-23 21:44:42 -040054
Joe Gregorio6429bf62011-03-01 22:53:21 -080055packages = [
Craig Citro7547de62014-10-13 09:21:08 -070056 'apiclient',
John Asmuth864311d2014-04-24 15:46:08 -040057 'googleapiclient',
John Asmuth864311d2014-04-24 15:46:08 -040058]
Joe Gregorio5cdaa512011-03-28 16:41:55 -040059
Joe Gregoriod667c9d2011-10-17 13:25:24 -040060install_requires = [
Joe Gregorio3cc9a452013-03-07 10:08:39 -050061 'httplib2>=0.8',
Craig Citro28467c82014-10-09 00:15:00 -070062 'oauth2client>=1.3',
Craig Citro951b75f2014-08-18 23:14:20 -070063 'uritemplate>=0.6',
John Asmuth864311d2014-04-24 15:46:08 -040064]
Joe Gregorio6429bf62011-03-01 22:53:21 -080065
Craig Citro06823722014-10-15 11:48:30 -070066if sys.version_info < (2, 7):
67 install_requires.append('argparse')
68
Joe Gregorio3ad5e9a2010-12-09 15:01:04 -050069long_desc = """The Google API Client for Python is a client library for
Joe Gregorioc4fc0952011-11-09 12:21:11 -050070accessing the Plus, Moderator, and many other Google APIs."""
Tom Miller7c95d812010-10-11 11:50:52 -070071
John Asmuth864311d2014-04-24 15:46:08 -040072import googleapiclient
73version = googleapiclient.__version__
Joe Gregorio696583c2012-03-21 15:20:51 -040074
John Asmuth864311d2014-04-24 15:46:08 -040075setup(
76 name="google-api-python-client",
77 version=version,
78 description="Google API Client Library for Python",
79 long_description=long_desc,
Craig Citro9b906772014-10-09 00:21:10 -070080 author="Google Inc.",
John Asmuth864311d2014-04-24 15:46:08 -040081 url="http://github.com/google/google-api-python-client/",
82 install_requires=install_requires,
83 packages=packages,
84 package_data={},
85 license="Apache 2.0",
86 keywords="google api client",
87 classifiers=[
88 'Development Status :: 5 - Production/Stable',
89 'Intended Audience :: Developers',
90 'License :: OSI Approved :: Apache Software License',
91 'Operating System :: POSIX',
92 'Topic :: Internet :: WWW/HTTP',
93 ],
John Asmuth864311d2014-04-24 15:46:08 -040094)