]> git.phdru.name Git - ppu.git/blobdiff - setup.py
Build(setup.py): Use `importlib` instead of deprecated `imp` for Python 3.4+
[ppu.git] / setup.py
index f384380e506642386d3058417846011072d68d0f..3dce134013dd6d53e49e7c8fa6dcda993f9cad8f 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -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("ppu requires Python 2.7 or 3.4+")
 
 versionpath = join(abspath(dirname(__file__)), "ppu", "__version__.py")
 ppu_version = load_source("ppu_version", versionpath)
@@ -15,13 +31,13 @@ setup(
     long_description_content_type="text/x-rst",
     author='Oleg Broytman',
     author_email='phd@phdru.name',
-    url='http://phdru.name/Software/Python/ppu/',
+    url='https://phdru.name/Software/Python/ppu/',
     project_urls={
-        'Homepage': 'http://phdru.name/Software/Python/ppu/',
-        'Documentation': 'http://phdru.name/Software/Python/ppu/docs/',
-        'Download': 'https://pypi.python.org/pypi/ppu/%s'
+        'Homepage': 'https://phdru.name/Software/Python/ppu/',
+        'Documentation': 'https://phdru.name/Software/Python/ppu/docs/',
+        'Download': 'https://pypi.org/project/ppu/%s/'
         % ppu_version.__version__,
-        'Git repo': 'http://git.phdru.name/ppu.git/',
+        'Git repo': 'https://git.phdru.name/ppu.git/',
         'Github repo': 'https://github.com/phdru/ppu',
         'Issue tracker': 'https://github.com/phdru/ppu/issues',
     },
@@ -38,15 +54,15 @@ 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',
     ],
     packages=['ppu'],
     scripts=[
         'scripts/cmp.py', 'scripts/remove-old-files.py', 'scripts/rm.py',
         'scripts/which.py',
     ],
-    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*',
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
 )