Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 1 | # Copyright (C) 2010 Google Inc. |
| 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. |
Joe Gregorio | 48d361f | 2010-08-18 13:19:21 -0400 | [diff] [blame] | 14 | |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 15 | """Setup script for Google API Python client. |
| 16 | |
| 17 | Also installs included versions of third party libraries, if those libraries |
| 18 | are not already installed. |
| 19 | """ |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 20 | import setup_utils |
| 21 | |
Joe Gregorio | 5cdaa51 | 2011-03-28 16:41:55 -0400 | [diff] [blame] | 22 | has_setuptools = False |
| 23 | try: |
| 24 | from setuptools import setup |
| 25 | has_setuptools = True |
| 26 | except ImportError: |
| 27 | from distutils.core import setup |
Joe Gregorio | 01b9270 | 2011-03-23 21:44:42 -0400 | [diff] [blame] | 28 | |
Joe Gregorio | 6429bf6 | 2011-03-01 22:53:21 -0800 | [diff] [blame] | 29 | packages = [ |
| 30 | 'apiclient', |
| 31 | 'oauth2client', |
| 32 | 'apiclient.ext', |
| 33 | 'apiclient.contrib', |
| 34 | 'apiclient.contrib.buzz', |
| 35 | 'apiclient.contrib.latitude', |
| 36 | 'apiclient.contrib.moderator', |
Joe Gregorio | 4258d6b | 2011-03-18 10:20:16 -0400 | [diff] [blame] | 37 | 'uritemplate', |
Joe Gregorio | 6429bf6 | 2011-03-01 22:53:21 -0800 | [diff] [blame] | 38 | ] |
Joe Gregorio | 5cdaa51 | 2011-03-28 16:41:55 -0400 | [diff] [blame] | 39 | |
| 40 | install_requires = [] |
Joe Gregorio | 01b9270 | 2011-03-23 21:44:42 -0400 | [diff] [blame] | 41 | py_modules = [] |
Joe Gregorio | 6429bf6 | 2011-03-01 22:53:21 -0800 | [diff] [blame] | 42 | |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 43 | |
Joe Gregorio | 5cdaa51 | 2011-03-28 16:41:55 -0400 | [diff] [blame] | 44 | # (module to test for, install_requires to add if missing, packages to add if missing, py_modules to add if missing) |
| 45 | REQUIREMENTS = [ |
| 46 | ('httplib2', 'httplib2', 'httplib2', None), |
| 47 | ('oauth2', 'oauth2', 'oauth2', None), |
| 48 | ('gflags', 'python-gflags', None, ['gflags', 'gflags_validators']), |
| 49 | (['json', 'simplejson', 'django.utils'], 'simplejson', 'simplejson', None) |
| 50 | ] |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 51 | |
Joe Gregorio | 5cdaa51 | 2011-03-28 16:41:55 -0400 | [diff] [blame] | 52 | for import_name, requires, package, modules in REQUIREMENTS: |
| 53 | if setup_utils.is_missing(import_name): |
| 54 | if has_setuptools: |
| 55 | install_requires.append(requires) |
| 56 | else: |
| 57 | if package is not None: |
| 58 | packages.append(package) |
| 59 | else: |
| 60 | py_modules.extend(modules) |
| 61 | |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 62 | |
Joe Gregorio | 3ad5e9a | 2010-12-09 15:01:04 -0500 | [diff] [blame] | 63 | long_desc = """The Google API Client for Python is a client library for |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 64 | accessing the Buzz, Moderator, and Latitude APIs.""" |
| 65 | |
Joe Gregorio | 48d361f | 2010-08-18 13:19:21 -0400 | [diff] [blame] | 66 | setup(name="google-api-python-client", |
Joe Gregorio | 351b149 | 2011-05-08 23:32:46 -0700 | [diff] [blame] | 67 | version="1.0beta2", |
Joe Gregorio | 48d361f | 2010-08-18 13:19:21 -0400 | [diff] [blame] | 68 | description="Google API Client Library for Python", |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 69 | long_description=long_desc, |
Joe Gregorio | 48d361f | 2010-08-18 13:19:21 -0400 | [diff] [blame] | 70 | author="Joe Gregorio", |
| 71 | author_email="jcgregorio@google.com", |
| 72 | url="http://code.google.com/p/google-api-python-client/", |
Joe Gregorio | 5cdaa51 | 2011-03-28 16:41:55 -0400 | [diff] [blame] | 73 | install_requires=install_requires, |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 74 | packages=packages, |
Joe Gregorio | 01b9270 | 2011-03-23 21:44:42 -0400 | [diff] [blame] | 75 | py_modules=py_modules, |
Joe Gregorio | 6429bf6 | 2011-03-01 22:53:21 -0800 | [diff] [blame] | 76 | package_data={ |
| 77 | 'apiclient': ['contrib/*/*.json'] |
| 78 | }, |
Joe Gregorio | bce596b | 2011-04-05 00:45:40 -0400 | [diff] [blame] | 79 | scripts=['bin/enable-app-engine-project'], |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 80 | license="Apache 2.0", |
| 81 | keywords="google api client", |
Joe Gregorio | c47fab7 | 2011-07-06 08:29:20 -0400 | [diff] [blame] | 82 | classifiers=['Development Status :: 4 - Beta', |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 83 | 'Intended Audience :: Developers', |
| 84 | 'License :: OSI Approved :: Apache Software License', |
| 85 | 'Operating System :: POSIX', |
| 86 | 'Topic :: Internet :: WWW/HTTP']) |