PraisonAI 1.0.1__cp312-cp312-manylinux_2_35_x86_64.whl → 1.0.2__cp312-cp312-manylinux_2_35_x86_64.whl

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.

praisonai/cli.py CHANGED
@@ -26,7 +26,9 @@ CREWAI_AVAILABLE = False
26
26
  AUTOGEN_AVAILABLE = False
27
27
 
28
28
  try:
29
- os.environ["CHAINLIT_APP_ROOT"] = os.path.join(os.path.expanduser("~"), ".praison")
29
+ # Set CHAINLIT_APP_ROOT only if it doesn't exist
30
+ if "CHAINLIT_APP_ROOT" not in os.environ:
31
+ os.environ["CHAINLIT_APP_ROOT"] = os.path.join(os.path.expanduser("~"), ".praison")
30
32
  from chainlit.cli import chainlit_run
31
33
  CHAINLIT_AVAILABLE = True
32
34
  except ImportError:
@@ -389,7 +391,8 @@ class PraisonAI:
389
391
  import praisonai
390
392
  os.environ["CHAINLIT_PORT"] = "8084"
391
393
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
392
- os.environ["CHAINLIT_APP_ROOT"] = root_path
394
+ if "CHAINLIT_APP_ROOT" not in os.environ:
395
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
393
396
  public_folder = os.path.join(os.path.dirname(praisonai.__file__), 'public')
394
397
  if not os.path.exists(os.path.join(root_path, "public")):
395
398
  if os.path.exists(public_folder):
@@ -412,7 +415,8 @@ class PraisonAI:
412
415
  import praisonai
413
416
  os.environ["CHAINLIT_PORT"] = "8086"
414
417
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
415
- os.environ["CHAINLIT_APP_ROOT"] = root_path
418
+ if "CHAINLIT_APP_ROOT" not in os.environ:
419
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
416
420
  public_folder = os.path.join(os.path.dirname(__file__), 'public')
417
421
  if not os.path.exists(os.path.join(root_path, "public")):
418
422
  if os.path.exists(public_folder):
@@ -481,7 +485,8 @@ class PraisonAI:
481
485
  import praisonai
482
486
  os.environ["CHAINLIT_PORT"] = "8088"
483
487
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
484
- os.environ["CHAINLIT_APP_ROOT"] = root_path
488
+ if "CHAINLIT_APP_ROOT" not in os.environ:
489
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
485
490
  public_folder = os.path.join(os.path.dirname(praisonai.__file__), 'public')
486
491
  if not os.path.exists(os.path.join(root_path, "public")):
487
492
  if os.path.exists(public_folder):
