PraisonAI 2.0.38__tar.gz → 2.0.40__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of PraisonAI might be problematic. Click here for more details.

Files changed (88) hide show
  1. {praisonai-2.0.38 → praisonai-2.0.40}/PKG-INFO +2 -2
  2. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/agents_generator.py +13 -9
  3. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/api/call.py +3 -3
  4. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/cli.py +6 -0
  5. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/deploy.py +1 -1
  6. {praisonai-2.0.38 → praisonai-2.0.40}/pyproject.toml +4 -4
  7. {praisonai-2.0.38 → praisonai-2.0.40}/LICENSE +0 -0
  8. {praisonai-2.0.38 → praisonai-2.0.40}/README.md +0 -0
  9. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/__init__.py +0 -0
  10. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/__main__.py +0 -0
  11. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/auto.py +0 -0
  12. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/chainlit_ui.py +0 -0
  13. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/inbuilt_tools/__init__.py +0 -0
  14. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  15. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/inc/__init__.py +0 -0
  16. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/inc/config.py +0 -0
  17. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/inc/models.py +0 -0
  18. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/android-chrome-192x192.png +0 -0
  19. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/android-chrome-512x512.png +0 -0
  20. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/apple-touch-icon.png +0 -0
  21. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/fantasy.svg +0 -0
  22. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/favicon-16x16.png +0 -0
  23. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/favicon-32x32.png +0 -0
  24. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/favicon.ico +0 -0
  25. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/game.svg +0 -0
  26. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/logo_dark.png +0 -0
  27. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/logo_light.png +0 -0
  28. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/movie.svg +0 -0
  29. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  30. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/praison-ai-agents-architecture.png +0 -0
  31. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/public/thriller.svg +0 -0
  32. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/__init__.py +0 -0
  33. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/build.py +0 -0
  34. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/config.yaml +0 -0
  35. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/post_install.py +0 -0
  36. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/setup_conda_env.py +0 -0
  37. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup/setup_conda_env.sh +0 -0
  38. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/setup.py +0 -0
  39. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/test.py +0 -0
  40. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/train.py +0 -0
  41. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/README.md +0 -0
  42. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/agents.py +0 -0
  43. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/callbacks.py +0 -0
  44. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/chat.py +0 -0
  45. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/code.py +0 -0
  46. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/colab.py +0 -0
  47. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/colab_chainlit.py +0 -0
  48. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/components/aicoder.py +0 -0
  49. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/config.toml +0 -0
  50. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/bn.json +0 -0
  51. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/en-US.json +0 -0
  52. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/gu.json +0 -0
  53. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/he-IL.json +0 -0
  54. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/hi.json +0 -0
  55. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/kn.json +0 -0
  56. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/ml.json +0 -0
  57. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/mr.json +0 -0
  58. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/ta.json +0 -0
  59. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/te.json +0 -0
  60. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/.chainlit/translations/zh-CN.json +0 -0
  61. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/chainlit.md +0 -0
  62. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/bn.json +0 -0
  63. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/en-US.json +0 -0
  64. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/gu.json +0 -0
  65. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/he-IL.json +0 -0
  66. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/hi.json +0 -0
  67. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/kn.json +0 -0
  68. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/ml.json +0 -0
  69. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/mr.json +0 -0
  70. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/ta.json +0 -0
  71. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/te.json +0 -0
  72. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/config/translations/zh-CN.json +0 -0
  73. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/context.py +0 -0
  74. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/db.py +0 -0
  75. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/fantasy.svg +0 -0
  76. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/game.svg +0 -0
  77. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/logo_dark.png +0 -0
  78. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/logo_light.png +0 -0
  79. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/movie.svg +0 -0
  80. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/praison.css +0 -0
  81. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/public/thriller.svg +0 -0
  82. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/realtime.py +0 -0
  83. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/realtimeclient/__init__.py +0 -0
  84. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  85. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/realtimeclient/tools.py +0 -0
  86. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/sql_alchemy.py +0 -0
  87. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/ui/tools.md +0 -0
  88. {praisonai-2.0.38 → praisonai-2.0.40}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PraisonAI
