fetch_ml/.pylintrc
Jeremie Fraeys c5049a2fdf feat: initialize FetchML ML platform with core project structure
- Add comprehensive README with architecture overview and quick start guide
- Set up Go module with production-ready dependencies
- Configure build system with Makefile for development and production builds
- Add Docker Compose for local development environment
- Include project configuration files (linting, Python, etc.)

This establishes the foundation for a production-ready ML experiment platform
with task queuing, monitoring, and modern CLI/API interface.
2025-12-04 16:52:09 -05:00

307 lines
8 KiB
INI

[MASTER]
# Google Python Style Guide Configuration
# Based on https://google.github.io/styleguide/pyguide.html
# Files or directories to be skipped over when performing analysis.
ignore=
.git,
__pycache__,
*.pyc,
.pytest_cache,
.mypy_cache,
.venv,
venv,
# ML experiment code - exclude from style checks
podman/workspace,
workspace,
tests/fixtures/examples,
tests/fixtures/podman,
results,
data,
logs,
secrets,
.agent
# Regular expression matching files that should be skipped entirely.
ignore-patterns=
^\.#,
^setup\.py$,
^conftest\.py$
# Add files or directories matching the regex patterns to the ignore list.
ignore-paths=
# Files or directories to be added to the list of ignored regular expressions.
ignore-paths=
# Pickle collected data for later comparisons.
persistent=yes
# Use multiple processes to speed up Pylint.
jobs=1
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Load all enabled extensions.
load-all-plugins=no
# Control the amount of potential astroid warnings (0, 1 or 2).
unsafe-load-any-extension=no
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels.
confidence=
# Disable the message, report, category or checker with the given id(s).
disable=
# Google Style Guide allows some of these
missing-module-docstring,
missing-function-docstring,
too-many-locals,
too-many-arguments,
too-many-instance-attributes,
too-many-public-methods,
too-few-public-methods,
too-many-lines,
too-many-statements,
too-many-branches,
too-many-nested-blocks,
# Not relevant for ML projects
invalid-name,
C0114, # missing-module-docstring
C0115, # missing-class-docstring
C0116, # missing-function-docstring
R0903, # too-few-public-methods
R0902, # too-many-instance-attributes
R0913, # too-many-arguments
R0914, # too-many-locals
R0915, # too-many-statements
R0912, # too-many-branches
R0911, # too-many-return-statements
W0613, # unused-argument (common in callbacks)
# Enable the message, report, category or checker with the given id(s).
enable=
[REPORTS]
# Set the output format.
output-format=text
# Tells whether to display a full report or only the messages.
reports=no
# Python expression which determines if a message should not be displayed.
evaluation=
# Template used to display messages.
msg-template=
[BASIC]
# Good variable names which should always be accepted, separated by a comma.
good-names=
i,j,k,ex,Run,_
# Bad variable names which should always be refused.
bad-names=
foo,bar,baz,toto,tutu,tata
# List of builtins function names that should not be used.
bad-functions=
# Regular expression for correct variable names.
variable-rgx=^[a-z_][a-z0-9_]{2,30}$
# Regular expression for correct constant names.
const-rgx=^(_?[A-Z][A-Z0-9_]{2,30}|__.*__)$
# Regular expression for correct function names.
function-rgx=^(?:(?P<camel_case>_?[A-Z][a-zA-Z0-9]{2,30})|(?P<snake_case>_?[a-z][a-z0-9_]{2,30}))$
# Regular expression for correct class names.
class-rgx=^_?[A-Z][a-zA-Z0-9]{2,30}$
# Regular expression for correct attribute names.
attr-rgx=^_{0,2}[a-z][a-z0-9_]{2,30}$
# Regular expression for correct argument names.
argument-rgx=^[a-z][a-z0-9_]{2,30}$
# Regular expression for correct method resolution order names.
method-rgx=^_{0,2}[a-z][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# Minimum line length for functions/classes that require docstrings.
docstring-min-length=-1
[TYPECHECK]
# List of decorators that produce context managers.
contextmanager-decorators=contextlib.contextmanager
# List of member names which should be excluded from the access member check.
exclude-members=
# List of qualified names (objects) which require a disable protection.
generated-members=
[MISCELLANEOUS]
# List of note tags to take in consideration.
notes=
[VARIABLES]
# Tells whether we should check for unused imports.
init-import=no
# A regular expression matching the name of dummy variables.
dummy-variable-rgx=^_|dummy
# List of variable names that should not be used.
additional-builtins=
# List of variables which are ignored for the undefined-variable check.
ignored-classes=
# List of members which are skipped from the member access check.
ignored-modules=
# List of deprecated symbols which should not be used.
deprecated-modules=
# List of symbols that can be safely accessed.
allowed-redefined-builtins=
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=80
# Regexp for a line that is allowed to be longer than the limit.
long-line-regexp=^[\t ]*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test.
single-line-if-stmt=no
# List of optional parameters for which we don't want to call a linting
# function.
single-line-class-stmt=no
# Maximum number of characters on a single line, when there are no multiline
# strings.
max-line-length-sigil-fallback=80
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=4
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
[LOGGING]
# Logging modules to check that the string formatting arguments are in
# logging function parameter format.
logging-modules=logging
[DESIGN]
# Maximum number of arguments for function / method.
max-args=5
# Argument names that match this regular expression are ignored.
ignored-argument-names=
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of return statements for function / method body.
max-returns=6
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of statements in function / method body.
max-statements=50
# Maximum number of parents for a class.
max-parents=7
# Maximum number of attributes for a class.
max-attributes=7
# Minimum number of public methods for a class.
min-public-methods=2
# Maximum number of public methods for a class.
max-public-methods=20
# Maximum number of boolean expressions in a if statement.
max-bool-expr=5
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcls
# List of member names which should be excluded from the access member check.
exclude-protected=_asdict,_fields,_replace,_source,_make
[IMPORTS]
# Deprecated modules which should not be used.
deprecated-modules=
# Create a graph of every module's dependencies.
import-graph=
# Create a graph of every (i.e. internal and external) dependencies in the
# current file.
ext-import-graph=
# Create a graph of external dependencies in the current file.
int-import-graph=
# Force import order to match a specific order.
import-order-style=google
# Add files or directories to the blacklist.
ignore-on-import-order=no
# List of modules that can be imported at any level from the specified
# application modules.
known-third-party=
# Analyse import fallback blocks.
analyse-fallback-blocks=no
[EXCEPTIONS]
# Exceptions that will emit a warning when being caught.
overgeneral-exceptions=Exception,BaseException
# Exceptions that will emit a warning when being returned.
return-exceptions=no
# Exceptions that will emit a warning when being instantiated.
nonstandard-exceptions=no
[REFACTORING]
# Maximum number of nested blocks.
max-nested-blocks=5
# Complete name of the function that returns the YAPF version.
yapf-version=