[MESSAGES CONTROL]
# Enable some checkers that are not activated by default:
enable = bad-inline-option, deprecated-pragma, file-ignored, use-symbolic-message-instead, useless-suppression

# Include some helpful details on errors messages for naming rules:
include-naming-hint = yes

[MASTER]
# Informational messages ("I") should make Pylint execution fail (non-0 program return code):
fail-on = I
# Enable many optional extensions:
load-plugins = pylint.extensions.bad_builtin,
               pylint.extensions.code_style,
               pylint.extensions.comparison_placement,
               pylint.extensions.consider_refactoring_into_while_condition,
               pylint.extensions.docparams,
               pylint.extensions.dunder,
               pylint.extensions.eq_without_hash,
               pylint.extensions.for_any_all,
               pylint.extensions.magic_value,
               pylint.extensions.mccabe,
               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,
               pylint.extensions.typing,
               pylint.extensions.while_used,

[STRING_CONSTANT]
# Doc: https://pylint.pycqa.org/en/latest/user_guide/messages/warning/implicit-str-concat.html
check-quote-consistency = yes

[VARIABLES]
allow-global-unused-variables = yes

[FORMAT]
max-line-length = 100