Metadata-Version: 2.1
Name: sfn-blueprint
Version: 0.2.0
Summary: sfn-blueprint is a modular framework that enables rapid building of AI Agents, offering both flexibility and ease of customization.
Home-page: https://github.com/iamrajeshdaraksfn/sfn_blueprint
Author: Rajesh Darak
Author-email: rajesh@stepfuction.ai
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: PyYAML==6.0
Requires-Dist: numpy==1.24.3
Requires-Dist: openai==1.40.3
Requires-Dist: pandas==1.5.3
Requires-Dist: python-dotenv==1.0.0
Requires-Dist: streamlit==1.39.0

```md
# SFNBlueprint Framework

SFNBlueprint is a modular framework for rapid building of intelligent agents to handle various data-related tasks,
such as category identification, code execution, feature suggestion generation, data analysis, and more.
These agents integrate with OpenAI to perform their tasks and can be extended with custom logic.

## Features

- **Base Agent**: A base class for all agents to extend.
- **Category Identification**: Automatically categorize datasets based on column names.
- **Data Cleaning Suggestions**: Generate suggestions for cleaning datasets.
- **Code Execution**: Dynamically execute code on data frames.
- **Feature Suggestion**: Get feature engineering suggestions based on your dataset.
- **Data Analysis**: Analyze datasets and return detailed statistics.

## Installation

You can install the SFNBlueprint framework via pip:

```bash
pip install SFNBlueprint
```

## Usage

### 1. Environment Setup

To use the agents, you need an API key from OpenAI. Store the key in a `.env` file in your project root directory:

```bash
OPENAI_API_KEY=your_openai_api_key_here
```

Ensure the `python-dotenv` package is installed to load environment variables.

### 2. Using Agents

### Example : Loading Data with `SFNDataLoader`

```python
from sfn_blueprint import SFNDataLoader, Task

task = Task(description="Load CSV data", data=open("data.csv", "rb"))

data_loader = SFNDataLoader()

# Load data into a pandas DataFrame
dataframe = data_loader.execute_task(task)
print(dataframe.head())  # Display the first few rows
```

### 3. Extending Agents

You can create custom agents by extending the base class `SFNAgent`. Here's a minimal example of creating a new agent:

```python
from sfn_blueprint import SFNAgent

class CustomAgent(SFNAgent):
    def __init__(self):
        super().__init__(name="Custom Agent", role="Performs custom task")

    def execute_task(self, task):
        # Custom logic here
        return "Task executed"
```

## Contact

For any queries or issues, please contact the maintainer at `rajesh@stepfunction.ai`.
```

