]> git.phdru.name Git - mimedecode.git/blobdiff - setup.py
CI(travis): remove deprecated `sudo` keyword
[mimedecode.git] / setup.py
index 09bae63d31b2d8844c97d45fc0d8e10f2b17108b..6c7aa1cb26d20729b7ec4499e54351eb26206007 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -1,24 +1,27 @@
 #! /usr/bin/env python
 
-from imp import load_source
 from os.path import abspath, dirname, join
+from setuptools import setup
+import sys
 
-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__)), "mimedecode", "__version__.py")
-mimedecode_version = load_source("mimedecode_version", versionpath)
+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
 
-kw = {}
-if is_setuptools:
-    kw['install_requires'] = ['m_lib.defenc>=1.0']
-    kw['tests_require'] = ['m_lib>=3.1']
-    kw['python_requires'] = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*'
+else:
+    raise ImportError("mimedecode requires Python 2.7 or 3.4+")
 
+versionpath = join(abspath(dirname(__file__)), "mimedecode", "__version__.py")
+mimedecode_version = load_source("mimedecode_version", versionpath)
 
 setup(
     name="mimedecode",
@@ -26,9 +29,20 @@ setup(
     description="A program to decode MIME messages",
     long_description="A program to decode MIME messages. " +
     mimedecode_version.__copyright__,
+    long_description_content_type="text/plain",
     author="Oleg Broytman",
     author_email="phd@phdru.name",
-    url="http://phdru.name/Software/Python/#mimedecode",
+    url="https://phdru.name/Software/Python/#mimedecode",
+    project_urls={
+        'Homepage': 'https://phdru.name/Software/Python/#mimedecode',
+        'Documentation': 'https://phdru.name/Software/Python/mimedecode.html',
+        'Download':
+            'https://phdru.name/Software/Python/'
+            'mimedecode-%s.tar.bz2' % mimedecode_version.__version__,
+        'Git repo': 'https://git.phdru.name/mimedecode.git',
+        'Github repo': 'https://github.com/phdru/mimedecode',
+        'Issue tracker': 'https://github.com/phdru/mimedecode/issues',
+    },
     license=mimedecode_version.__license__,
     keywords=['email', 'MIME'],
     platforms="Any",
@@ -43,10 +57,10 @@ 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=['mimedecode'],
     entry_points={
@@ -54,5 +68,7 @@ setup(
             'mimedecode = mimedecode.__main__:main'
         ]
     },
-    **kw
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+    install_requires=['m_lib.defenc>=1.0'],
+    tests_require=['m_lib>=3.1'],
 )