GC.OS Logo
GC.OS Brandmark

skbase

skbase is an open-source framework for building scikit-learn– and sktime-style parametric objects.

Back to Projects

skbase is an open-source Python framework that provides base classes and utilities for creating scikit-learn–like and sktime-like parametric objects. It is designed as a foundation for building reusable, consistent, and well-structured machine learning and time series libraries that follow established Python ecosystem design patterns.

Rather than implementing models or algorithms directly, skbase focuses on infrastructure and architecture, enabling developers to build their own packages faster and more reliably.

Purpose

Many machine learning and time series libraries independently reimplement similar abstractions for estimators, transformers, and parameter handling. skbase was created to reduce this duplication by offering a shared, well-tested foundation for parametric objects.

Its goal is to make it easier to build new libraries that are:

  • Consistent with scikit-learn and sktime conventions

  • Easy to maintain and extend

  • Interoperable with existing tools and workflows

Core Features

  • Base classes for parametric objects

  • scikit-learn– and sktime-compatible design patterns

  • Unified parameter handling and validation

  • Built-in support for cloning, inspection, and configuration

  • Utilities for testing, documentation, and CI integration

  • Designed for library authors, not end users

Parametric Object Design

Unified Estimator Interface

skbase provides abstract base classes that standardize how parameters, state, and configuration are handled. This ensures predictable behavior across custom estimators, transformers, and models.

Parameter Introspection and Management

The framework includes utilities for:

  • Declaring parameters explicitly

  • Inspecting and updating parameters programmatically

  • Ensuring compatibility with grid search and meta-estimators

  • Supporting serialization and reproducibility

Ecosystem Compatibility

scikit-learn Style

Objects built with skbase naturally follow scikit-learn conventions such as:

  • Constructor-based parameter definitions

  • get_params / set_params semantics

  • Cloneability and stateless initialization

sktime Style

For time series–focused libraries, skbase supports sktime-style abstractions, enabling consistent handling of temporal data, forecasting horizons, and time-dependent parameters.

Tooling and Developer Experience

Testing and Quality Assurance

skbase integrates with modern Python tooling to support:

  • Automated testing

  • Code coverage

  • Pre-commit hooks

  • Static analysis and security checks

This helps downstream libraries maintain high quality and reliability.

Documentation and Tutorials

The project includes comprehensive documentation and introductory tutorials to support library authors in adopting skbase effectively.

Use Cases

  • Building new machine learning libraries

  • Developing time series analysis frameworks

  • Creating reusable estimator and transformer APIs

  • Ensuring consistency across multiple packages

  • Research and open-source infrastructure projects

Open Source

skbase is released as open-source software and developed transparently by an international community of contributors. The project follows the all-contributors specification and actively welcomes contributions of all kinds.

GC.OS supports skbase as a foundational open-source project that strengthens the sustainability, interoperability, and quality of the Python machine learning and time series ecosystem.