diff --git a/Dockerfile b/Dockerfile
index bc557a9e..09dca369 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
FROM python:3.11-slim
WORKDIR /app
COPY . .
-RUN pip install flask praisonai==2.0.19 gunicorn markdown
+RUN pip install flask praisonai==2.0.20 gunicorn markdown
EXPOSE 8080
CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]
diff --git a/agents/praisonaiagents/agents/agents.py b/agents/praisonaiagents/agents/agents.py
index df147ac9..c0ebe456 100644
--- a/agents/praisonaiagents/agents/agents.py
+++ b/agents/praisonaiagents/agents/agents.py
@@ -10,10 +10,7 @@
from ..main import display_error, TaskOutput, error_logs, client
from ..agent.agent import Agent
from ..task.task import Task
-from ..process.process import Process
-
-class LoopItems(BaseModel):
- items: List[Any]
+from ..process.process import Process, LoopItems
def encode_file_to_base64(file_path: str) -> str:
"""Base64-encode a file."""
diff --git a/agents/praisonaiagents/process/process.py b/agents/praisonaiagents/process/process.py
index 04d6d0f1..52e70d0a 100644
--- a/agents/praisonaiagents/process/process.py
+++ b/agents/praisonaiagents/process/process.py
@@ -1,11 +1,12 @@
import logging
-from typing import Dict, Optional, List
+from typing import Dict, Optional, List, Any
from pydantic import BaseModel
from ..agent.agent import Agent
from ..task.task import Task
+from ..main import display_error, client
class LoopItems(BaseModel):
- items: List[any]
+ items: List[Any]
class Process:
def __init__(self, tasks: Dict[str, Task], agents: List[Agent], manager_llm: Optional[str] = None, verbose: bool = False):
diff --git a/agents/pyproject.toml b/agents/pyproject.toml
index 88a7ebe3..9dbb305d 100644
--- a/agents/pyproject.toml
+++ b/agents/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "praisonaiagents"
-version = "0.0.15"
+version = "0.0.16"
description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
authors = [
{ name="Mervin Praison" }
diff --git a/agents/uv.lock b/agents/uv.lock
index 5ee7fb1d..39e22306 100644
--- a/agents/uv.lock
+++ b/agents/uv.lock
@@ -186,7 +186,7 @@ wheels = [
[[package]]
name = "praisonaiagents"
-version = "0.0.15"
+version = "0.0.16"
source = { editable = "." }
dependencies = [
{ name = "openai" },
diff --git a/docs/api/praisonai/deploy.html b/docs/api/praisonai/deploy.html
index ecd0a549..feabf181 100644
--- a/docs/api/praisonai/deploy.html
+++ b/docs/api/praisonai/deploy.html
@@ -110,7 +110,7 @@
Raises
file.write("FROM python:3.11-slim\n")
file.write("WORKDIR /app\n")
file.write("COPY . .\n")
- file.write("RUN pip install flask praisonai==2.0.19 gunicorn markdown\n")
+ file.write("RUN pip install flask praisonai==2.0.20 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
diff --git a/praisonai.rb b/praisonai.rb
index f0df9362..8da79373 100644
--- a/praisonai.rb
+++ b/praisonai.rb
@@ -3,7 +3,7 @@ class Praisonai < Formula
desc "AI tools for various AI applications"
homepage "https://github.com/MervinPraison/PraisonAI"
- url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/2.0.19.tar.gz"
+ url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/2.0.20.tar.gz"
sha256 "1828fb9227d10f991522c3f24f061943a254b667196b40b1a3e4a54a8d30ce32" # Replace with actual SHA256 checksum
license "MIT"
diff --git a/praisonai/deploy.py b/praisonai/deploy.py
index dcdda988..f06508ea 100644
--- a/praisonai/deploy.py
+++ b/praisonai/deploy.py
@@ -56,7 +56,7 @@ def create_dockerfile(self):
file.write("FROM python:3.11-slim\n")
file.write("WORKDIR /app\n")
file.write("COPY . .\n")
- file.write("RUN pip install flask praisonai==2.0.19 gunicorn markdown\n")
+ file.write("RUN pip install flask praisonai==2.0.20 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
diff --git a/pyproject.toml b/pyproject.toml
index 95180d28..8d6439bf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "PraisonAI"
-version = "2.0.19"
+version = "2.0.20"
description = "PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human–agent collaboration."
readme = "README.md"
license = ""
@@ -12,7 +12,7 @@ dependencies = [
"rich>=13.7",
"markdown>=3.5",
"pyparsing>=3.0.0",
- "praisonaiagents>=0.0.15",
+ "praisonaiagents>=0.0.16",
"python-dotenv>=0.19.0",
"instructor>=1.3.3",
"PyYAML>=6.0",
@@ -78,7 +78,7 @@ autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.7", "crewai"]
[tool.poetry]
name = "PraisonAI"
-version = "2.0.19"
+version = "2.0.20"
description = "PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human–agent collaboration."
authors = ["Mervin Praison"]
license = ""
@@ -96,7 +96,7 @@ python = ">=3.10,<3.13"
rich = ">=13.7"
markdown = ">=3.5"
pyparsing = ">=3.0.0"
-praisonaiagents = ">=0.0.15"
+praisonaiagents = ">=0.0.16"
python-dotenv = ">=0.19.0"
instructor = ">=1.3.3"
PyYAML = ">=6.0"
diff --git a/uv.lock b/uv.lock
index cc50b0fa..5c3aef98 100644
--- a/uv.lock
+++ b/uv.lock
@@ -3061,7 +3061,7 @@ wheels = [
[[package]]
name = "praisonai"
-version = "2.0.19"
+version = "2.0.20"
source = { editable = "." }
dependencies = [
{ name = "instructor" },
@@ -3192,7 +3192,7 @@ requires-dist = [
{ name = "plotly", marker = "extra == 'realtime'", specifier = ">=5.24.0" },
{ name = "praisonai-tools", marker = "extra == 'autogen'", specifier = ">=0.0.7" },
{ name = "praisonai-tools", marker = "extra == 'crewai'", specifier = ">=0.0.7" },
- { name = "praisonaiagents", specifier = ">=0.0.15" },
+ { name = "praisonaiagents", specifier = ">=0.0.16" },
{ name = "pyautogen", marker = "extra == 'autogen'", specifier = ">=0.2.19" },
{ name = "pydantic", marker = "extra == 'chat'", specifier = "<=2.10.1" },
{ name = "pydantic", marker = "extra == 'code'", specifier = "<=2.10.1" },
@@ -3243,16 +3243,16 @@ wheels = [
[[package]]
name = "praisonaiagents"
-version = "0.0.15"
+version = "0.0.16"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "openai" },
{ name = "pydantic" },
{ name = "rich" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/4c/c0/ba051621b446a933bf7cbe4c15082037d42a682ad8f237dc56c90b575322/praisonaiagents-0.0.15.tar.gz", hash = "sha256:aa2860069785b8c8e29cba7784436090eced2618b9e38c3a16c4aba61683a0be", size = 20872 }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/43/aede54fe1f1570cb169029d186c1e09333c0080551ccd136b496d3a5c93b/praisonaiagents-0.0.16.tar.gz", hash = "sha256:867576b392f54d2a02ba49ab4e1f83818e4bd6979530dfc987ffebca9fce66db", size = 20789 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c0/6e/1caf53af45946496c937cb15f53b472d140e57ae5ecec4d22a6c1f7f2a76/praisonaiagents-0.0.15-py3-none-any.whl", hash = "sha256:92eb4f448a92bfd5886a7eb00674eb3da7cb548066d0c078409c74a17dae1596", size = 27327 },
+ { url = "https://files.pythonhosted.org/packages/0c/50/e0d73730f9899d78482748f711e6e05f138061d2d51650adaf964c258dc6/praisonaiagents-0.0.16-py3-none-any.whl", hash = "sha256:a1f4086a75383e842e477937580670334f8babe9d8e43aa809bfb7806888585f", size = 27323 },
]
[[package]]