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
HomeDocsConnectors

Core Concepts

Connectors

Normalized ingestion engines for local and memory data formats

Featuresmith implements ingestion using dedicated, deterministic connectors registered in a static registry. This registry decodes inputs and returns a unified Dataset contract.

Supported Source Formats

Format / ExtensionInternal ConnectorDataFrame BackendDependencies
.csvCsvConnectorPolarspolars
.parquet, .pqParquetConnectorPolarspolars, pyarrow
.xlsx, .xls, .xlsmExcelConnectorpandaspandas, openpyxl
pandas.DataFrameDataFrameConnectorpandaspandas
polars.DataFrameDataFrameConnectorPolarspolars

Ingestion Robustness & Security

Connectors validate physical path existence, readable access, and extension matching prior to loading. If any validation or parsing step fails, a ConnectorError (such as SourceNotFoundError or SourceParseError) is raised.

python
1import featuresmith as fs
2from featuresmith.core.exceptions import SourceNotFoundError
3
4try:
5 dataset = fs.load("missing_data.csv")
6except SourceNotFoundError as e:
7 print(f"Data file is missing: {e}")

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.