Observed since 20 Oct, 21:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agent-flow-project
A flexible and extensible framework for building and managing AI agents and workflows
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.
Current version: v0.1.1
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
Flexible Agent Architecture
Advanced Workflow Management
Robust Testing Framework
Data Transformation Tools
Type Safety
pip install agentflow
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})
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
Run the test suite:
# Run all tests
pytest
# Run specific test categories
pytest tests/unit/
pytest tests/core/
pytest tests/performance/
This project is licensed under the MIT License - see the LICENSE file for details.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | numpy>=1.19.0 | runtime |
pandasEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pandas>=1.2.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.0.0 | runtime |
scikit-learnEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | scikit-learn>=0.24.0 | runtime |
rayEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | ray>=2.0.0 | runtime |
requestsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | requests>=2.25.0 | runtime |
jsonschemaEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | jsonschema>=3.2.0 | runtime |
pytestEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest>=6.0.0 | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio>=0.14.0 | runtime |
pytest-covEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-cov>=2.10.0 | runtime |
aiohttpEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | aiohttp>=3.7.0 | runtime |
fastapiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | fastapi>=0.65.0 | runtime |
uvicornEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | uvicorn>=0.13.0 | runtime |
blackEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | black; extra == "dev" | runtime |
flake8Environment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | flake8; extra == "dev" | runtime |
isortEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | isort; extra == "dev" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | mypy; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-cov; extra == "dev" | runtime |
sphinxEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | sphinx; extra == "dev" | runtime |
sphinx-rtd-themeEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | sphinx-rtd-theme; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest; extra == "test" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio; extra == "test" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-cov; extra == "test" | runtime |
sphinxEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | sphinx; extra == "docs" | runtime |
sphinx-rtd-themeEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | sphinx-rtd-theme; extra == "docs" | runtime |
bdist_wheel · 292.69 KB · Python py3
sdist · 240.47 KB · Python source
Shared repository data · GitHub
Observed since 20 Oct, 21:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:61c2cb27900c6f4ab7b9a2500a03d404c2a2e76166ad8ef7ae0a95cff67ba6d6