-
Notifications
You must be signed in to change notification settings - Fork 173
/
setup.py
93 lines (81 loc) · 2.63 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# -*- coding: utf-8 -*-
# pylint: skip-file
import codecs
import os
import sys
from distutils.core import setup
from setuptools import find_packages
with open('prospector/__pkginfo__.py') as f:
exec(f.read())
_VERSION = globals()['__version__']
if sys.version_info < (2, 7):
raise Exception('Prospector %s requires Python 2.7 or higher.' % _VERSION)
_PACKAGES = find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"])
_INSTALL_REQUIRES = [
'pylint<2.0.0,>=1.5.6',
'pylint-plugin-utils>=0.2.6',
'pylint-common>=0.2.5',
'requirements-detector>=0.4.1',
'setoptconf>=0.2.0',
'dodgy>=0.1.9',
'pyyaml',
'mccabe>=0.5.0',
'pyflakes<2.0.0,>=0.8.1',
'pycodestyle<2.4.0,>=2.0.0',
'pep8-naming>=0.3.3',
'pydocstyle>=2.0.0',
]
_PACKAGE_DATA = {
'prospector': [
'blender_combinations.yaml',
]
}
profiledir = os.path.join(os.path.dirname(__file__), 'prospector/profiles/profiles')
_PACKAGE_DATA['prospector'] += [profile for profile in os.listdir(profiledir)]
_CLASSIFIERS = (
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Developers',
'Operating System :: Unix',
'Topic :: Software Development :: Quality Assurance',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'License :: OSI Approved :: '
'GNU General Public License v2 or later (GPLv2+)',
)
_OPTIONAL = {
'with_frosted': ('frosted>=1.4.1',),
'with_vulture': ('vulture>=0.6',),
'with_pyroma': ('pyroma==2.0.2',),
}
with_everything = [req for req_list in _OPTIONAL.values() for req in req_list]
_OPTIONAL['with_everything'] = sorted(with_everything)
if os.path.exists('README.rst'):
_LONG_DESCRIPTION = codecs.open('README.rst', 'r', 'utf-8').read()
else:
_LONG_DESCRIPTION = 'Prospector: python static analysis tool. See http://prospector.landscape.io'
setup(
name='prospector',
version=_VERSION,
url='http://prospector.landscape.io',
author='landscape.io',
author_email='code@landscape.io',
license='GPLv2',
zip_safe=False,
description='Prospector: python static analysis tool',
long_description=_LONG_DESCRIPTION,
keywords='pylint pyflakes pep8 mccabe frosted prospector static code analysis',
classifiers=_CLASSIFIERS,
package_data=_PACKAGE_DATA,
include_package_data=True,
packages=_PACKAGES,
entry_points={
'console_scripts': [
'prospector = prospector.run:main',
],
},
install_requires=_INSTALL_REQUIRES,
extras_require=_OPTIONAL,
)