Skip to main content

Data Enrichment Agent

The Data Enrichment Agent is a Python-based tool that automatically generates and applies feature engineering transformations to enhance your datasets. It analyzes the structure and content of your data, then uses a Large Language Model (LLM) to suggest and create meaningful new features for machine learning and analytics.

Features

  • Automated Feature Engineering: Generate new features using LLM-powered suggestions
  • Intelligent Data Profiling: Automatic analysis of input data characteristics
  • Multiple Data Formats: Support for CSV, Excel, JSON, and Parquet files
  • Configurable Parameters: Customize enrichment behavior and thresholds
  • Production-Ready: Type hints, logging, and error handling throughout
  • Extensible: Built on a modular framework that allows for easy extension

Feature Engineering Capabilities

The agent can generate various types of features:

  1. Time-Based Features

    • Date part extraction
    • Time differences
    • Business day calculations
  2. Numeric Transformations

    • Polynomial features
    • Binning and discretization
    • Mathematical transformations
  3. Categorical Encodings

    • One-hot encoding
    • Frequency encoding
    • Target encoding
  4. Interaction Features

    • Arithmetic combinations
    • Ratio features
    • Conditional features

Prerequisites

  • uv – package & environment manager
    For quick setup on macOS/Linux:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/stepfnAI/data_enrichment_agent.git
    cd data_enrichment_agent
    git switch dev
    
  2. Set up the virtual environment and install dependencies

    uv venv --python=3.10 venv
    source venv/bin/activate
    uv pip install -e ".[dev]"
    
  3. Clone and install the blueprint dependency

    cd ..
    git clone https://github.com/stepfnAI/sfn_blueprint.git
    cd sfn_blueprint
    git switch dev
    uv pip install -e .
    cd ../data_enrichment_agent
    
  4. export the environment variables

    export OPENAI_API_KEY="your_openai_api_key"
    

Architecture

The Data Enrichment Agent is built with a modular architecture:

data_enrichment_agent/
├── agent.py           # Main agent implementation
├── models.py          # Pydantic models for data structures
├── utils.py           # Helper functions and utilities
├── config.py          # Configuration management
├── constants.py       # Constants and templates
└── cli.py             # Command-line interface

Configuration

The agent can be configured using the EnrichmentConfig class. Here are the available configuration options:

from data_enrichment_agent.models import EnrichmentConfig

config = EnrichmentConfig(
    model_name="gpt-4.1-mini",  # LLM model to use
    model_temperature=0.1,      # Temperature for LLM responses
    model_max_tokens=2000,      # Maximum tokens for LLM responses
    ai_provider="openai",       # AI provider to use
    ai_task_type="feature_suggestions_generator", # Task type for AI requests
    

Basic Usage

python examples/basic_usage.py

Testing

Run the test suite using pytest:

# Run all tests
pytest tests/ -s

# Run specific test
pytest tests/test_agent.py -s

# Run with coverage report
pytest --cov=data_enrichment_agent tests/ -s

Contributing

Contributions are welcome! Please follow these steps:

  1. Create a feature branch (git checkout -b feature/amazing-feature)
  2. Commit your changes (git commit -m 'Add some amazing feature')
  3. Push to the branch (git push origin feature/amazing-feature)

Release files for data-enrichment-agent 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for data-enrichment-agent 0.1.12
File Size Uploaded
data_enrichment_agent-0.1.12.tar.gz 18.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for data-enrichment-agent 0.1.12
File Interpreter ABI Platform
data_enrichment_agent-0.1.12-py3-none-any.whl Python 3 none any Details

Total release size: 36.0 kB

Release files / data_enrichment_agent-0.1.12.tar.gz

Download URL data_enrichment_agent-0.1.12.tar.gz
Size 18.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e1533b794fd963558678b453f347b028b9791707a7188983527547e064d9967d
BLAKE2b-256 checksum
How to use checksums
d4db87106879c955139386b84f68e41bc59ae621f601d1139d2830d8627780d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / data_enrichment_agent-0.1.12-py3-none-any.whl

Download URL data_enrichment_agent-0.1.12-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18071d4783d7afdd860a2b41706c513e5f3b2e7b5194af3f155b2bc96bf6bdab
BLAKE2b-256 checksum
How to use checksums
ee39de8935d417a8192e8640deab4ce7a9d6faed8a470b2395c1d2c4a4605d49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.1.12 This release

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page