From bec3a81186f2f4c802ff3a9439070bcc1df293f8 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Sat, 13 Aug 2016 12:03:09 +0200 Subject: [PATCH] Restructure setup.py See #487 --- docs/packaging.rst | 2 +- setup.py | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/docs/packaging.rst b/docs/packaging.rst index 6855462..dec370d 100644 --- a/docs/packaging.rst +++ b/docs/packaging.rst @@ -28,7 +28,7 @@ Dependency versions It is strongly discouraged to package vdirsyncer as a Python 2 application. Future releases will only work on Python 3.3 and newer versions. -As with most Python packages, ``setup.py`` denotes the runtime dependencies of +As with most Python packages, ``setup.py`` denotes the dependencies of vdirsyncer. It also contains lower-bound versions of each dependency. Older versions will be rejected by the testsuite. diff --git a/setup.py b/setup.py index 18e6e8e..386ca7b 100644 --- a/setup.py +++ b/setup.py @@ -53,28 +53,37 @@ class PrintRequirements(Command): print(requirement.replace(">", "=").replace(" ", "")) setup( + # General metadata name='vdirsyncer', - use_scm_version={ - 'write_to': 'vdirsyncer/version.py', - }, - setup_requires=['setuptools_scm'], author='Markus Unterwaditzer', author_email='markus@unterwaditzer.net', url='https://github.com/pimutils/vdirsyncer', description='Synchronize calendars and contacts', license='MIT', long_description=open('README.rst').read(), - packages=find_packages(exclude=['tests.*', 'tests']), - include_package_data=True, - entry_points={ - 'console_scripts': ['vdirsyncer = vdirsyncer.cli:main'] - }, + + # Runtime dependencies install_requires=requirements, + + # Optional dependencies extras_require={ 'remotestorage': ['requests-oauthlib'], 'google': ['requests-oauthlib'], }, + + # Build dependencies + setup_requires=['setuptools_scm'], + + # Other + packages=find_packages(exclude=['tests.*', 'tests']), + include_package_data=True, cmdclass={ 'minimal_requirements': PrintRequirements - } + }, + use_scm_version={ + 'write_to': 'vdirsyncer/version.py' + }, + entry_points={ + 'console_scripts': ['vdirsyncer = vdirsyncer.cli:main'] + }, )