summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorShivaram Lingamneni <slingamn@cs.stanford.edu>2012-05-01 19:34:07 -0700
committerShivaram Lingamneni <slingamn@cs.stanford.edu>2012-05-01 23:21:05 -0700
commitbdd7f8f8a2cffae76aee80f8eddac3e969cbe69a (patch)
treebe4cba7e479c6caae5f472e7f0a59ff30bac5413 /setup.py
parentd232948188f922c137dd709b53f77c49d1442c84 (diff)
downloadpython-requests-bdd7f8f8a2cffae76aee80f8eddac3e969cbe69a.tar.gz
Change setup.py to reflect required/optional dependencies
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py41
1 files changed, 26 insertions, 15 deletions
diff --git a/setup.py b/setup.py
index a080e8a8..7b57e4b2 100755
--- a/setup.py
+++ b/setup.py
@@ -1,27 +1,23 @@
#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-import os
+"""
+distutils/setuptools install script. See inline comments for packaging documentation.
+"""
+
import sys
+
import requests
-from requests.compat import is_py3, is_py2
+from requests.compat import is_py3
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
-
-
if sys.argv[-1] == 'publish':
os.system('python setup.py sdist upload')
sys.exit()
-if sys.argv[-1] == 'test':
- os.system('python tests/test_requests.py')
- sys.exit()
-
-required = ['certifi>=0.0.7']
packages = [
'requests',
'requests.packages',
@@ -31,12 +27,26 @@ packages = [
'requests.packages.urllib3.packages.mimetools_choose_boundary',
]
+# certifi is a Python package containing a CA certificate bundle for SSL verification.
+# On certain supported platforms (e.g., Red Hat / Debian / FreeBSD), Requests can
+# use the system CA bundle instead; see `requests.utils` for details.
+# If your platform is supported, set `requires` to [] instead:
+requires = ['certifi>=0.0.7']
+
+# chardet is used to optimally guess the encodings of pages that don't declare one.
+# At this time, chardet is not a required dependency. However, it's sufficiently
+# important that pip/setuptools should install it when it's unavailable.
if is_py3:
- required.append('chardet2')
+ chardet_package = 'chardet2'
else:
- required.append('chardet>=1.0.0')
- required.append('oauthlib')
- packages.append('requests.packages.oreos')
+ chardet_package = 'chardet>=1.0.0'
+requires.append(chardet_package)
+
+# The async API in requests.async requires the gevent package.
+# This is also not a required dependency.
+extras_require = {
+ 'async': ['gevent'],
+}
setup(
name='requests',
@@ -50,7 +60,8 @@ setup(
packages=packages,
package_data={'': ['LICENSE', 'NOTICE']},
include_package_data=True,
- install_requires=required,
+ install_requires=requires,
+ extras_require=extras_require,
license=open("LICENSE").read(),
classifiers=(
'Development Status :: 5 - Production/Stable',