featurely
Reusable feature engineering utilities for tabular machine learning with pandas and scikit-learn.
featurely provides function-based helpers for the screen-then-commit feature engineering loop: build candidate features, test whether they explain variance your current model misses, and keep only the winners.
- Pipeline evaluation: cross-validated stage-over-stage comparison with persisted, rerun-safe results and progressive box plots.
- Candidate screening: residual correlation scans with Benjamini-Hochberg false discovery rate correction, for individual features and grouped feature sets.
- Feature builders: outlier handling, monotonic transforms, geographic encodings (haversine distances, geohash cells, rotated coordinates), quantile bin aggregates, k-means cluster memberships, Gaussian kernel spatial smoothing, and polynomial expansion with PCA component selection.
- Diagnostics and EDA: distribution plots, pairwise correlation analysis, and variance inflation factors.
All helpers accept a pandas DataFrame, take explicit column names, and return transformed copies without mutating input.
Install
pip install featurely
Requires Python 3.10 or newer.
Quick start
import pandas as pd
import featurely as fl
df = pd.read_csv("my_data.csv")
target = "price"
features = [c for c in df.columns if c != target]
# Establish a baseline
results = fl.add_pipeline_step(None, "raw", df[features], df[target])
# Clean outliers and measure the effect
df_clean = fl.clip_outliers(df, features, threshold=2.25)
results = fl.add_pipeline_step(
results, "+ cleaned", df_clean[features], df_clean[target]
)
fl.plot_pipeline_steps(results, title="Effect of outlier clipping")
# Build candidates and screen them against baseline residuals
candidates = fl.compute_bin_aggregates(df_clean, "latitude", ["income"], n_bins=10)
scan = fl.run_candidate_scan(df_clean, candidates, target=target)
significant = fl.plot_candidate_scan(scan, title="Candidate scan")
keep = [name for name, is_sig in significant.items() if is_sig]
df_clean = pd.concat([df_clean, candidates[keep]], axis=1)
Documentation
Full API reference, getting-started guide, and a complete worked example on the California housing dataset:
- Documentation: gperdrizet.github.io/featurely
- Source and example notebooks: github.com/gperdrizet/featurely
License
MIT
Release files for featurely 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| featurely-0.1.1.tar.gz | 27.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| featurely-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.1 kB
Release files / featurely-0.1.1.tar.gz
| Download URL | featurely-0.1.1.tar.gz |
|---|---|
| Size | 27.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf0a9c32213a883f5735dfd324a19cf6d1e9425abb7af2950caf01fe72001e78
|
|
BLAKE2b-256 checksum How to use checksums |
b6a1cb5659b68b37aa0365709559ed18218fd42f99ef70952783e4d2550e0171
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 3, 2026.
Transparency logRelease files / featurely-0.1.1-py3-none-any.whl
| Download URL | featurely-0.1.1-py3-none-any.whl |
|---|---|
| Size | 26.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
857cbb1dc1176b5c857a78b9b7a3988be71a864dc403c1f4f24ce9be21da14e4
|
|
BLAKE2b-256 checksum How to use checksums |
57568b257b1ba149c753b61f2e1aa3d28eeee1b82100ef9bc6d652fec62dc089
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 3, 2026.
Transparency log