Metadata-Version: 2.3
Name: aiden-ai
Version: 0.1.1
Summary: An agentic framework for building Data transformations from natural language
License: Apache-2.0
Keywords: agent,custom ai,llm,data transformation,data engineering
Author: hamza sefiane
Author-email: h.sefiane7@gmail.com
Requires-Python: >=3.11,<3.13
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all
Provides-Extra: lightweight
Requires-Dist: black (>=24.10.0,<25.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: dataclasses-json (>=0.6.7,<0.7.0)
Requires-Dist: hypothesis (>=6.125.1,<7.0.0)
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: joblib (>=1.4.2,<2.0.0)
Requires-Dist: litellm (==1.65.8)
Requires-Dist: numpy (>=1.23.2,<2.0.0)
Requires-Dist: pandas (>=1.5.0,<=2.2.0)
Requires-Dist: platformdirs (>=4.3.7,<5.0.0)
Requires-Dist: pyarrow (>=19.0.0,<20.0.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: rich (>=13.7.1,<14.0.0)
Requires-Dist: smolagents[telemetry,toolkit] (>=1.15.0,<2.0.0)
Requires-Dist: strawberry-graphql (==0.267.0)
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
Project-URL: Homepage, https://github.com/getaiden/aiden
Project-URL: Repository, https://github.com/getaiden/aiden
Description-Content-Type: text/markdown

# Aiden

An agentic framework for building data transformations from natural language.

## Overview

Aiden is a Python framework that enables you to build data transformations using natural language. It leverages AI agents to simplify data engineering tasks, making them more accessible and efficient.

## Installation

You can install Aiden using pip:

```bash
pip install aiden-ai
```

Or using Poetry:

```bash
poetry add aiden-ai
```

For development installation:

```bash
git clone https://github.com/getaiden/aiden.git
cd aiden
poetry install
```

## Example Usage

Aiden makes it easy to transform data using natural language instructions. Here's a simple example of cleaning email addresses:

```python
from aiden import Transformation
from pandas import DataFrame

# Create a validation dataset
validation_df = DataFrame(
    {
        "email":
        ["test", "test2", "test@test.com", "test@test.com"]
    }
)

# Define your transformation with natural language intent
tr = Transformation(
    intent="""Clean the email column by:
    1. Removing any leading or trailing whitespace
    2. Converting all emails to lowercase
    3. Validating email format (must contain @ and a valid domain)
    4. Removing duplicate email addresses
    5. Filtering out emails from disposable domains
    Return only the valid, cleaned email addresses.""",
    input_schema={"email": str},
    output_schema={"email": str},
)

# Build the transformation with the validation dataset
tr.build(validation_dataset=validation_df)

# Print the transformation description
print(tr.describe().as_markdown())
```

This example demonstrates how to create a transformation that cleans email addresses, validates the transformation with sample data, and then applies it to your actual dataset.

## License

This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
