featuresmith
  • Docs
  • SDK
  • CLI
  • Examples
  • Roadmap
v0.1.0
Documentation

Getting Started

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

Core Concepts

  • Architecture Overview
  • Dataset Layer
  • Connectors
  • Profiling Engine
  • Rule Engine

Python SDK

  • load()
  • profile()
  • analyze()
  • Data Models
  • Exceptions
  • Plugins

CLI Reference

  • analyze
  • Configuration

Guides

  • CI/CD Integration
  • Custom Rules
  • Writing Plugins

Resources

  • Release Notes
  • FAQ
  • Troubleshooting
DocsGuide

Getting Started

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

Core Concepts

  • Architecture Overview
  • Dataset Layer
  • Connectors
  • Profiling Engine
  • Rule Engine

Python SDK

  • load()
  • profile()
  • analyze()
  • Data Models
  • Exceptions
  • Plugins

CLI Reference

  • analyze
  • Configuration

Guides

  • CI/CD Integration
  • Custom Rules
  • Writing Plugins

Resources

  • Release Notes
  • FAQ
  • Troubleshooting
HomeDocsDataset Layer

Core Concepts

Dataset Layer

Unified tabular dataset and schema representation

Tabular data formats are fragmented. Columns might have different names, null indicators, or types depending on the file format or parsing engine. The **Dataset Layer** is a normalized layer that wraps tabular sources into an immutable, structured contract.

The Dataset Class

The Dataset class wraps loaded tabular engines and exposes the following properties:

  • dataframe: The raw underlying DataFrame (Polars or pandas).
  • backend: Indication of engine, returning "polars" or "pandas".
  • schema: The ordered DatasetSchema list of columns.
  • row_count: Total row dimension of the table.
  • column_count: Total column dimension of the table.
  • dtypes: Mapping of column names to backend dtype strings.
  • source: Local path of the source file, or None if in-memory.
  • file_size: Size of the source file in bytes, or None if in-memory.

Previewing Data

You can read a clean preview subset of the records using the preview() method:

python
1import featuresmith as fs
2
3dataset = fs.load("train.parquet")
4# Get the first 5 records as a backend-specific dataframe
5head_df = dataset.preview(5)

Explore

  • Quick Start
  • Python SDK
  • CLI Reference
  • Examples
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 in the open — contributions welcome.