X-Git-Url: https://git.phdru.name/?p=cookiecutter.git;a=blobdiff_plain;f=project_template%2Fsetup.py;h=8297efa6656c7c47a32c9c8d2f7051cf30a50c83;hp=3b4e7b0fab8feaaace107a53a709119230f50f91;hb=30a18d3f2facb32032ab8036b212111f6f715131;hpb=dae4deea2149aaf37ff6a45feb79e6ec6b294f71 diff --git a/project_template/setup.py b/project_template/setup.py index 3b4e7b0..8297efa 100755 --- a/project_template/setup.py +++ b/project_template/setup.py @@ -1,49 +1,70 @@ #!/usr/bin/env python -from imp import load_source from os.path import abspath, dirname, join +from setuptools import setup +import sys -try: - from ez_setup import use_setuptools - use_setuptools() -except ImportError: - pass -try: - from setuptools import setup - is_setuptools = True -except ImportError: - from distutils.core import setup - is_setuptools = False +if sys.version_info[:2] == (2, 7): + from imp import load_source -versionpath = join(abspath(dirname(__file__)), 'project', '__version__.py') -load_source('project_version', versionpath) -# Ignore: E402 module level import not at top of file -from project_version import __version__ # noqa +elif sys.version_info >= (3, 4): + from importlib.machinery import SourceFileLoader + import types -setup(name='Template project', - version=__version__, - description='Broytman Template Project', - long_description=open('README.txt', 'rtU').read(), - author='Oleg Broytman', - author_email='phd@phdru.name', - url='http://phdru.name/Software/Python/', - license='GPL', - platforms=['any'], - keywords=[''], - classifiers=[ - 'Development Status :: 1 - Planning', - 'Environment :: Console', - 'Environment :: Web Environment', - 'Intended Audience :: End Users/Desktop', - 'License :: OSI Approved :: GNU General Public License (GPL)', - 'Operating System :: OS Independent', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 2 :: Only', - ], - packages=['project'], - package_data={'project': []}, - scripts=[], - requires=[], - ) + def load_source(fullname, path): + loader = SourceFileLoader(fullname, path) + loaded = types.ModuleType(loader.name) + loader.exec_module(loaded) + return loaded + +else: + raise ImportError("{project} requires Python 2.7 or 3.4+") + +versionpath = join(abspath(dirname(__file__)), '{project}', '__version__.py') +{project}_version = load_source('{project}_version', versionpath) + +setup( + name='{project}', + version={project}_version.__version__, + description='Broytman {project}', + long_description=open('README.rst', 'rU').read(), + long_description_content_type="text/x-rst", + author='Oleg Broytman', + author_email='phd@phdru.name', + url='https://phdru.name/Software/Python/{project}', + download_url='https://phdru.name/Software/Python/{project}', + project_urls={ + 'Homepage': 'https://phdru.name/Software/Python/{project}', + 'Documentation': + 'https://phdru.name/Software/Python/{project}/docs/', + 'Russian docs': + 'https://phdru.name/Software/Python/{project}/docs/ru/', + 'Download': 'https://phdru.name/Software/Python/{project}', + 'Git repo': 'https://git.phdru.name/{project}.git/', + 'Github repo': 'https://github.com/phdru/{project}', + 'Issue tracker': 'https://github.com/phdru/{project}/issues', + }, + license='GPL', + keywords=[''], + platforms='Any', + classifiers=[ + 'Development Status :: 1 - Planning', + 'Environment :: Console', + 'Environment :: Web Environment', + 'Intended Audience :: End Users/Desktop', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + ], + packages=['{project}'], + package_data={'{project}': []}, + scripts=[], + python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', + requires=[], +)