#!/usr/bin/env python
#
# Copyright 2013 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Setup configuration."""

import platform

try:
    import setuptools
except ImportError:
    from ez_setup import use_setuptools
    use_setuptools()
    import setuptools

# Configure the required packages and scripts to install, depending on
# Python version and OS.
REQUIRED_PACKAGES = [
    'httplib2',
    'oauth2client',
    'protorpc',
    'python-dateutil',
    'pytz',
    ]

CLI_PACKAGES = [
    'google-apputils',
    'python-gflags',
]

TESTING_PACKAGES = [
    'google-apputils',
    'mock',
]

PINNED_PACKAGES = [
    'google-apputils==0.4.0',
    'httplib2==0.8',
    'mock==1.0.1',
    'oauth2client==1.2',
    'protorpc==0.9.1',
    'python-dateutil==1.5',
    'python-gflags==2.0',
    'pytz==2013.7',
    ]

CONSOLE_SCRIPTS = [
    'gen_client = apitools.gen.gen_client:run_main',
    ]

py_version = platform.python_version()

if py_version < '2.7':
  REQUIRED_PACKAGES.append('unittest2==0.5.1')
  REQUIRED_PACKAGES.append('argparse==1.2.1')

_APITOOLS_VERSION = '0.3'

setuptools.setup(
    name='apitools',
    version=_APITOOLS_VERSION,
    description='client libraries for humans',
    url='http://github.com/craigcitro/apitools',
    author='Craig Citro',
    author_email='craigcitro@google.com',
    # Contained modules and scripts.
    packages=setuptools.find_packages(),
    entry_points={
        'console_scripts': CONSOLE_SCRIPTS,
        },
    install_requires=REQUIRED_PACKAGES,
    tests_require=REQUIRED_PACKAGES + CLI_PACKAGES + TESTING_PACKAGES,
    extras_require={
        'pinned': PINNED_PACKAGES,
        'cli': CLI_PACKAGES,
        'testing': TESTING_PACKAGES,
        },
    provides=[
        'apitools (%s)' % (_APITOOLS_VERSION,),
        ],
    # PyPI package information.
    classifiers=[
        'License :: OSI Approved :: Apache Software License',
        'Topic :: Software Development :: Libraries',
        'Topic :: Software Development :: Libraries :: Python Modules',
        ],
    license='Apache 2.0',
    keywords='apitools',
    )

@@ -919,16 +919,21 @@
 httplib2
+%3E=0.8
 ',%0A    '
@@ -944,16 +944,21 @@
 h2client
+%3E=1.2
 ',%0A    '
@@ -969,43 +969,15 @@
 orpc
-',%0A    'python-dateutil',%0A    'pytz
+%3E=0.9.1
 ',%0A 
@@ -1011,32 +1011,39 @@
 'google-apputils
+%3E=0.4.0
 ',%0A    'python-g
@@ -1047,16 +1047,21 @@
 n-gflags
+%3E=2.0
 ',%0A%5D%0A%0ATE
@@ -1103,242 +1103,37 @@
 tils
-',%0A    'mock',%0A%5D%0A%0APINNED_PACKAGES = %5B%0A    'google-apputils==0.4.0',%0A    'httplib2==0.8',%0A    'mock==1.0.1',%0A    'oauth2client==1.2',%0A    'protorpc==0.9.1',%0A    'python-dateutil==1.5',%0A    'python-gflags==2.0',%0A    'pytz==2013.7',%0A    
+%3E=0.4.0',%0A    'mock%3E=1.0.1',%0A
 %5D%0A%0AC
@@ -1274,16 +1274,18 @@
  '2.7':%0A
+  
   REQUIR
@@ -1323,16 +1323,18 @@
 0.5.1')%0A
+  
   REQUIR
@@ -1921,43 +1921,8 @@
 e=%7B%0A
-        'pinned': PINNED_PACKAGES,%0A
     

Simplify package requirements.