Skip to content

Commit

Permalink
Convert .pylintrc file to pyproject.toml (#797)
Browse files Browse the repository at this point in the history
Removes a dotfile from the root directory.

---------

Co-authored-by: Sergiy Matusevych <sergiym@microsoft.com>
  • Loading branch information
bpkroth and motus authored Jul 15, 2024
1 parent 4111c23 commit f47e01f
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 54 deletions.
52 changes: 0 additions & 52 deletions .pylintrc

This file was deleted.

2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ build/pylint.mlos_viz.${CONDA_ENV_NAME}.build-stamp: $(MLOS_VIZ_PYTHON_FILES)

PYLINT_COMMON_PREREQS := build/conda-env.${CONDA_ENV_NAME}.build-stamp
PYLINT_COMMON_PREREQS += $(FORMAT_PREREQS)
PYLINT_COMMON_PREREQS += .pylintrc
PYLINT_COMMON_PREREQS += pyproject.toml

build/pylint.%.${CONDA_ENV_NAME}.build-stamp: $(PYLINT_COMMON_PREREQS)
conda run -n ${CONDA_ENV_NAME} pylint -j0 $(filter %.py,$+)
Expand Down
57 changes: 56 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,66 @@ profile = "black"
py_version = 311
src_paths = ["mlos_core", "mlos_bench", "mlos_viz"]

# TODO: Consider switching to pydocstringformatter
[tool.docformatter]
recursive = true
black = true
style = "numpy"
pre-summary-newline = true
close-quotes-on-newline = true

# TODO: move pylintrc and some setup.cfg configs here
# TODO: move some other setup.cfg configs here

[tool.pylint.main]
# Specify a score threshold to be exceeded before program exits with error.
fail-under = 9.9

# Make sure public methods are documented.
# See Also: https://github.com/PyCQA/pydocstyle/issues/309#issuecomment-1426642147
# Also fail on unused imports.
fail-on = [
"missing-function-docstring",
"unused-import",
]

# Ignore pylint complaints about an upstream dependency.
ignored-modules = ["ConfigSpace.hyperparameters"]

# Help inform pylint where to find the project's source code without needing to relyon PYTHONPATH.
#init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc())); from logging import warning; warning(sys.path)"
init-hook = "from logging import warning; warning(sys.path)"

# Load some extra checkers.
load-plugins = [
"pylint.extensions.bad_builtin",
"pylint.extensions.code_style",
"pylint.extensions.docparams",
"pylint.extensions.docstyle",
"pylint.extensions.for_any_all",
"pylint.extensions.mccabe",
"pylint.extensions.no_self_use",
"pylint.extensions.private_import",
"pylint.extensions.redefined_loop_name",
"pylint.extensions.redefined_variable_type",
"pylint.extensions.set_membership",
"pylint.extensions.typing",
]

[tool.pylint.format]
# Maximum number of characters on a single line.
max-line-length = 99

[tool.pylint."messages control"]
disable = [
"fixme",
"no-else-return",
"consider-using-assignment-expr",
"deprecated-typing-alias", # disable for now - only deprecated recently
"docstring-first-line-empty",
"consider-alternative-union-syntax", # disable for now - still supporting python 3.8
"missing-raises-doc",
]

[tool.pylint.string]
check-quote-consistency = true
check-str-concat-over-line-jumps = true

0 comments on commit f47e01f

Please sign in to comment.