# .pylintrc
# Note: these descriptions are generated by an LLM. Refer to the .pylint documentation
# if specifics of a single error code are important.

[MESSAGES CONTROL]
disable = 
    unknown-option-value,       # Suppresses warnings about unknown pylint options in config
    C0415,                      # import-outside-toplevel - Import used outside module top-level
    W0718,                      # broad-exception-caught - Catching too general exception (Exception)
    W0603,                      # global-statement - Using the global statement
    W0105,                      # pointless-string-statement - String statement has no effect
    E0601,                      # used-before-assignment - Variable used before assignment
    C0103,                      # invalid-name - Doesn't conform to snake_case naming
    redefined-outer-name,       # Redefining name from outer scope (shadowing)
    E1101,                      # no-member - Instance has no member
    R0914,                      # too-many-locals - Too many local variables (>15)
    C0321,                      # multiple-statements - Multiple statements on one line
    R0911,                      # too-many-return-statements - Too many return statements (>6)
    R0903,                      # too-few-public-methods - Too few public methods (<2)
    R0904,                      # too-many-public-methods - Too many public methods (>20)

[MASTER]
ignore-paths=
    ^.*\.pyi$,                  # Ignore Python stub files
    examples/introduction\.py$  # Ignore this specific example file

[FORMAT]
max-line-length=100             # Maximum number of characters on a single line