Skip to content

Apply flake8+pycodestyles autofixes #342

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,33 @@ line-length = 130
target-version = "py39"

[tool.ruff.lint]
# TODO: Use extend-select instead to get base E and F rules that don't conflict with the formatter
select = [
extend-select = [
"FA", # flake8-future-annotations
"I", # isort
"PYI", # flake8-pyi
"UP", # pyupgrade
"W", # pycodestyle Warning
]
ignore = [
###
# Rules we don't want or don't agree with
###

# Used for direct, non-subclass type comparison, for example: `type(val) is str`
# see https://github.com/astral-sh/ruff/issues/6465
"E721", # Do not compare types, use `isinstance()`

# Typeshed doesn't want complex or non-literal defaults, or long strings, for maintenance and testing reasons.
# This doesn't affect us, let's have more complete stubs.
"PYI011",
"PYI014",
"PYI053",

# TODO: Fixing these would change which symbols are even visible for Pylance.
# Which may negatively affect users, especially if the symbol wasn't meant to be re-exported.
# Manually evaluate each violation.
"F401",

# TODO: Investigate and fix or configure
"PYI001",
"PYI002",
Expand All @@ -55,8 +64,18 @@ ignore = [
"PYI051", # Request for autofix: https://github.com/astral-sh/ruff/issues/14185
"PYI052",
]

[tool.ruff.lint.per-file-ignores]
"*.pyi" = [
###
# Rules that are out of the control of stub authors:
###
"E743", # Ambiguous function name; stubs must follow implementation
"F403", # `from . import *` used; unable to detect undefined names
# Stubs can sometimes re-export entire modules.
# Issues with using a star-imported name will be caught by type-checkers.
"F405", # may be undefined, or defined from star imports
]

# We keep docstrings in sklearn
"stubs/sklearn/**" = ["PYI021"]

Expand Down
3 changes: 1 addition & 2 deletions stubs/matplotlib/pyplot.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import numpy as np
from matplotlib import rcParams as rcParams, style as style
from matplotlib.contour import QuadContourSet

from . import rcParams
from ._typing import *
from .artist import Artist
from .axes import Axes as Axes
Expand Down Expand Up @@ -780,7 +779,7 @@ def tick_params(axis: Literal["x", "y", "both"] = ..., **kwargs): ...
def ticklabel_format(
*,
axis: Literal["x", "y", "both"] = ...,
style: Literal["sci", "scientific", "plain"] = ...,
style: Literal["sci", "scientific", "plain"] = ..., # noqa: F811
scilimits=...,
useOffset: bool | float = ...,
useLocale: bool = ...,
Expand Down
3 changes: 0 additions & 3 deletions stubs/matplotlib/widgets.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ import numpy as np
from matplotlib.axes._axes import Axes
from matplotlib.backend_bases import DrawEvent, Event, FigureCanvasBase, KeyEvent, MouseButton, MouseEvent
from matplotlib.figure import Figure
from matplotlib.lines import Line2D
from matplotlib.patches import Ellipse, Rectangle
from matplotlib.transforms import Affine2D
from numpy import float64, ndarray
from numpy.typing import ArrayLike
from PIL.Image import Image
Expand Down
33 changes: 11 additions & 22 deletions stubs/networkx/algorithms/community/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
from .asyn_fluid import asyn_fluidc as asyn_fluidc
from .centrality import girvan_newman as girvan_newman
from .community_utils import is_partition as is_partition
from .kclique import k_clique_communities as k_clique_communities
from .kernighan_lin import kernighan_lin_bisection as kernighan_lin_bisection
from .label_propagation import (
asyn_lpa_communities as asyn_lpa_communities,
asyn_lpa_communities as label_propagation_communities,
label_propagation_communities as label_propagation_communities,
)
from .louvain import louvain_communities as louvain_communities, louvain_partitions as louvain_partitions
from .lukes import lukes_partitioning as lukes_partitioning
from .modularity_max import (
greedy_modularity_communities as greedy_modularity_communities,
naive_greedy_modularity_communities as naive_greedy_modularity_communities,
)
from .quality import (
coverage as coverage,
modularity as modularity,
partition_quality as partition_quality,
performance as performance,
)
from networkx.algorithms.community.asyn_fluid import *
from networkx.algorithms.community.centrality import *
from networkx.algorithms.community.community_utils import *
from networkx.algorithms.community.divisive import *
from networkx.algorithms.community.kclique import *
from networkx.algorithms.community.kernighan_lin import *
from networkx.algorithms.community.label_propagation import *
from networkx.algorithms.community.louvain import *
from networkx.algorithms.community.lukes import *
from networkx.algorithms.community.modularity_max import *
from networkx.algorithms.community.quality import *
3 changes: 1 addition & 2 deletions stubs/networkx/algorithms/connectivity/connectivity.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ from operator import itemgetter
# connectivity algorithms.
from ...algorithms.flow import boykov_kolmogorov, build_residual_network, dinitz, edmonds_karp, shortest_augmenting_path
from ...classes.graph import Graph
from .utils import build_auxiliary_edge_connectivity, build_auxiliary_node_connectivity

default_flow_func = ...

from .utils import build_auxiliary_edge_connectivity, build_auxiliary_node_connectivity

__all__ = [
"average_node_connectivity",
"local_node_connectivity",
Expand Down
3 changes: 1 addition & 2 deletions stubs/networkx/algorithms/connectivity/cuts.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import itertools
# cut algorithms.
from ...algorithms.flow import build_residual_network, edmonds_karp
from ...classes.graph import Graph
from .utils import build_auxiliary_edge_connectivity, build_auxiliary_node_connectivity

default_flow_func = ...

from .utils import build_auxiliary_edge_connectivity, build_auxiliary_node_connectivity

__all__ = [
"minimum_st_node_cut",
"minimum_node_cut",
Expand Down
7 changes: 4 additions & 3 deletions stubs/networkx/algorithms/connectivity/disjoint_paths.pyi
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# Define the default maximum flow function to use for the undelying
# maximum flow computations
from itertools import filterfalse as _filterfalse

from ...algorithms.flow import edmonds_karp, preflow_push, shortest_augmenting_path
from ...classes.graph import Graph
from ...exception import NetworkXNoPath

default_flow_func = ...
from itertools import filterfalse as _filterfalse

# Functions to build auxiliary data structures.
from .utils import build_auxiliary_edge_connectivity, build_auxiliary_node_connectivity

default_flow_func = ...

__all__ = ["edge_disjoint_paths", "node_disjoint_paths"]

def edge_disjoint_paths(
Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/algorithms/tree/branchings.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ from operator import itemgetter
from queue import PriorityQueue
from typing import Literal

from ...algorithms.tree.branchings import ArborescenceIterator
from ...classes.digraph import DiGraph
from ...classes.graph import Graph
from ...classes.multidigraph import MultiDiGraph
Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/algorithms/tree/decomposition.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ from itertools import combinations
from networkx import Graph

from ...algorithms import chordal_graph_cliques, complete_to_chordal_graph, moral
from ...classes.graph import Graph
from ...utils import not_implemented_for

__all__ = ["junction_tree"]
Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/algorithms/tree/mst.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ from math import isnan
from operator import itemgetter
from queue import PriorityQueue

from ...algorithms.tree.mst import SpanningTreeIterator
from ...classes.graph import Graph
from ...utils import UnionFind, not_implemented_for, py_random_state

Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/classes/graph.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ from numpy.typing import ArrayLike

from ..classes.coreviews import AdjacencyView
from ..classes.digraph import DiGraph
from ..classes.graph import Graph
from ..classes.reportviews import DegreeView, EdgeView, NodeView
from ..exception import NetworkXError

Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/classes/graphviews.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ from networkx import DiGraph, Graph

from ..classes.coreviews import FilterAdjacency, FilterAtlas, FilterMultiAdjacency, UnionAdjacency, UnionMultiAdjacency
from ..classes.filters import no_filter
from ..classes.graph import Graph
from ..exception import NetworkXError
from ..utils import not_implemented_for

Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/classes/reportviews.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ from collections.abc import Mapping, Set as AbstractSet
from typing import Any

from ..classes.graph import Graph
from ..classes.reportviews import NodeDataView

__all__ = [
"NodeView",
Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/generators/classic.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import numbers
from collections.abc import Iterable

from ..classes import Graph
from ..classes.graph import Graph
from ..exception import NetworkXError
from ..utils import nodes_or_number, pairwise

Expand Down
1 change: 0 additions & 1 deletion stubs/networkx/generators/triads.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ from networkx import DiGraph
# Copyright 2011 Reya Group <http://www.reyagroup.com>
# Copyright 2011 Alex Levenson <[email protected]>
# Copyright 2011 Diederik van Liere <[email protected]>
from ..classes import DiGraph

__all__ = ["triad_graph"]

Expand Down
6 changes: 2 additions & 4 deletions stubs/skimage/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
__version__: str = ...

submodules: list = ...

from ._shared import lazy as lazy
from ._shared.tester import PytestTester as PytestTester # noqa
from ._shared.version_requirements import ensure_python_version as ensure_python_version

__version__: str = ...
submodules: list = ...
__getattr__ = ...
__lazy_dir__ = ...

Expand Down
1 change: 0 additions & 1 deletion stubs/skimage/future/graph/rag.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ from numpy.lib.stride_tricks import as_strided
from scipy import ndimage as ndi, sparse

from ..._shared.version_requirements import require
from .rag import RAG

def _edge_generator_from_csr(csr_matrix): ...
def min_weight(graph: RAG, src: int, dst: int, n: int) -> Mapping: ...
Expand Down
1 change: 0 additions & 1 deletion stubs/skimage/measure/_regionprops.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ from scipy.spatial.distance import pdist
from . import _moments
from ._find_contours import find_contours
from ._marching_cubes_lewiner import marching_cubes
from ._regionprops import RegionProperties
from ._regionprops_utils import euler_number, perimeter, perimeter_crofton

__all__ = ["regionprops", "euler_number", "perimeter", "perimeter_crofton"]
Expand Down
14 changes: 6 additions & 8 deletions stubs/sklearn/base.pyi
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import copy
import inspect
import platform
import re
import warnings
from collections import defaultdict as defaultdict
from collections.abc import Iterable
from typing import Any, ClassVar, TypeVar

import numpy as np
from numpy import ndarray

from ._config import get_config as get_config
Expand All @@ -17,14 +23,6 @@ BaseEstimator_Self = TypeVar("BaseEstimator_Self", bound=BaseEstimator)
# Author: Gael Varoquaux <[email protected]>
# License: BSD 3 clause

import copy
import inspect
import platform
import re
import warnings

import numpy as np

def clone(estimator: BaseEstimator | Iterable[BaseEstimator], *, safe: bool = True) -> Any: ...

class BaseEstimator:
Expand Down
6 changes: 2 additions & 4 deletions stubs/sklearn/calibration.pyi
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import warnings
from collections.abc import Iterable
from functools import partial as partial
from inspect import signature as signature
from math import log as log
from numbers import Integral as Integral
from typing import ClassVar, Literal, TypeVar

import numpy as np
from matplotlib.artist import Artist
from matplotlib.axes import Axes
from matplotlib.figure import Figure
Expand Down Expand Up @@ -34,10 +36,6 @@ from .utils.validation import check_consistent_length as check_consistent_length
CalibratedClassifierCV_Self = TypeVar("CalibratedClassifierCV_Self", bound=CalibratedClassifierCV)
_SigmoidCalibration_Self = TypeVar("_SigmoidCalibration_Self", bound=_SigmoidCalibration)

import warnings

import numpy as np

class CalibratedClassifierCV(ClassifierMixin, MetaEstimatorMixin, BaseEstimator):
calibrated_classifiers_: list = ...
feature_names_in_: ndarray = ...
Expand Down
6 changes: 2 additions & 4 deletions stubs/sklearn/cluster/_affinity_propagation.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import warnings
from numbers import Integral as Integral, Real as Real
from typing import Any, ClassVar, Literal, TypeVar

import numpy as np
from numpy import ndarray
from numpy.random import RandomState

Expand All @@ -15,10 +17,6 @@ from ..utils.validation import check_is_fitted as check_is_fitted

AffinityPropagation_Self = TypeVar("AffinityPropagation_Self", bound=AffinityPropagation)

import warnings

import numpy as np

###############################################################################
# Public API

Expand Down
6 changes: 2 additions & 4 deletions stubs/sklearn/cluster/_agglomerative.pyi
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import warnings
from heapq import heapify as heapify, heappop as heappop, heappush as heappush, heappushpop as heappushpop
from numbers import Integral as Integral, Real as Real
from typing import Any, Callable, ClassVar, Literal, TypeVar

import numpy as np
from joblib import Memory
from numpy import ndarray
from scipy import sparse as sparse
Expand All @@ -22,10 +24,6 @@ from ._feature_agglomeration import AgglomerationTransform
FeatureAgglomeration_Self = TypeVar("FeatureAgglomeration_Self", bound=FeatureAgglomeration)
AgglomerativeClustering_Self = TypeVar("AgglomerativeClustering_Self", bound=AgglomerativeClustering)

import warnings

import numpy as np

###############################################################################
# Hierarchical tree building functions

Expand Down
3 changes: 1 addition & 2 deletions stubs/sklearn/cluster/_bicluster.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ from abc import ABCMeta, abstractmethod
from numbers import Integral as Integral
from typing import Any, ClassVar, Literal, TypeVar

import numpy as np
from numpy import ndarray
from numpy.random import RandomState
from scipy.linalg import norm as norm
Expand All @@ -22,8 +23,6 @@ from . import KMeans as KMeans, MiniBatchKMeans as MiniBatchKMeans

BaseSpectral_Self = TypeVar("BaseSpectral_Self", bound=BaseSpectral)

import numpy as np

__all__ = ["SpectralCoclustering", "SpectralBiclustering"]

class BaseSpectral(BiclusterMixin, BaseEstimator, metaclass=ABCMeta):
Expand Down
6 changes: 2 additions & 4 deletions stubs/sklearn/cluster/_birch.pyi
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import warnings
from math import sqrt as sqrt
from numbers import Integral as Integral, Real as Real
from typing import Any, ClassVar, TypeVar

import numpy as np
from numpy import ndarray
from scipy import sparse as sparse
from scipy.sparse import spmatrix
Expand All @@ -24,10 +26,6 @@ Birch_Self = TypeVar("Birch_Self", bound=Birch)
# Joel Nothman <[email protected]>
# License: BSD 3 clause

import warnings

import numpy as np

class _CFNode:
squared_norm_: ndarray = ...
centroids_: ndarray = ...
Expand Down
Loading