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 / Extension | Internal Connector | DataFrame Backend | Dependencies |
|---|---|---|---|
| .csv | CsvConnector | Polars | polars |
| .parquet, .pq | ParquetConnector | Polars | polars, pyarrow |
| .xlsx, .xls, .xlsm | ExcelConnector | pandas | pandas, openpyxl |
| pandas.DataFrame | DataFrameConnector | pandas | pandas |
| polars.DataFrame | DataFrameConnector | Polars | polars |
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
import featuresmith as fsfrom featuresmith.core.exceptions import SourceNotFoundErrortry: dataset = fs.load("missing_data.csv")except SourceNotFoundError as e: print(f"Data file is missing: {e}")