praisonai/deploy.py CHANGED
@@ -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==1.0.1 gunicorn markdown\n")
59
+ file.write("RUN pip install flask praisonai==1.0.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
 
praisonai/ui/chat.py CHANGED
@@ -175,7 +175,12 @@ initialize_db()
175
175
 
176
176
  deleted_thread_ids = [] # type: List[str]
177
177
 
178
- cl_data._data_layer = SQLAlchemyDataLayer(conninfo=f"sqlite+aiosqlite:///{DB_PATH}")
178
+ # Get database connection string from environment variable or use SQLite as default
179
+ DB_URL = os.getenv("DATABASE_URL", f"sqlite+aiosqlite:///{DB_PATH}")
180
+ cl_data._data_layer = SQLAlchemyDataLayer(
181
+ conninfo=DB_URL,
182
+ ssl_require=bool(os.getenv("DATABASE_SSL", False))
183
+ )
179
184
 
180
185
  # Set Tavily API key
181
186
  tavily_api_key = os.getenv("TAVILY_API_KEY")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PraisonAI
3
- Version: 1.0.1
3
+ Version: 1.0.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
@@ -34,7 +34,7 @@ Requires-Dist: flaml[automl] (>=2.3.1) ; extra == "call"
34
34
  Requires-Dist: flask (>=3.0.0) ; extra == "api"
35
35
  Requires-Dist: gradio (>=4.26.0) ; extra == "gradio"
36
36
  Requires-Dist: greenlet (>=3.0.3) ; extra == "chat" or extra == "code" or extra == "realtime"
37
- Requires-Dist: instructor (>=0.4.8) ; extra == "call" or extra == "crewai" or extra == "autogen"
37
+ Requires-Dist: instructor (>=0.4.8) ; extra == "chat" or extra == "call" or extra == "crewai" or extra == "autogen"
38
38
  Requires-Dist: langchain-anthropic (>=0.1.13) ; extra == "anthropic"
39
39
  Requires-Dist: langchain-cohere (>=0.1.4) ; extra == "cohere"
40
40
  Requires-Dist: langchain-google-genai (>=1.0.4) ; extra == "google"
@@ -46,10 +46,11 @@ Requires-Dist: playwright (>=1.47.0) ; extra == "chat" or extra == "code"
46
46
  Requires-Dist: plotly (>=5.24.0) ; extra == "realtime"
47
47
  Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "crewai" or extra == "autogen"
48
48
  Requires-Dist: pyautogen (>=0.2.19) ; extra == "autogen"
49
+ Requires-Dist: pydantic (<=2.10.1) ; extra == "chat" or extra == "code"
49
50
  Requires-Dist: pyngrok (>=1.4.0) ; extra == "call"
50
51
  Requires-Dist: pyparsing (>=3.0.0)
51
52
  Requires-Dist: python-dotenv (>=0.19.0) ; extra == "call"
52
- Requires-Dist: rich (>=13.7) ; extra == "call"
53
+ Requires-Dist: rich (>=13.7) ; extra == "chat" or extra == "call"
53
54
  Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "chat" or extra == "code" or extra == "realtime"
54
55
  Requires-Dist: tavily-python (==0.5.0) ; extra == "chat" or extra == "code" or extra == "realtime"
55
56
  Requires-Dist: twilio (>=7.0.0) ; extra == "call"
@@ -78,6 +79,8 @@ Description-Content-Type: text/markdown
78
79
 
79
80
  # Praison AI
80
81
 
82
+ <a href="https://trendshift.io/repositories/9130" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9130" alt="MervinPraison%2FPraisonAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
83
+
81
84
  </div>
82
85
 
83
86
  Praison AI, leveraging both AutoGen and CrewAI or any other agent framework, represents a low-code, centralised framework designed to simplify the creation and orchestration of multi-agent systems for various LLM applications, emphasizing ease of use, customization, and human-agent interaction.
@@ -4,8 +4,8 @@ praisonai/agents_generator.py,sha256=CYqoJj4wHi_2lD39vAiOiLLV7SYg30o5nky09u5ViAE
4
4
  praisonai/api/call.py,sha256=iHdAlgIH_oTsEbjaGGu1Jjo6DTfMR-SfFdtSxnOLCeY,11032
5
5
  praisonai/auto.py,sha256=NDQiTV8ex_NE5C6AoY26-gMyLZNYrfthgQ6G0Dn1uhU,8304
6
6
  praisonai/chainlit_ui.py,sha256=bNR7s509lp0I9JlJNvwCZRUZosC64qdvlFCt8NmFamQ,12216
7
- praisonai/cli.py,sha256=tgxTOcWPoOzsXS9njga29Tdw7S4HQgsq68S4KmjiwiI,20947
8
- praisonai/deploy.py,sha256=9_50xcjKC1SxUQUeLr9AXd1Q0IESHFASA3Tf-y9r8Fo,6027
7
+ praisonai/cli.py,sha256=Rg6vikTv4LHR1R6BIEzcaBWFvkdRZr0nOkMi6RCPKh8,21224
8
+ praisonai/deploy.py,sha256=D7HQYTHR__UpEmBVqGf-oM-LLWMJri5gQiuNWVmngiw,6027
9
9
  praisonai/inbuilt_tools/__init__.py,sha256=fai4ZJIKz7-iOnGZv5jJX0wmT77PKa4x2jqyaJddKFA,569
10
10
  praisonai/inbuilt_tools/autogen_tools.py,sha256=kJdEv61BTYvdHOaURNEpBcWq8Rs-oC03loNFTIjT-ak,4687
11
11
  praisonai/inc/__init__.py,sha256=sPDlYBBwdk0VlWzaaM_lG0_LD07lS2HRGvPdxXJFiYg,62
@@ -32,7 +32,7 @@ praisonai/setup/setup_conda_env.sh,sha256=te7s0KHsTi7XM-vkNvE0dKC1HeU2tXxqE-sPUS
32
32
  praisonai/setup.py,sha256=0jHgKnIPCtBZiGYaYyTz3PzrJI6nBy55VXk2UctXlDo,373
33
33
  praisonai/test.py,sha256=OL-wesjA5JTohr8rtr6kWoaS4ImkJg2l0GXJ-dUUfRU,4090
34
34
  praisonai/train.py,sha256=DvORlrwKOD-2v4r_z84eV3LsfzpNs-WnPKb5cQB3_t4,11071
35
- praisonai/ui/chat.py,sha256=oBYcaoDx3CheSXe10dw7GKg2iOoOgiefgLNOCWtfrPY,17891
35
+ praisonai/ui/chat.py,sha256=rpyyFP9aICzpVEvRaKGv5EIQbpEDQZG4lvOBQ5HEJ8Y,18080
36
36
  praisonai/ui/code.py,sha256=RazArxgCQHpLJXegbgytSmcUZZi18wJRWljDjJuDbTQ,18900
37
37
  praisonai/ui/context.py,sha256=oWO2I_WBZb7kZnuXItf18EJX0ZQv-1nAd8rxhwhuuDU,11871
38
38
  praisonai/ui/public/fantasy.svg,sha256=4Gs3kIOux-pjGtw6ogI_rv5_viVJxnE5gRwGilsSg0o,1553
@@ -47,8 +47,8 @@ praisonai/ui/realtimeclient/realtimedocs.txt,sha256=hmgd8Uwy2SkjSndyyF_-ZOaNxiyH
47
47
  praisonai/ui/realtimeclient/tools.py,sha256=IJOYwVOBW5Ocn5_iV9pFkmSKR3WU3YpX3kwF0I3jikQ,7855
48
48
  praisonai/ui/sql_alchemy.py,sha256=kf025P_37C505YDDJZ-dPSmN_d62J2DCrkxbDAzXyrM,29884
49
49
  praisonai/version.py,sha256=ugyuFliEqtAwQmH4sTlc16YXKYbFWDmfyk87fErB8-8,21
50
- praisonai-1.0.1.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
51
- praisonai-1.0.1.dist-info/METADATA,sha256=dCzN3znGA2Vf1XR7pbmAoTAbYtJxJ3DLBXQ2eRAE2E4,16736
52
- praisonai-1.0.1.dist-info/WHEEL,sha256=Ie8mbC-etDUh6aDhzdvvvp_A-4mQQX7whlOFBnSJhcE,110
53
- praisonai-1.0.1.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
54
- praisonai-1.0.1.dist-info/RECORD,,
50
+ praisonai-1.0.2.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
51
+ praisonai-1.0.2.dist-info/METADATA,sha256=UhXSbFJhl1lnF2lnQ9Lp0n685ayF9JwG6RNirW_OS1M,17085
52
+ praisonai-1.0.2.dist-info/WHEEL,sha256=Ie8mbC-etDUh6aDhzdvvvp_A-4mQQX7whlOFBnSJhcE,110
53
+ praisonai-1.0.2.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
54
+ praisonai-1.0.2.dist-info/RECORD,,