#! /usr/bin/env python
-try:
- from setuptools import setup
- is_setuptools = True
-except ImportError:
- from distutils.core import setup
- is_setuptools = False
+from os.path import abspath, dirname, join
+from setuptools import setup
+import sys
-kw = {}
-if is_setuptools:
- kw['install_requires'] = ['m_lib.defenc>=1.0']
- kw['tests_require'] = ['m_lib>=3.1']
+versionpath = join(abspath(dirname(__file__)), 'mimedecode', '__version__.py')
+mimedecode_version = {}
-from mimedecode_version import __version__, __copyright__, __license__
+if sys.version_info[:2] == (2, 7):
+ execfile(versionpath, mimedecode_version) # noqa: F821 'execfile' Py3
-setup(name = "mimedecode",
- version = __version__,
- description = "A program to decode MIME messages",
- long_description = "A program to decode MIME messages. " + __copyright__,
- author = "Oleg Broytman",
- author_email = "phd@phdru.name",
- url = "http://phdru.name/Software/Python/#mimedecode",
- license = __license__,
+elif sys.version_info >= (3, 4):
+ exec(open(versionpath, 'r').read(), mimedecode_version)
+
+else:
+ raise ImportError("mimedecode requires Python 2.7 or 3.4+")
+
+setup(
+ name="mimedecode",
+ version=mimedecode_version['__version__'],
+ 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="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",
+ platforms="Any",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Operating System :: OS Independent',
+ 'Programming Language :: Python :: Implementation :: CPython',
+ 'Programming Language :: Python :: Implementation :: PyPy',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 2 :: Only',
'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',
+ 'Programming Language :: Python :: 3.12',
+ 'Programming Language :: Python :: 3.13',
],
- py_modules = ['formatparam_27', 'mimedecode_version'],
- scripts = ['mimedecode.py'],
- **kw
+ packages=['mimedecode'],
+ entry_points={
+ 'console_scripts': [
+ 'mimedecode = mimedecode.__main__:main'
+ ]
+ },
+ 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'],
)