PraisonAI 2.2.36__tar.gz → 2.2.38__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 (79) hide show
  1. {praisonai-2.2.36 → praisonai-2.2.38}/PKG-INFO +2 -2
  2. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/deploy.py +58 -11
  3. {praisonai-2.2.36 → praisonai-2.2.38}/pyproject.toml +4 -4
  4. {praisonai-2.2.36 → praisonai-2.2.38}/README.md +0 -0
  5. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/README.md +0 -0
  6. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/__init__.py +0 -0
  7. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/__main__.py +0 -0
  8. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/agents_generator.py +0 -0
  9. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/api/call.py +0 -0
  10. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/auto.py +0 -0
  11. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/chainlit_ui.py +0 -0
  12. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/cli.py +0 -0
  13. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/inbuilt_tools/__init__.py +0 -0
  14. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  15. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/inc/__init__.py +0 -0
  16. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/inc/config.py +0 -0
  17. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/inc/models.py +0 -0
  18. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/android-chrome-192x192.png +0 -0
  19. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/android-chrome-512x512.png +0 -0
  20. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/apple-touch-icon.png +0 -0
  21. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/fantasy.svg +0 -0
  22. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/favicon-16x16.png +0 -0
  23. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/favicon-32x32.png +0 -0
  24. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/favicon.ico +0 -0
  25. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/game.svg +0 -0
  26. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/logo_dark.png +0 -0
  27. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/logo_light.png +0 -0
  28. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/movie.svg +0 -0
  29. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/praison-ai-agents-architecture-dark.png +0 -0
  30. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/praison-ai-agents-architecture.png +0 -0
  31. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/public/thriller.svg +0 -0
  32. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/scheduler.py +0 -0
  33. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/__init__.py +0 -0
  34. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/build.py +0 -0
  35. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/config.yaml +0 -0
  36. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/post_install.py +0 -0
  37. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/setup_conda_env.py +0 -0
  38. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup/setup_conda_env.sh +0 -0
  39. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/setup.py +0 -0
  40. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/test.py +0 -0
  41. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/train.py +0 -0
  42. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/train_vision.py +0 -0
  43. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/README.md +0 -0
  44. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/agents.py +0 -0
  45. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/callbacks.py +0 -0
  46. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/chat.py +0 -0
  47. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/code.py +0 -0
  48. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/colab.py +0 -0
  49. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/colab_chainlit.py +0 -0
  50. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/components/aicoder.py +0 -0
  51. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/chainlit.md +0 -0
  52. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/bn.json +0 -0
  53. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/en-US.json +0 -0
  54. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/gu.json +0 -0
  55. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/he-IL.json +0 -0
  56. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/hi.json +0 -0
  57. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/kn.json +0 -0
  58. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/ml.json +0 -0
  59. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/mr.json +0 -0
  60. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/ta.json +0 -0
  61. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/te.json +0 -0
  62. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/config/translations/zh-CN.json +0 -0
  63. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/context.py +0 -0
  64. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/database_config.py +0 -0
  65. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/db.py +0 -0
  66. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/fantasy.svg +0 -0
  67. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/game.svg +0 -0
  68. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/logo_dark.png +0 -0
  69. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/logo_light.png +0 -0
  70. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/movie.svg +0 -0
  71. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/praison.css +0 -0
  72. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/public/thriller.svg +0 -0
  73. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/realtime.py +0 -0
  74. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/realtimeclient/__init__.py +0 -0
  75. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/realtimeclient/tools.py +0 -0
  76. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/sql_alchemy.py +0 -0
  77. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/ui/tools.md +0 -0
  78. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/upload_vision.py +0 -0
  79. {praisonai-2.2.36 → praisonai-2.2.38}/praisonai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PraisonAI
3
- Version: 2.2.36
3
+ Version: 2.2.38
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
@@ -64,7 +64,7 @@ Requires-Dist: playwright (>=1.47.0) ; extra == "code"
64
64
  Requires-Dist: plotly (>=5.24.0) ; extra == "realtime"
65
65
  Requires-Dist: praisonai-tools (>=0.0.15) ; extra == "autogen"
66
66
  Requires-Dist: praisonai-tools (>=0.0.15) ; extra == "crewai"
67
- Requires-Dist: praisonaiagents (>=0.0.109)
67
+ Requires-Dist: praisonaiagents (>=0.0.111)
68
68
  Requires-Dist: pyautogen (>=0.2.19) ; extra == "autogen"
69
69
  Requires-Dist: pydantic (<=2.10.1) ; extra == "chat"
70
70
  Requires-Dist: pydantic (<=2.10.1) ; extra == "code"
@@ -1,5 +1,6 @@
1
1
  import subprocess
2
2
  import os
3
+ import platform
3
4
  from dotenv import load_dotenv
4
5
 
5
6
  class CloudDeployer:
@@ -56,7 +57,7 @@ class CloudDeployer:
56
57
  file.write("FROM python:3.11-slim\n")
57
58
  file.write("WORKDIR /app\n")
58
59
  file.write("COPY . .\n")
59
- file.write("RUN pip install flask praisonai==2.2.36 gunicorn markdown\n")
60
+ file.write("RUN pip install flask praisonai==2.2.38 gunicorn markdown\n")
60
61
  file.write("EXPOSE 8080\n")
61
62
  file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
62
63
 
@@ -116,20 +117,66 @@ class CloudDeployer:
116
117
  self.create_api_file()
117
118
  self.create_dockerfile()
118
119
  """Runs a sequence of shell commands for deployment, continues on error."""