3
- Version: 2.0.38
3
+ Version: 2.0.40
4
4
  Summary: 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.
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10,<3.13
@@ -61,7 +61,7 @@ Requires-Dist: playwright (>=1.47.0) ; extra == "code"
61
61
  Requires-Dist: plotly (>=5.24.0) ; extra == "realtime"
62
62
  Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "autogen"
63
63
  Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "crewai"
64
- Requires-Dist: praisonaiagents (>=0.0.30)
64
+ Requires-Dist: praisonaiagents (>=0.0.31)
65
65
  Requires-Dist: pyautogen (>=0.2.19) ; extra == "autogen"
66
66
  Requires-Dist: pydantic (<=2.10.1) ; extra == "chat"
67
67
  Requires-Dist: pydantic (<=2.10.1) ; extra == "code"
@@ -212,9 +212,9 @@ class AgentsGenerator:
212
212
  try:
213
213
  # Try to import tools.py from current directory
214
214
  spec = importlib.util.spec_from_file_location("tools", "tools.py")
215
- self.logger.info(f"Spec: {spec}")
215
+ self.logger.debug(f"Spec: {spec}")
216
216
  if spec is None:
217
- self.logger.info("tools.py not found in current directory")
217
+ self.logger.debug("tools.py not found in current directory")
218
218
  return tools_list
219
219
 
220
220
  module = importlib.util.module_from_spec(spec)
@@ -229,10 +229,10 @@ class AgentsGenerator:
229
229
  globals()[name] = obj
230
230
  # Add to tools list
231
231
  tools_list.append(obj)
232
- self.logger.info(f"Loaded and globalized tool function: {name}")
232
+ self.logger.debug(f"Loaded and globalized tool function: {name}")
233
233
 
234
- self.logger.info(f"Loaded {len(tools_list)} tool functions from tools.py")
235
- self.logger.info(f"Tools list: {tools_list}")
234
+ self.logger.debug(f"Loaded {len(tools_list)} tool functions from tools.py")
235
+ self.logger.debug(f"Tools list: {tools_list}")
236
236
 
237
237
  except Exception as e:
238
238
  self.logger.warning(f"Error loading tools from tools.py: {e}")
@@ -539,7 +539,7 @@ class AgentsGenerator:
539
539
 
540
540
  # Load tools once at the beginning
541
541
  tools_list = self.load_tools_from_tools_py()
542
- self.logger.info(f"Loaded tools: {tools_list}")
542
+ self.logger.debug(f"Loaded tools: {tools_list}")
543
543
 
544
544
  # Create agents from config
545
545
  for role, details in config['roles'].items():
@@ -574,7 +574,7 @@ class AgentsGenerator:
574
574
  agent.step_callback = self.agent_callback
575
575
 
576
576
  agents[role] = agent
577
- self.logger.info(f"Created agent {role_filled} with tools: {agent.tools}")
577
+ self.logger.debug(f"Created agent {role_filled} with tools: {agent.tools}")
578
578
 
579
579
  # Create tasks for the agent
580
580
  for task_name, task_details in details.get('tasks', {}).items():
@@ -596,7 +596,7 @@ class AgentsGenerator:
596
596
  create_directory=task_details.get('create_directory', False)
597
597
  )
598
598
 
599
- self.logger.info(f"Created task {task_name} with tools: {task.tools}")
599
+ self.logger.debug(f"Created task {task_name} with tools: {task.tools}")
600
600
 
601
601
  if self.task_callback:
602
602
  task.callback = self.task_callback
@@ -613,6 +613,8 @@ class AgentsGenerator:
613
613
  task.context = context_tasks
614
614
 
615
615
  # Create and run the PraisonAI agents
616
+ memory = config.get('memory', False)
617
+ self.logger.debug(f"Memory: {memory}")
616
618
  if config.get('process') == 'hierarchical':
617
619
  agents = PraisonAIAgents(
618
620
  agents=list(agents.values()),
@@ -620,12 +622,14 @@ class AgentsGenerator:
620
622
  verbose=True,
621
623
  process="hierarchical",
622
624
  manager_llm=config.get('manager_llm', 'gpt-4o'),
625
+ memory=memory
623
626
  )
