Catalog PyPI
Back to packageRELEASE DETAILS

0.1.2

PyPI

agent-flow-project

A flexible and extensible framework for building and managing AI agents and workflows

Published14 Feb 2025
Direct dependencies19
Transitive dependenciesNot calculated

README

Version 0.1.2 documentation

AgentFlow

AgentFlow is a flexible and extensible framework for building and managing AI agents and workflows. It provides a modular architecture for creating, configuring, and orchestrating AI agents with advanced features for workflow management and testing.

Latest Version

Current version: v0.1.1

  • Fixed workflow transform functions to handle step and context parameters
  • Added feature engineering and outlier removal transforms
  • Improved test suite and type hints
  • Enhanced error handling and validation

Project Structure

agentflow/
├── agents/             # Agent implementations
│   ├── agent.py       # Base agent implementation
│   └── agent_types.py # Agent type definitions
├── core/              # Core framework components
│   ├── base_types.py  # Base type definitions
│   ├── config.py      # Configuration management
│   ├── workflow.py    # Workflow engine
│   └── workflow_executor.py # Workflow execution
├── ell2a/             # ELL2A integration
│   └── types/         # Message and content types
├── transformations/   # Data transformation tools
│   └── text.py       # Text processing utilities
└── tests/            # Comprehensive test suite
    ├── unit/         # Unit tests
    ├── core/         # Core component tests
    └── performance/  # Performance tests

Features

  • Flexible Agent Architecture

    • Configurable agent types and behaviors
    • Support for research and data science agents
    • Extensible agent factory system
  • Advanced Workflow Management

    • Step-based workflow execution
    • Dependency management
    • Error handling and retry policies
    • Performance monitoring
  • Robust Testing Framework

    • Unit and integration tests
    • Performance testing
    • Test-driven development support
  • Data Transformation Tools

    • Feature engineering
    • Outlier removal
    • Text processing utilities
  • Type Safety

    • Comprehensive type hints
    • Pydantic model validation
    • Runtime type checking

Installation

pip install agentflow

Quick Start

from agentflow import Agent, AgentConfig, WorkflowConfig, WorkflowStep, WorkflowStepType

# Create workflow configuration
workflow_config = WorkflowConfig(
    id="test-workflow",
    name="test_workflow",
    steps=[
        WorkflowStep(
            id="step-1",
            name="transform_step",
            type=WorkflowStepType.TRANSFORM,
            description="Data transformation step",
            config={
                "strategy": "standard",
                "params": {
                    "method": "standard",
                    "with_mean": True,
                    "with_std": True
                }
            }
        )
    ]
)

# Create agent configuration
agent_config = AgentConfig(
    name="test_agent",
    type="data_science",
    workflow=workflow_config
)

# Create and initialize agent
agent = Agent(config=agent_config)
await agent.initialize()

# Process data
result = await agent.execute({"data": your_data})

Configuration

Agents and workflows can be configured using Python dictionaries or YAML files:

AGENT:
  name: data_science_agent
  type: data_science
  version: 1.0.0
  mode: sequential

MODEL:
  provider: openai
  name: gpt-4
  temperature: 0.7
  max_tokens: 4096

WORKFLOW:
  id: transform-workflow
  name: Data Transformation Workflow
  max_iterations: 5
  timeout: 30
  steps:
    - id: step-1
      name: feature_engineering
      type: transform
      description: Feature engineering step
      config:
        strategy: standard
        params:
          method: standard
          with_mean: true
          with_std: true

Testing

Run the test suite:

# Run all tests
pytest

# Run specific test categories
pytest tests/unit/
pytest tests/core/
pytest tests/performance/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Write tests for your changes
  4. Implement your changes
  5. Run the test suite
  6. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 27

Native requirements
19 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
numpy>=1.19.0runtime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pandas>=1.2.0runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pydantic>=2.0.0runtime
scikit-learn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
scikit-learn>=0.24.0runtime
ray
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
ray>=2.0.0runtime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
requests>=2.25.0runtime
jsonschema
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
jsonschema>=3.2.0runtime
pytest
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest>=6.0.0runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.14.0runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=2.10.0runtime
aiohttp
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
aiohttp>=3.7.0runtime
fastapi
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
fastapi>=0.65.0runtime
uvicorn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
uvicorn>=0.13.0runtime
black
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
black; extra == "dev"runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
flake8; extra == "dev"runtime
isort
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
isort; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
mypy; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov; extra == "dev"runtime
sphinx
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
sphinx; extra == "dev"runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest; extra == "test"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio; extra == "test"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"test\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov; extra == "test"runtime
sphinx
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
sphinx; extra == "docs"runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme; extra == "docs"runtime

Distribution files

2 collected
agent_flow_project-0.1.2-py3-none-any.whl

bdist_wheel · 292.69 KB · Python py3

Source file
agent_flow_project-0.1.2.tar.gz

sdist · 240.47 KB · Python source

Source file

Repository

PENDING
chenxingqiang/agent-flow-project

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:55 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:61c2cb27900c6f4ab7b9a2500a03d404c2a2e76166ad8ef7ae0a95cff67ba6d6

Other collected versions

View all collected versions →