]> git.phdru.name Git - cookiecutter.git/blobdiff - project_template/setup.py
Fix(mk-project): `sed` requires `s` for substitute
[cookiecutter.git] / project_template / setup.py
index 21eeadb11ebe5888cc6dd7ac539433669197bdf5..cff05a0995420a908edd581f85c4105a2d291b89 100755 (executable)
@@ -1,8 +1,24 @@
 #!/usr/bin/env python
 
-from imp import load_source
 from os.path import abspath, dirname, join
 from setuptools import setup
+import sys
+
+if sys.version_info[:2] == (2, 7):
+    from imp import load_source
+
+elif sys.version_info >= (3, 4):
+    from importlib.machinery import SourceFileLoader
+    import types
+
+    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)
@@ -11,7 +27,7 @@ setup(
     name='{project}',
     version={project}_version.__version__,
     description='Broytman {project}',
-    long_description=open('README.rst', 'rU').read(),
+    long_description=open('README.rst', 'r').read(),
     long_description_content_type="text/x-rst",
     author='Oleg Broytman',
     author_email='phd@phdru.name',
@@ -41,14 +57,18 @@ setup(
         'Programming Language :: Python :: 2',
         'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.3',
         'Programming Language :: Python :: 3.4',
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
+        'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
     ],
     packages=['{project}'],
     package_data={'{project}': []},
     scripts=[],
-    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*',
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
     requires=[],
 )