624
627
  else:
625
628
  agents = PraisonAIAgents(
626
629
  agents=list(agents.values()),
627
630
  tasks=tasks,
628
- verbose=2
631
+ verbose=2,
632
+ memory=memory
629
633
  )
630
634
 
631
635
  self.logger.debug("Final Configuration:")
@@ -50,7 +50,7 @@ logger.handlers = []
50
50
  # Try to import tools from the root directory
51
51
  tools = []
52
52
  tools_path = os.path.join(os.getcwd(), 'tools.py')
53
- logger.info(f"Tools path: {tools_path}")
53
+ logger.debug(f"Tools path: {tools_path}")
54
54
 
55
55
  def import_tools_from_file(file_path):
56
56
  spec = importlib.util.spec_from_file_location("custom_tools", file_path)
@@ -63,9 +63,9 @@ try:
63
63
  if os.path.exists(tools_path):
64
64
  # tools.py exists in the root directory, import from file
65
65
  custom_tools_module = import_tools_from_file(tools_path)
66
- logger.info("Successfully imported custom tools from root tools.py")
66
+ logger.debug("Successfully imported custom tools from root tools.py")
67
67
  else:
68
- logger.info("No custom tools.py file found in the root directory")
68
+ logger.debug("No custom tools.py file found in the root directory")
69
69
  custom_tools_module = None
70
70
 
71
71
  if custom_tools_module:
@@ -73,6 +73,12 @@ except ImportError:
73
73
  pass
74
74
 
75
75
  logging.basicConfig(level=os.environ.get('LOGLEVEL', 'INFO'), format='%(asctime)s - %(levelname)s - %(message)s')
76
+ logging.getLogger('alembic').setLevel(logging.ERROR)
77
+ logging.getLogger('gradio').setLevel(logging.ERROR)
78
+ logging.getLogger('gradio').setLevel(os.environ.get('GRADIO_LOGLEVEL', 'WARNING'))
79
+ logging.getLogger('rust_logger').setLevel(logging.WARNING)
80
+ logging.getLogger('duckduckgo').setLevel(logging.ERROR)
81
+ logging.getLogger('_client').setLevel(logging.ERROR)
76
82
 
77
83
  def stream_subprocess(command, env=None):
78
84
  """
@@ -56,7 +56,7 @@ class CloudDeployer:
56
56
  file.write("FROM python:3.11-slim\n")
57
57
  file.write("WORKDIR /app\n")
58
58
  file.write("COPY . .\n")
59
- file.write("RUN pip install flask praisonai==2.0.38 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==2.0.40 gunicorn markdown\n")
60
60
  file.write("EXPOSE 8080\n")
61
61
  file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
62
62
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "PraisonAI"
3
- version = "2.0.38"
3
+ version = "2.0.40"
4
4
  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."
5
5
  readme = "README.md"
6
6
  license = ""
@@ -12,7 +12,7 @@ dependencies = [
12
12
  "rich>=13.7",
13
13
  "markdown>=3.5",
14
14
  "pyparsing>=3.0.0",
15
- "praisonaiagents>=0.0.30",
15
+ "praisonaiagents>=0.0.31",
16
16
  "python-dotenv>=0.19.0",
17
17
  "instructor>=1.3.3",
18
18
  "PyYAML>=6.0",
@@ -84,7 +84,7 @@ autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.7", "crewai"]
84
84
 
85
85
  [tool.poetry]
86
86
  name = "PraisonAI"
87
- version = "2.0.38"
87
+ version = "2.0.40"
88
88
  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."
89
89
  authors = ["Mervin Praison"]
90
90
  license = ""
@@ -102,7 +102,7 @@ python = ">=3.10,<3.13"
102
102
  rich = ">=13.7"
103
103
  markdown = ">=3.5"
104
104
  pyparsing = ">=3.0.0"
105
- praisonaiagents = ">=0.0.30"
105
+ praisonaiagents = ">=0.0.31"
106
106
  python-dotenv = ">=0.19.0"
107
107
  instructor = ">=1.3.3"
108
108
  PyYAML = ">=6.0"
File without changes
File without changes
File without changes
File without changes