120
+
121
+ # Get project ID upfront for Windows compatibility
122
+ try:
123
+ result = subprocess.run(['gcloud', 'config', 'get-value', 'project'],
124
+ capture_output=True, text=True, check=True)
125
+ project_id = result.stdout.strip()
126
+ except subprocess.CalledProcessError:
127
+ print("ERROR: Failed to get GCP project ID. Ensure gcloud is configured.")
128
+ return
129
+
130
+ # Get environment variables
131
+ openai_model = os.environ.get('OPENAI_MODEL_NAME', 'gpt-4o')
132
+ openai_key = os.environ.get('OPENAI_API_KEY', 'Enter your API key')
133
+ openai_base = os.environ.get('OPENAI_API_BASE', 'https://api.openai.com/v1')
134
+
135
+ # Build commands with actual values
119
136
  commands = [
120
- "yes | gcloud auth configure-docker us-central1-docker.pkg.dev",
121
- "gcloud artifacts repositories create praisonai-repository --repository-format=docker --location=us-central1",
122
- "docker build --platform linux/amd64 -t gcr.io/$(gcloud config get-value project)/praisonai-app:latest .",
123
- "docker tag gcr.io/$(gcloud config get-value project)/praisonai-app:latest us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest",
124
- "docker push us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest",
125
- "gcloud run deploy praisonai-service --image us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest --platform managed --region us-central1 --allow-unauthenticated --set-env-vars OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME},OPENAI_API_KEY=${OPENAI_API_KEY},OPENAI_API_BASE=${OPENAI_API_BASE}"
137
+ ['gcloud', 'auth', 'configure-docker', 'us-central1-docker.pkg.dev'],
138
+ ['gcloud', 'artifacts', 'repositories', 'create', 'praisonai-repository',
139
+ '--repository-format=docker', '--location=us-central1'],
140
+ ['docker', 'build', '--platform', 'linux/amd64', '-t',
141
+ f'gcr.io/{project_id}/praisonai-app:latest', '.'],
142
+ ['docker', 'tag', f'gcr.io/{project_id}/praisonai-app:latest',
143
+ f'us-central1-docker.pkg.dev/{project_id}/praisonai-repository/praisonai-app:latest'],
144
+ ['docker', 'push',
145
+ f'us-central1-docker.pkg.dev/{project_id}/praisonai-repository/praisonai-app:latest'],
146
+ ['gcloud', 'run', 'deploy', 'praisonai-service',
147
+ '--image', f'us-central1-docker.pkg.dev/{project_id}/praisonai-repository/praisonai-app:latest',
148
+ '--platform', 'managed', '--region', 'us-central1', '--allow-unauthenticated',
149
+ '--set-env-vars', f'OPENAI_MODEL_NAME={openai_model},OPENAI_API_KEY={openai_key},OPENAI_API_BASE={openai_base}']
126
150
  ]
127
-
128
- for cmd in commands:
151
+
152
+ # Run commands with appropriate handling for each platform
153
+ for i, cmd in enumerate(commands):
129
154
  try:
130
- subprocess.run(cmd, shell=True, check=True)
155
+ if i == 0: # First command (gcloud auth configure-docker)
156
+ if platform.system() != 'Windows':
157
+ # On Unix, pipe 'yes' to auto-confirm
158
+ proc = subprocess.Popen(cmd, stdin=subprocess.PIPE)
159
+ proc.communicate(input=b'Y\n')
160
+ if proc.returncode != 0:
161
+ raise subprocess.CalledProcessError(proc.returncode, cmd)
162
+ else:
163
+ # On Windows, try with --quiet flag to avoid prompts
164
+ cmd_with_quiet = cmd + ['--quiet']
165
+ try:
166
+ subprocess.run(cmd_with_quiet, check=True)
167
+ except subprocess.CalledProcessError:
168
+ # If --quiet fails, try without it
169
+ print("Note: You may need to manually confirm the authentication prompt")
170
+ subprocess.run(cmd, check=True)
171
+ else:
172
+ # Run other commands normally
173
+ subprocess.run(cmd, check=True)
131
174
  except subprocess.CalledProcessError as e:
132
- print(f"ERROR: Command '{e.cmd}' failed with exit status {e.returncode}")
175
+ print(f"ERROR: Command failed with exit status {e.returncode}")
176
+ # Commands 2 (build) and 4 (push) and 5 (deploy) are critical
177
+ if i in [2, 4, 5]:
178
+ print("Critical command failed. Aborting deployment.")
179
+ return
133
180
  print(f"Continuing with the next command...")
134
181
 
135
182
  # Usage
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "PraisonAI"
3
- version = "2.2.36"
3
+ version = "2.2.38"
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.109",
15
+ "praisonaiagents>=0.0.111",
16
16
  "python-dotenv>=0.19.0",
17
17
  "instructor>=1.3.3",
18
18
  "PyYAML>=6.0",
@@ -95,7 +95,7 @@ autogen = ["pyautogen>=0.2.19", "praisonai-tools>=0.0.15", "crewai"]
95
95
 
96
96
  [tool.poetry]
97
97
  name = "PraisonAI"
98
- version = "2.2.36"
98
+ version = "2.2.38"
99
99
  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."
100
100
  authors = ["Mervin Praison"]
101
101
  license = ""
@@ -113,7 +113,7 @@ python = ">=3.10,<3.13"
113
113
  rich = ">=13.7"
114
114
  markdown = ">=3.5"
115
115
  pyparsing = ">=3.0.0"
116
- praisonaiagents = ">=0.0.109"
116
+ praisonaiagents = ">=0.0.111"
117
117
  python-dotenv = ">=0.19.0"
118
118
  instructor = ">=1.3.3"
119
119
  PyYAML = ">=6.0"
File without changes
File without changes
File without changes
File without changes