datasieve
This package implements a flexible data pipeline to help organize row removal (e.g. outlier removal) and feature modification (e.g. PCA)
What it is and what it does
DataSieve is a Pipeline extension that coordinates transformations across feature arrays (X), target arrays (y), and sample weights simultaneously. Unlike standard pipelines that only transform X, DataSieve propagates row removals and feature modifications through all three arrays in lockstep—so when an outlier detection step removes rows from X, it automatically removes the corresponding rows from y and sample_weight.
The package includes built-in transforms for common tasks like variance-based feature filtering, SVM-based outlier detection with automatic removal, and PCA with feature renaming. It supports wrapping transforms directly, and allows custom transforms that manipulate any combination of X, y, and sample_weight. A key feature is outlier flagging without removal: you can fit a pipeline and call transform with outlier_check=True to get a binary vector marking outliers while keeping all data intact.
Use it for:
- Remove outliers from training data while keeping y and sample_weight synchronized for supervised learning.
- Apply feature selection or dimensionality reduction and automatically track feature name changes.
- Build multi-stage preprocessing pipelines that filter rows based on complex criteria across multiple arrays.
- Flag anomalies in new data without removing them, returning both transformed features and outlier indicators.
- Wrap transforms in a coordinated pipeline that handles weighted or imbalanced datasets with row-level filtering.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
DataSieve extends scikit-learn's Pipeline to handle row and feature transformations while propagating changes across X, y, and sample_weight arrays—enabling outlier removal, feature selection, and dimensionality reduction in a coordinated pipeline.
Yes, if you need to coordinate row or feature removals across X, y, and sample_weight in a single pipeline. The low install friction, permissive license, and absence of known vulnerabilities make it safe to try. However, the aging maintenance status (460 days since last release) means you should verify compatibility with your specific pandas and scikit-learn versions before relying on it in production.
Install
datasieve on PyPI
pip
pip install datasieveuv
uv add datasievepoetry
poetry add datasieveInstalling datasieve
Before you install
Low install friction with a pure-Python wheel. Maintenance is aging (460 days since last release), but the package remains compatible with current Python versions (3.8.1 through 3.13) and carries no known vulnerabilities.
License in practice
MIT license is permissive; you can use, modify, and distribute DataSieve freely in commercial or private projects with minimal restrictions.
Quickstart
from datasieve.pipeline import Pipeline
import datasieve.transforms as dst
feature_pipeline = Pipeline([
("detect_constants", dst.VarianceThreshold(threshold=0)),
("svm", dst.SVMOutlierExtractor())
])
X, y, sample_weight = feature_pipeline.fit_transform(X, y, sample_weight)
Requires pandas and scikit-learn as runtime dependencies; Python 3.8.1 or later.
Verify before relying
- Whether the package is actively maintained or in stable maintenance mode despite the aging status.
- Real-world performance characteristics when handling large datasets with complex pipelines.
- Compatibility guarantees with recent pandas and scikit-learn versions beyond what classifiers declare.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.8.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pandas, scikit-learn |
| Maintenance | aging — 460 days since the last release |
| First released | |
| Downloads | 214,114/month — #9,424 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: datasieve-0.1.9-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
feature-engineFeature-engine provides transformers for…
permissive · top 15,000 on PyPI
sklearn-pandasBridges pandas DataFrames and scikit-learn by…
permissive · top 15,000 on PyPI
sklearndfWraps scikit-learn estimators to return pandas…
permissive · top 15,000 on PyPI
category-encodersTransforms categorical variables into numeric…
permissive · top 5,000 on PyPI
hampelHampel detects and filters outliers in…
permissive · top 15,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI
umap-learnUMAP reduces high-dimensional data to lower…
permissive · top 5,000 on PyPI
sagemaker-scikit-learn-extensionExtends scikit-learn with additional estimators…
permissive · top 15,000 on PyPI
azureml-dataprepLoads, transforms, and writes data for Azure…
unclear · top 5,000 on PyPI