"""A setuptools based setup module. See: https://packaging.python.org/en/latest/distributing.html https://github.com/pypa/sampleproject """ # To use a consistent encoding from codecs import open from os import path # Always prefer setuptools over distutils from setuptools import setup, find_packages # For matching the version string. import re this_module = 'services' here = path.abspath(path.dirname(__file__)) # Get the long description from the README file with open(path.join(here, 'README.txt'), encoding='utf-8') as f: long_description = f.read() def read(*parts): with open(path.join(here, *parts), 'r') as fp: return fp.read() def find_version(*file_paths): version_file = read(*file_paths) version_match = re.search(r"^___version___ = ['\"]([^'\"]*)['\"]", version_file, re.M) if version_match: return version_match.group(1) raise RuntimeError("Unable to find version string.") requires = [ 'pycapo', 'pyramid', 'pyramid_beaker', 'pyramid_debugtoolbar', 'pyramid_tm', 'requests', 'ssa-schema', 'sqlalchemy', 'waitress', 'zope.sqlalchemy' ] setup( name='ssa-' + this_module, # Versions should comply with PEP440. For a discussion on single-sourcing # the version across setup.py and the project code, see # https://packaging.python.org/en/latest/single_source_version.html version=find_version(this_module, '_version.py'), description='Services: the AAT-PPI services module', long_description=long_description, # Author details author='Daniel Lyons', author_email='dlyons@nrao.edu', # Choose your license license='GPL', # See https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ # How mature is this project? Common values are # 3 - Alpha # 4 - Beta # 5 - Production/Stable 'Development Status :: 4 - Beta', # Indicate who your project is intended for 'Intended Audience :: Developers', 'Topic :: Software Development :: Build Tools', # Pick your license as you wish (should match "license" above) 'License :: OSI Approved :: GPL License', # Specify the Python versions you support here. In particular, ensure # that you indicate whether you support Python 2, Python 3 or both. 'Programming Language :: Python :: 3.6', ], install_requires=requires, extras_require={ 'dev': [ 'pyramid_debugtoolbar', ], }, packages=find_packages(), entry_points={ 'paste.app_factory': [ 'main = services:main' ], }, )