skbase
skbase is an open-source framework for building scikit-learn– and sktime-style parametric objects.
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_paramssemanticsCloneability 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.