Skip to content

Implement SLEP009: keyword-only arguments #15005

@jnothman

Description

@jnothman

SLEP009 is all but accepted.

It proposes to make most parameters keyword-only.

We should do this by first:

  • Merging ENH Add Deprecating Position Arguments Helper #13311
  • Perhaps getting some stats on usage of positional arguments as per SLEP009: keyword only arguments enhancement_proposals#19 (comment)
  • applying the deprecation to each subpackage. Checked means PR opened at least.
    • base
    • calibration
    • cluster
    • compose
    • covariance
    • cross_decomposition
    • datasets
    • decomposition
    • discriminant_analysis
    • dummy
    • ensemble
    • feature_extraction
    • feature_selection
    • gaussian_process
    • impute
    • inspection
    • isotonic
    • kernel_approximation
    • kernel_ridge
    • linear_model
    • manifold
    • metrics
    • metrics.pairwise
    • mixture
    • model_selection
    • multiclass
    • multioutput
    • naive_bayes
    • neighbors
    • neural_network
    • pipeline
    • preprocessing
    • random_projection
    • semi_supervised
    • svm
    • tree
    • utils

We might along the way establish rules of thumb and principles like "are the semantics reasonably clear when the argument is passed positionally?" As I noted on the mailing list, I think they are clear for PCA's components, for Pipeline's steps, and for GridSearchCV's estimator and parameter grid. Other parameters of those estimators seem more suitable for keyword-only. Trickier is whether n_components in TSNE should follow PCA in being positional... It's not as commonly set by users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions