169 строки
4.1 KiB
TOML
169 строки
4.1 KiB
TOML
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
[build-system]
|
|
requires = ["setuptools >= 65"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
|
|
[project]
|
|
name = "comma"
|
|
description = "Linux Commit Analyzer"
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Topic :: Software Development",
|
|
]
|
|
dependencies = [
|
|
"approxidate",
|
|
"gitpython ~= 3.1.31",
|
|
"fuzzywuzzy[speedup] ~= 0.18.0",
|
|
"sqlalchemy[mssql] ~= 1.4.48",
|
|
"openpyxl ~= 3.1.2",
|
|
|
|
]
|
|
dynamic = ["version"]
|
|
license = {text = "MIT"}
|
|
readme = "README.md"
|
|
requires-python = ">=3.8"
|
|
authors = [
|
|
{name = "Ryan Feldman", email = "ryfeldma@microsoft.com"},
|
|
{name = "Abhishek Marathe", email = "abmarath@microsoft.com"},
|
|
{name = "Andrew Schwartzmeyer", email = "andrew@schwartzmeyer.com"},
|
|
]
|
|
|
|
[project.scripts]
|
|
comma = "comma.cli:main"
|
|
|
|
[project.optional-dependencies]
|
|
flake8 = [
|
|
"flake8 ~= 6.0.0",
|
|
"flake8-black ~= 0.3.6",
|
|
"flake8-bugbear ~= 23.3.23",
|
|
"flake8-isort ~= 6.0.0",
|
|
"Flake8-pyproject",
|
|
]
|
|
|
|
black = [
|
|
"black ~= 23.3.0",
|
|
]
|
|
|
|
isort = [
|
|
"isort ~= 5.12.0",
|
|
]
|
|
|
|
pylint = [
|
|
"pylint[spelling]",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://github.com/microsoft/Linux-CommA"
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
|
|
[tool.flake8]
|
|
max-line-length = 140 # Enfoced by black and pylint, only for extremely long lines
|
|
extend-exclude = [
|
|
"build",
|
|
"Repos",
|
|
".venv",
|
|
]
|
|
|
|
[tool.isort]
|
|
force_grid_wrap = 0
|
|
include_trailing_comma = true
|
|
line_length = 100
|
|
lines_after_imports = 2
|
|
multi_line_output = 3
|
|
py_version=38
|
|
skip_gitignore = true
|
|
use_parentheses = true
|
|
|
|
[tool.pylint.basic]
|
|
# Good variable names which should always be accepted, separated by a comma.
|
|
good-names = ["e", "_"]
|
|
|
|
[tool.pylint.format]
|
|
# Regexp for a line that is allowed to be longer than the limit.
|
|
# URLs and pure strings, or since argument assignments to pure strings
|
|
ignore-long-lines = "^\\s*(# )?<?https?://\\S+>?$|^\\s*([^=]+=)?[f|r]?b?[\\\"\\'\\`].+[\\\"\\'\\`],?$"
|
|
|
|
[tool.pylint.design]
|
|
# Minimum number of public methods for a class (see R0903).
|
|
min-public-methods = 1
|
|
|
|
[tool.pylint."messages control"]
|
|
enable = [
|
|
"bad-inline-option",
|
|
"c-extension-no-member",
|
|
"deprecated-pragma",
|
|
"file-ignored",
|
|
"use-symbolic-message-instead",
|
|
"useless-suppression",
|
|
]
|
|
|
|
[tool.pylint.main]
|
|
# List of plugins (as comma separated values of python module names) to load,
|
|
# usually to register additional checkers.
|
|
load-plugins = [
|
|
"pylint.extensions.bad_builtin",
|
|
"pylint.extensions.check_elif",
|
|
"pylint.extensions.comparetozero",
|
|
"pylint.extensions.comparison_placement",
|
|
"pylint.extensions.consider_refactoring_into_while_condition",
|
|
"pylint.extensions.dict_init_mutate",
|
|
"pylint.extensions.dunder",
|
|
"pylint.extensions.empty_comment",
|
|
"pylint.extensions.emptystring",
|
|
"pylint.extensions.for_any_all",
|
|
"pylint.extensions.no_self_use",
|
|
"pylint.extensions.overlapping_exceptions",
|
|
"pylint.extensions.private_import",
|
|
"pylint.extensions.redefined_loop_name",
|
|
"pylint.extensions.redefined_variable_type",
|
|
"pylint.extensions.set_membership"
|
|
]
|
|
|
|
# Minimum Python version to use for version dependent checks. Will default to the
|
|
# version used to run pylint.
|
|
py-version = "3.8"
|
|
|
|
[tool.pylint.miscellaneous]
|
|
# List of note tags to take in consideration, separated by a comma
|
|
# See https://github.com/pylint-dev/pylint/issues/8734
|
|
notes=["SomethingThatWillNotBeFound"]
|
|
|
|
# Regular expression of note tags to take in consideration.
|
|
notes-rgx="TODO(?! \\(Issue \\d+\\))"
|
|
|
|
[tool.pylint.reports]
|
|
output-format = "colorized"
|
|
|
|
[tool.pylint.spelling]
|
|
# Spelling dictionary name
|
|
spelling-dict = "en_US"
|
|
|
|
# List of comma separated words that should not be checked.
|
|
spelling-ignore-words = [
|
|
"CLI", "commit's", "ctags",
|
|
"distro", "distros",
|
|
"HyperV",
|
|
"iterable", "isort",
|
|
"monitoringSubject",
|
|
"namespace", "Nox",
|
|
"ORM",
|
|
"parsers", "PatchData", "preprocessing",
|
|
"repo", "repos",
|
|
"setuptools", "SHA", "subclassed", "subcommand", "subcommands",
|
|
"untracked",
|
|
"virtualenv",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["comma*"]
|
|
namespaces = false
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "comma.__version__"}
|