Skip to content

[PROPOSAL] Adopt SPEC 0 and add scikit-learn dependency #6437

@csadorf

Description

@csadorf

Overview

This proposal recommends to adopt SPEC 0 to inform cuml's dependencies and as part of this effort declare scikit-learn as a build and runtime dependency with a version constraint that is compatible with those outlined in the spec.

Motivation

Adopting SPEC 0 and properly declaring scikit-learn as a dependency will:

  • Ensure better compatibility and integration with the broader scientific Python ecosystem
  • Improve user experience by making dependency management more predictable
  • Enable better integration with scikit-learn's ecosystem tools and utilities
  • Reduce potential version conflicts and compatibility issues

Implementation Details

Compatibility with the declared version dependencies on scikit-learn would concretely mean:

  • cuml can be installed into an environment with a compatible scikit-learn version
  • cuml can be loaded and executed within a runtime environment together with a compatible scikit-learn version
  • cuml's estimators follow the estimator guidelines and are thus compatible with scikit-learn's meta estimators, such as pipelines
  • the cuml.accel mode can be used to accelerate all compatible scikit-learn versions
  • accelerated estimators can be serialized such that they are executable by scikit-learn with a version that is identical to the one used to serialize it

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions