Restructure setup.py

See #487
This commit is contained in:
Markus Unterwaditzer 2016-08-13 12:03:09 +02:00
parent dc8c1402c2
commit bec3a81186
2 changed files with 20 additions and 11 deletions

View file

@ -28,7 +28,7 @@ Dependency versions
It is strongly discouraged to package vdirsyncer as a Python 2 application. It is strongly discouraged to package vdirsyncer as a Python 2 application.
Future releases will only work on Python 3.3 and newer versions. 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 vdirsyncer. It also contains lower-bound versions of each dependency. Older
versions will be rejected by the testsuite. versions will be rejected by the testsuite.

View file

@ -53,28 +53,37 @@ class PrintRequirements(Command):
print(requirement.replace(">", "=").replace(" ", "")) print(requirement.replace(">", "=").replace(" ", ""))
setup( setup(
# General metadata
name='vdirsyncer', name='vdirsyncer',
use_scm_version={
'write_to': 'vdirsyncer/version.py',
},
setup_requires=['setuptools_scm'],
author='Markus Unterwaditzer', author='Markus Unterwaditzer',
author_email='markus@unterwaditzer.net', author_email='markus@unterwaditzer.net',
url='https://github.com/pimutils/vdirsyncer', url='https://github.com/pimutils/vdirsyncer',
description='Synchronize calendars and contacts', description='Synchronize calendars and contacts',
license='MIT', license='MIT',
long_description=open('README.rst').read(), long_description=open('README.rst').read(),
packages=find_packages(exclude=['tests.*', 'tests']),
include_package_data=True, # Runtime dependencies
entry_points={
'console_scripts': ['vdirsyncer = vdirsyncer.cli:main']
},
install_requires=requirements, install_requires=requirements,
# Optional dependencies
extras_require={ extras_require={
'remotestorage': ['requests-oauthlib'], 'remotestorage': ['requests-oauthlib'],
'google': ['requests-oauthlib'], 'google': ['requests-oauthlib'],
}, },
# Build dependencies
setup_requires=['setuptools_scm'],
# Other
packages=find_packages(exclude=['tests.*', 'tests']),
include_package_data=True,
cmdclass={ cmdclass={
'minimal_requirements': PrintRequirements 'minimal_requirements': PrintRequirements
} },
use_scm_version={
'write_to': 'vdirsyncer/version.py'
},
entry_points={
'console_scripts': ['vdirsyncer = vdirsyncer.cli:main']
},
) )