scikeras
Scikit-Learn API wrapper for Keras.
What it is and what it does
SciKeras is a scikit-learn API wrapper for Keras models that lets you treat neural networks as drop-in replacements for traditional scikit-learn estimators. It was originally derived from TensorFlow's deprecated `tf.keras.wrappers.scikit_learn` module and maintains API compatibility with that legacy interface. The wrapper allows Keras models to work seamlessly in scikit-learn pipelines, cross-validation routines, and hyperparameter tuning workflows.
The package depends on scikit-learn and Keras as its core runtime dependencies, plus an underlying Keras backend like TensorFlow. It supports Python 3.9 through 3.12 and carries a permissive MIT license. However, the repository is now archived and abandoned, with the last commit in December 2024 but no active development—the final release was in April 2024. This means bug fixes and compatibility updates are unlikely going forward.
Use it for:
- Include Keras neural networks in scikit-learn pipelines alongside preprocessing and feature selection steps.
- Use scikit-learn's cross-validation and grid search tools to tune Keras model hyperparameters.
- Migrate code from the deprecated TensorFlow scikit-learn wrapper to a maintained alternative.
- Combine Keras models with scikit-learn's ensemble and stacking methods for hybrid workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SciKeras wraps Keras models to work with scikit-learn's API, letting you use Keras neural networks in scikit-learn pipelines and with scikit-learn's model selection and evaluation tools.
Yes, but with caution. SciKeras is useful if you need scikit-learn integration for Keras models and understand the trade-offs. The low install friction and permissive license are favorable. However, the abandoned status means no active maintenance—use it for stable, non-critical workflows or when you can tolerate potential incompatibilities with future scikit-learn or Keras releases. For new projects requiring ongoing support, consider whether a maintained alternative or direct Keras integration suits your needs better.
Install
scikeras on PyPI
pip
pip install scikerasuv
uv add scikeraspoetry
poetry add scikerasInstalling scikeras
Before you install
Low friction install with just two runtime dependencies (scikit-learn and keras). However, the package is archived and abandoned as of the fact sheet date, with no active maintenance despite a recent final release in April 2024.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions—you may use and modify SciKeras freely provided you retain the license notice.
Quickstart
pip install scikeras
from scikeras.wrappers import KerasClassifier
import keras
model = keras.Sequential([keras.layers.Dense(10, activation='relu')])
classifier = KerasClassifier(model=model)
classifier.fit(X_train, y_train)
Requires Keras >= 3.2.0 and scikit-learn >= 1.4.1post1; TensorFlow or another Keras backend must be installed at runtime.
Verify before relying
- Whether the archived status and lack of active maintenance will affect long-term compatibility with future scikit-learn or Keras releases.
- Whether all Keras 3.x features are fully supported by the current SciKeras wrapper implementation.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.9.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — scikit-learn, keras |
| Maintenance | abandoned — 855 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 325,716/month — #7,583 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scikeras-0.13.0-py3-none-any.whl
Keywords: keras, tensorflow, scikit-learn, deep-learning, python
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
kerasKeras 3 is a multi-backend deep learning…
permissive · top 5,000 on PyPI
keras-nlpKeras-NLP provides pretrained models and…
permissive · top 15,000 on PyPI
sklearn-compatProvides backward-compatible wrappers for…
permissive · top 5,000 on PyPI
Keras-PreprocessingProvides data preprocessing and augmentation…
permissive · top 5,000 on PyPI
Keras-ApplicationsProvides pre-trained deep learning model…
permissive · top 5,000 on PyPI
tf-keras-nightlyTF-Keras is a pure-TensorFlow implementation of…
permissive · top 5,000 on PyPI
keras-hubKerasHub provides Keras 3 implementations of…
permissive · top 15,000 on PyPI
keras-nightlyA multi-backend deep learning framework that…
permissive · top 15,000 on PyPI
tf-kerasTF-Keras is the pure-TensorFlow implementation…
permissive · top 5,000 on PyPI
scikit-learn-stubsProvides type stubs for scikit-learn to enable…
permissive · top 15,000 on PyPI