[MASTER]
init-hook="import sys; sys.path.append('.pylint')"
load-plugins=idaes_transform
ignore-patterns=test_.*,__init__.*
ignore=alamopy_depr,grid_integration,helmet,matopt,ripe,roundingRegression
extension-pkg-allow-list=
    pyomo.core.expr.numeric_expr,

[MESSAGES CONTROL]
disable=no-self-argument,
    bad-super-call,
    assignment-from-none,
    invalid-unary-operand-type,
    unsubscriptable-object,
    fixme,
    raise-missing-from,
    logging-fstring-interpolation,  # not sure why pylint doesn't like f-strings
    attribute-defined-outside-init,
    arguments-differ,
    abstract-method,
    arguments-renamed,
    unused-argument,  # we have cases where a general high level method passes arguments that simpler methods do not need
    redefined-outer-name,
    anomalous-backslash-in-string,
    unspecified-encoding,
    # Conventions
    invalid-name,
    line-too-long,  # we have black for this
    too-many-lines,
    use-implicit-booleaness-not-comparison,  # implicit booleaness can be hard to follow
    consider-using-f-string,  # should fix, but a lot of effort
    no-member,  # Triggers many false positives from Pyomo due to diamond structure

[IMPORTS]
ignored-modules=cvalsim,almsim

[TYPECHECK]
# prevents members specified here from causing E1101 (no-member)
# the regular expression is currently matched against the name used at the call site
# eventually pylint should be able to support using the fully qualified name instead
# (see e.g. https://github.com/PyCQA/pylint/issues/2498)
# here "cm" refers to matplotlib.cm
generated-members=cm\..*,
ignore-none=yes