Featuresmith Icon
Featuresmith
  • Docs
  • SDK
  • CLI
  • Examples
  • Roadmap
v0.4.0
Documentation

Getting Started

  • Introduction
  • Installation
  • Quick Start
  • Tutorial Notebooks
  • Benchmarks
  • Development Setup
  • Contributing

Core Concepts

  • Architecture Overview
  • Dataset Layer
  • Connectors
  • Profiling Engine
  • Rule Engine
  • Dataset Review Engine
  • ML Readiness Score
  • Target Leakage Detection
  • Dataset Diff Engine
  • Target Column Concept
  • Mental Model & Workflow
  • Interpreting Findings
  • Workflow Cheat Sheet
  • Beginner Glossary

Python SDK

  • load()
  • profile()
  • analyze()
  • review()
  • diff()
  • score()
  • plan()
  • Dataset
  • Data Models
  • Profile Models
  • Rule & Finding Models
  • Review Models
  • Score Models
  • Leakage Models
  • Diff Models
  • Exceptions
  • Plugins

CLI Reference

  • analyze
  • review
  • diff
  • score
  • plan
  • Configuration

Guides

  • CI/CD Integration
  • Custom Rules
  • Writing Plugins

Resources

  • Release Notes
  • FAQ
  • Troubleshooting
DocsGuide

Getting Started

  • Introduction
  • Installation
  • Quick Start
  • Tutorial Notebooks
  • Benchmarks
  • Development Setup
  • Contributing

Core Concepts

  • Architecture Overview
  • Dataset Layer
  • Connectors
  • Profiling Engine
  • Rule Engine
  • Dataset Review Engine
  • ML Readiness Score
  • Target Leakage Detection
  • Dataset Diff Engine
  • Target Column Concept
  • Mental Model & Workflow
  • Interpreting Findings
  • Workflow Cheat Sheet
  • Beginner Glossary

Python SDK

  • load()
  • profile()
  • analyze()
  • review()
  • diff()
  • score()
  • plan()
  • Dataset
  • Data Models
  • Profile Models
  • Rule & Finding Models
  • Review Models
  • Score Models
  • Leakage Models
  • Diff Models
  • Exceptions
  • Plugins

CLI Reference

  • analyze
  • review
  • diff
  • score
  • plan
  • Configuration

Guides

  • CI/CD Integration
  • Custom Rules
  • Writing Plugins

Resources

  • Release Notes
  • FAQ
  • Troubleshooting
HomeDocumentation

Getting Started

Introduction

Featuresmith is an open-source Python library for dataset profiling, rule-based validation, and intelligent feature analysis. This guide will get you up and running in minutes.

What is Featuresmith?

Modern data pipelines move fast. Schema drift, unexpected nulls, and silent type coercions cause downstream failures that are expensive to debug. Featuresmith gives you a lightweight, composable toolkit to understand and validate your data before it causes problems.

  • Profile datasets to understand distributions, nulls, and cardinality
  • Define validation rules as code, not configuration
  • Run analysis from the CLI or integrate into any Python workflow
  • Designed to scale from a single script to a full CI/CD pipeline

What Should I Already Know?

Required Knowledge

  • • Basic Python syntax (functions, imports, dictionaries)
  • • Basic tabular data concepts (rows, columns, CSV files)

Helpful (Not Required)

  • • Experience with pandas or Polars DataFrames
  • • Basic Machine Learning concepts (train/test split, target variables)
  • • Basic command-line terminal usage

Installation

Install Featuresmith from PyPI using pip:

bash
1# Python SDK only (import featuresmith)
2pip install featuresmith-core
3
4# CLI & Python SDK (featuresmith CLI command)
5pip install featuresmith-cli

Requires Python 3.11 or higher. Featuresmith uses Polars and Pandas under the hood, which are installed automatically.

Quick Start

Run your first dataset review using the pre-packaged titanic.csv dataset:

quickstart.py
python
1import featuresmith as fs
2
3# 1. Load dataset (CSV, Parquet, Excel, pandas/Polars DataFrame)
4dataset = fs.load("examples/data/processed/titanic.csv")
5print(f"Loaded {dataset.row_count} rows across {dataset.column_count} columns.")
6
7# 2. Perform automated dataset code review with 10 reviewers
8review_res = fs.review(dataset, target_column="survived")
9print(review_res.overall_summary)
10
11# 3. Extract 0–100 ML Readiness Scorecard
12scorecard = fs.score(review_res)
13if scorecard:
14 print(f"ML Readiness Score: {scorecard.overall:.1f}/100")
15
16# 4. Compile an inspectable remediation Plan from accepted recommendations
17plan = fs.plan(review_res, accept=["rec.quality.missingness.cabin"])
18print(f"Plan: {len(plan.items)} step(s)")

Explore the docs

InstallationInstall Featuresmith via pip, uv, or build from source.Read moreQuick StartLoad a dataset, run automated reviews, and score in minutes.Read moreMental Model & WorkflowLearn how load(), profile(), review(), score(), and diff() fit together.Read moreBeginner GlossaryPlain-language guide to 22 technical terms (DataFrame, Polars, Leakage, Score).Read moreTarget Column ConceptUnderstand target variables and how declaring target_column unlocks leakage detection.Read moreInterpreting FindingsLearn how to interpret review findings, assess severity, and decide on fixes.Read moreInteractive NotebooksHands-on Jupyter notebooks covering review, leakage, score, and diff.Read morePython SDK ReferenceFull API reference for load(), profile(), review(), score(), and diff().Read moreCLI ReferenceCommand-line interface for review, analyze, diff, and score.Read more
Installation

Explore

  • Quick Start
  • Python SDK
  • CLI Reference
  • Examples
Featuresmith Icon
Featuresmith

Open-source data profiling and validation for Python engineers.

Documentation

  • Introduction
  • Quick Start
  • Python SDK
  • CLI Reference

Community

  • GitHub
  • Discussions
  • Issues
  • Contributing

Project

  • Roadmap
  • Release status
  • Benchmarks
  • Changelog
  • Examples

Legal

  • Apache 2.0 License
  • Code of Conduct
  • Security

© 2026 Featuresmith Contributors. Released under the Apache 2.0 License.

Built by Aditya Gangwani in the open.