mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 10:36:53 +00:00
152 lines
5.4 KiB
Python
152 lines
5.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Packaging logic for Flake8."""
|
|
import functools
|
|
import io
|
|
import os
|
|
import sys
|
|
|
|
import setuptools
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src')) # noqa
|
|
|
|
import flake8
|
|
|
|
|
|
tests_require = ['mock >= 2.0.0', 'pytest']
|
|
|
|
# NOTE(sigmavirus24): When updating these requirements, update them in
|
|
# setup.cfg as well.
|
|
requires = [
|
|
# We document the reasoning for using ranges here:
|
|
# http://flake8.pycqa.org/en/latest/faq.html#why-does-flake8-use-ranges-for-its-dependencies
|
|
# And in which releases we will update those ranges here:
|
|
# http://flake8.pycqa.org/en/latest/internal/releases.html#releasing-flake8
|
|
"entrypoints >= 0.2.3, < 0.3.0",
|
|
"pyflakes >= 2.0.0, < 2.1.0",
|
|
"pycodestyle >= 2.4.0, < 2.5.0",
|
|
"mccabe >= 0.6.0, < 0.7.0",
|
|
]
|
|
|
|
extras_require = {
|
|
":python_version<'3.4'": ['enum34'],
|
|
":python_version<'3.2'": ['configparser'],
|
|
}
|
|
|
|
if int(setuptools.__version__.split('.')[0]) < 18:
|
|
extras_require = {}
|
|
if sys.version_info < (3, 4):
|
|
requires.append('enum34')
|
|
if sys.version_info < (3, 2):
|
|
requires.append('configparser')
|
|
|
|
|
|
def get_long_description():
|
|
"""Generate a long description from the README file."""
|
|
descr = []
|
|
for fname in ('README.rst',):
|
|
with io.open(fname, encoding='utf-8') as f:
|
|
descr.append(f.read())
|
|
return '\n\n'.join(descr)
|
|
|
|
|
|
PEP8 = 'pycodestyle'
|
|
_FORMAT = '{0}.{1} = {0}:{1}'
|
|
PEP8_PLUGIN = functools.partial(_FORMAT.format, PEP8)
|
|
|
|
|
|
setuptools.setup(
|
|
name="flake8",
|
|
license="MIT",
|
|
version=flake8.__version__,
|
|
description="the modular source code checker: pep8, pyflakes and co",
|
|
long_description=get_long_description(),
|
|
author="Tarek Ziade",
|
|
author_email="tarek@ziade.org",
|
|
maintainer="Ian Stapleton Cordasco",
|
|
maintainer_email="graffatcolmingov@gmail.com",
|
|
url="https://gitlab.com/pycqa/flake8",
|
|
package_dir={"": "src"},
|
|
packages=[
|
|
"flake8",
|
|
"flake8.api",
|
|
"flake8.formatting",
|
|
"flake8.main",
|
|
"flake8.options",
|
|
"flake8.plugins",
|
|
],
|
|
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
|
|
install_requires=requires,
|
|
extras_require=extras_require,
|
|
entry_points={
|
|
'distutils.commands': [
|
|
'flake8 = flake8.main.setuptools_command:Flake8'
|
|
],
|
|
'console_scripts': [
|
|
'flake8 = flake8.main.cli:main'
|
|
],
|
|
'flake8.extension': [
|
|
'F = flake8.plugins.pyflakes:FlakesChecker',
|
|
# PEP-0008 checks provided by PyCQA/pycodestyle
|
|
PEP8_PLUGIN('tabs_or_spaces'),
|
|
PEP8_PLUGIN('tabs_obsolete'),
|
|
PEP8_PLUGIN('trailing_whitespace'),
|
|
PEP8_PLUGIN('trailing_blank_lines'),
|
|
PEP8_PLUGIN('maximum_line_length'),
|
|
PEP8_PLUGIN('blank_lines'),
|
|
PEP8_PLUGIN('extraneous_whitespace'),
|
|
PEP8_PLUGIN('whitespace_around_keywords'),
|
|
PEP8_PLUGIN('missing_whitespace_after_import_keyword'),
|
|
PEP8_PLUGIN('missing_whitespace'),
|
|
PEP8_PLUGIN('indentation'),
|
|
PEP8_PLUGIN('continued_indentation'),
|
|
PEP8_PLUGIN('whitespace_before_parameters'),
|
|
PEP8_PLUGIN('whitespace_around_operator'),
|
|
PEP8_PLUGIN('missing_whitespace_around_operator'),
|
|
PEP8_PLUGIN('whitespace_around_comma'),
|
|
PEP8_PLUGIN('whitespace_around_named_parameter_equals'),
|
|
PEP8_PLUGIN('whitespace_before_comment'),
|
|
PEP8_PLUGIN('imports_on_separate_lines'),
|
|
PEP8_PLUGIN('module_imports_on_top_of_file'),
|
|
PEP8_PLUGIN('compound_statements'),
|
|
PEP8_PLUGIN('explicit_line_join'),
|
|
PEP8_PLUGIN('break_after_binary_operator'),
|
|
PEP8_PLUGIN('break_before_binary_operator'),
|
|
PEP8_PLUGIN('comparison_to_singleton'),
|
|
PEP8_PLUGIN('comparison_negative'),
|
|
PEP8_PLUGIN('comparison_type'),
|
|
PEP8_PLUGIN('ambiguous_identifier'),
|
|
PEP8_PLUGIN('bare_except'),
|
|
PEP8_PLUGIN('python_3000_has_key'),
|
|
PEP8_PLUGIN('python_3000_raise_comma'),
|
|
PEP8_PLUGIN('python_3000_not_equal'),
|
|
PEP8_PLUGIN('python_3000_backticks'),
|
|
PEP8_PLUGIN('python_3000_invalid_escape_sequence'),
|
|
PEP8_PLUGIN('python_3000_async_await_keywords'),
|
|
],
|
|
'flake8.report': [
|
|
'default = flake8.formatting.default:Default',
|
|
'pylint = flake8.formatting.default:Pylint',
|
|
'quiet-filename = flake8.formatting.default:FilenameOnly',
|
|
'quiet-nothing = flake8.formatting.default:Nothing',
|
|
],
|
|
},
|
|
classifiers=[
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: Console",
|
|
"Framework :: Flake8",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 2",
|
|
"Programming Language :: Python :: 2.7",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.4",
|
|
"Programming Language :: Python :: 3.5",
|
|
"Programming Language :: Python :: 3.6",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: Software Development :: Quality Assurance",
|
|
],
|
|
tests_require=tests_require,
|
|
setup_requires=['pytest-runner'],
|
|
)
|