PraisonAI 0.1.1__tar.gz → 0.1.2__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 (51) hide show
  1. {praisonai-0.1.1 → praisonai-0.1.2}/PKG-INFO +1 -1
  2. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/deploy.py +1 -1
  3. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/realtime.py +47 -1
  4. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/realtimeclient/__init__.py +1 -0
  5. {praisonai-0.1.1 → praisonai-0.1.2}/pyproject.toml +1 -1
  6. {praisonai-0.1.1 → praisonai-0.1.2}/LICENSE +0 -0
  7. {praisonai-0.1.1 → praisonai-0.1.2}/README.md +0 -0
  8. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/__init__.py +0 -0
  9. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/__main__.py +0 -0
  10. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/agents_generator.py +0 -0
  11. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/auto.py +0 -0
  12. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/chainlit_ui.py +0 -0
  13. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/cli.py +0 -0
  14. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/inbuilt_tools/__init__.py +0 -0
  15. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  16. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/inc/__init__.py +0 -0
  17. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/inc/config.py +0 -0
  18. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/inc/models.py +0 -0
  19. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/android-chrome-192x192.png +0 -0
  20. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/android-chrome-512x512.png +0 -0
  21. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/apple-touch-icon.png +0 -0
  22. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/fantasy.svg +0 -0
  23. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/favicon-16x16.png +0 -0
  24. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/favicon-32x32.png +0 -0
  25. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/favicon.ico +0 -0
  26. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/game.svg +0 -0
  27. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/logo_dark.png +0 -0
  28. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/logo_light.png +0 -0
  29. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/movie.svg +0 -0
  30. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/public/thriller.svg +0 -0
  31. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/__init__.py +0 -0
  32. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/build.py +0 -0
  33. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/config.yaml +0 -0
  34. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/post_install.py +0 -0
  35. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/setup_conda_env.py +0 -0
  36. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/setup/setup_conda_env.sh +0 -0
  37. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/test.py +0 -0
  38. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/train.py +0 -0
  39. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/chat.py +0 -0
  40. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/code.py +0 -0
  41. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/context.py +0 -0
  42. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/fantasy.svg +0 -0
  43. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/game.svg +0 -0
  44. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/logo_dark.png +0 -0
  45. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/logo_light.png +0 -0
  46. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/movie.svg +0 -0
  47. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/public/thriller.svg +0 -0
  48. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  49. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/realtimeclient/tools.py +0 -0
  50. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/ui/sql_alchemy.py +0 -0
  51. {praisonai-0.1.1 → praisonai-0.1.2}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PraisonAI
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10,<3.13
@@ -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==0.1.1 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==0.1.2 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
 
@@ -144,6 +144,50 @@ cl_data._data_layer = SQLAlchemyDataLayer(conninfo=f"sqlite+aiosqlite:///{DB_PAT
144
144
 
145
145
  client = AsyncOpenAI()
146
146
 
147
+ # Add these new imports and code
148
+ import importlib.util
149
+ import logging
150
+ from importlib import import_module
151
+ from pathlib import Path
152
+
153
+ # Set up logging
154
+ logging.basicConfig(level=logging.INFO)
155
+ logger = logging.getLogger(__name__)
156
+
157
+ # Try to import tools from the root directory
158
+ root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
159
+ tools_path = os.path.join(root_dir, 'tools.py')
160
+ logger.info(f"Tools path: {tools_path}")
161
+
162
+ def import_tools_from_file(file_path):
163
+ spec = importlib.util.spec_from_file_location("custom_tools", file_path)
164
+ custom_tools_module = importlib.util.module_from_spec(spec)
165
+ spec.loader.exec_module(custom_tools_module)
166
+ logger.debug(f"Imported tools from {file_path}")
167
+ logger.debug(f"Tools: {custom_tools_module}")
168
+ return custom_tools_module
169
+
170
+ try:
171
+ if os.path.exists(tools_path):
172
+ # tools.py exists in the root directory, import from file
173
+ custom_tools_module = import_tools_from_file(tools_path)
174
+ logger.info("Successfully imported custom tools from root tools.py")
175
+ else:
176
+ logger.info("No custom tools.py file found in the root directory")
177
+ custom_tools_module = None
178
+
179
+ if custom_tools_module:
180
+ # Update the tools list with custom tools
181
+ if hasattr(custom_tools_module, 'tools') and isinstance(custom_tools_module.tools, list):
182
+ tools.extend(custom_tools_module.tools)
183
+ else:
184
+ for name, obj in custom_tools_module.__dict__.items():
185
+ if callable(obj) and not name.startswith("__"):
186
+ tools.append(({"type": "function", "function": obj}, obj))
187
+
188
+ except Exception as e:
189
+ logger.warning(f"Error importing custom tools: {str(e)}. Continuing without custom tools.")
190
+
147
191
  @cl.on_chat_start
148
192
  async def start():
149
193
  initialize_db()
@@ -365,4 +409,6 @@ async def on_chat_resume(thread: ThreadDict):
365
409
  cl.user_session.set("message_history", message_history)
366
410
 
367
411
  # Reconnect to OpenAI realtime
368
- await setup_openai_realtime()
412
+ await setup_openai_realtime()
413
+
414
+
@@ -552,6 +552,7 @@ class RealtimeClient(RealtimeEventHandler):
552
552
  for key in self.tools
553
553
  ]
554
554
  session = {**self.session_config, "tools": use_tools}
555
+ logger.debug(f"Updating session: {session}")
555
556
  if self.realtime.is_connected():
556
557
  await self.realtime.send("session.update", {"session": session})
557
558
  return True
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "PraisonAI"
3
- version = "0.1.1"
3
+ version = "0.1.2"
4
4
  description = "PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration."
5
5
  authors = ["Mervin Praison"]
6
6
  license = ""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes