skillfed

scikeras

Scikit-Learn API wrapper for Keras.

scikeras v0.13.0 325.7K downloads/30d#7,583 on PyPI251
Permissive license MIT Abandoned released

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 scikeras

uv

uv add scikeras

poetry

poetry add scikeras

Installing 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

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python Modules

Tags

keras scikit-learn wrapperneural network scikit-learn integrationkeras sklearn compatibledeep learning scikit-learn pipelinekeras model scikit-learn api
scikit-learn-integrationkeras-wrapperarchived

More Libraries packages