PraisonAI 1.0.0__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:
@@ -296,6 +298,19 @@ class PraisonAI:
296
298
  if args.command == 'call':
297
299
  args.call = True
298
300
 
301
+ # Handle both command and flag versions for call
302
+ if args.command == 'call' or args.call:
303
+ if not CALL_MODULE_AVAILABLE:
304
+ print("[red]ERROR: Call feature is not installed. Install with:[/red]")
305
+ print("\npip install \"praisonai[call]\"\n")
306
+ sys.exit(1)
307
+
308
+ call_args = []
309
+ if args.public:
310
+ call_args.append('--public')
311
+ call_module.main(call_args)
312
+ sys.exit(0)
313
+
299
314
  # Handle special commands first
300
315
  special_commands = ['chat', 'code', 'call', 'realtime', 'train', 'ui']
301
316
 
@@ -376,7 +391,8 @@ class PraisonAI:
376
391
  import praisonai
377
392
  os.environ["CHAINLIT_PORT"] = "8084"
378
393
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
379
- os.environ["CHAINLIT_APP_ROOT"] = root_path
394
+ if "CHAINLIT_APP_ROOT" not in os.environ:
395
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
380
396
  public_folder = os.path.join(os.path.dirname(praisonai.__file__), 'public')
381
397
  if not os.path.exists(os.path.join(root_path, "public")):
382
398
  if os.path.exists(public_folder):
@@ -399,7 +415,8 @@ class PraisonAI:
399
415
  import praisonai
400
416
  os.environ["CHAINLIT_PORT"] = "8086"
401
417
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
402
- os.environ["CHAINLIT_APP_ROOT"] = root_path
418
+ if "CHAINLIT_APP_ROOT" not in os.environ:
419
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
403
420
  public_folder = os.path.join(os.path.dirname(__file__), 'public')
404
421
  if not os.path.exists(os.path.join(root_path, "public")):
405
422
  if os.path.exists(public_folder):
@@ -468,7 +485,8 @@ class PraisonAI:
468
485
  import praisonai
469
486
  os.environ["CHAINLIT_PORT"] = "8088"
470
487
  root_path = os.path.join(os.path.expanduser("~"), ".praison")
471
- os.environ["CHAINLIT_APP_ROOT"] = root_path
488
+ if "CHAINLIT_APP_ROOT" not in os.environ:
489
+ os.environ["CHAINLIT_APP_ROOT"] = root_path
472
490
  public_folder = os.path.join(os.path.dirname(praisonai.__file__), 'public')
473
491
  if not os.path.exists(os.path.join(root_path, "public")):
474
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.0 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.0
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,21 +34,23 @@ 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 == "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"
41
41
  Requires-Dist: langchain-openai (>=0.1.7) ; extra == "openai"
42
42
  Requires-Dist: litellm (>=1.41.8) ; extra == "chat" or extra == "code" or extra == "realtime"
43
43
  Requires-Dist: markdown (>=3.5)
44
+ Requires-Dist: openai (>=1.54.0) ; extra == "call"
44
45
  Requires-Dist: playwright (>=1.47.0) ; extra == "chat" or extra == "code"
45
46
  Requires-Dist: plotly (>=5.24.0) ; extra == "realtime"
46
47
  Requires-Dist: praisonai-tools (>=0.0.7) ; extra == "crewai" or extra == "autogen"
47
48
  Requires-Dist: pyautogen (>=0.2.19) ; extra == "autogen"
49
+ Requires-Dist: pydantic (<=2.10.1) ; extra == "chat" or extra == "code"
48
50
  Requires-Dist: pyngrok (>=1.4.0) ; extra == "call"
49
51
  Requires-Dist: pyparsing (>=3.0.0)
50
52
  Requires-Dist: python-dotenv (>=0.19.0) ; extra == "call"
51
- Requires-Dist: rich (>=13.7) ; extra == "call"
53
+ Requires-Dist: rich (>=13.7) ; extra == "chat" or extra == "call"
52
54
  Requires-Dist: sqlalchemy (>=2.0.36) ; extra == "chat" or extra == "code" or extra == "realtime"
53
55
  Requires-Dist: tavily-python (==0.5.0) ; extra == "chat" or extra == "code" or extra == "realtime"
54
56
  Requires-Dist: twilio (>=7.0.0) ; extra == "call"
@@ -77,6 +79,8 @@ Description-Content-Type: text/markdown
77
79
 
78
80
  # Praison AI
79
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
+
80
84
  </div>
81
85
 
82
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.
@@ -455,4 +459,25 @@ This configuration ensures that your development dependencies are correctly cate
455
459
 
456
460
  Praison AI is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.
457
461
 
462
+ ## Video Tutorials
463
+
464
+ | Topic | Video |
465
+ |-------|--------|
466
+ | Introduction | [![Introduction](https://img.youtube.com/vi/Fn1lQjC0GO0/0.jpg)](https://www.youtube.com/watch?v=Fn1lQjC0GO0) |
467
+ | Tools Overview | [![Tools Overview](https://img.youtube.com/vi/XaQRgRpV7jo/0.jpg)](https://www.youtube.com/watch?v=XaQRgRpV7jo) |
468
+ | Custom Tools | [![Custom Tools](https://img.youtube.com/vi/JSU2Rndh06c/0.jpg)](https://www.youtube.com/watch?v=JSU2Rndh06c) |
469
+ | Firecrawl Integration | [![Firecrawl](https://img.youtube.com/vi/UoqUDcLcOYo/0.jpg)](https://www.youtube.com/watch?v=UoqUDcLcOYo) |
470
+ | User Interface | [![UI](https://img.youtube.com/vi/tg-ZjNl3OCg/0.jpg)](https://www.youtube.com/watch?v=tg-ZjNl3OCg) |
471
+ | Crawl4AI Integration | [![Crawl4AI](https://img.youtube.com/vi/KAvuVUh0XU8/0.jpg)](https://www.youtube.com/watch?v=KAvuVUh0XU8) |
472
+ | Chat Interface | [![Chat](https://img.youtube.com/vi/sw3uDqn2h1Y/0.jpg)](https://www.youtube.com/watch?v=sw3uDqn2h1Y) |
473
+ | Code Interface | [![Code](https://img.youtube.com/vi/_5jQayO-MQY/0.jpg)](https://www.youtube.com/watch?v=_5jQayO-MQY) |
474
+ | Mem0 Integration | [![Mem0](https://img.youtube.com/vi/KIGSgRxf1cY/0.jpg)](https://www.youtube.com/watch?v=KIGSgRxf1cY) |
475
+ | Training | [![Training](https://img.youtube.com/vi/aLawE8kwCrI/0.jpg)](https://www.youtube.com/watch?v=aLawE8kwCrI) |
476
+ | Realtime Voice Interface | [![Realtime](https://img.youtube.com/vi/frRHfevTCSw/0.jpg)](https://www.youtube.com/watch?v=frRHfevTCSw) |
477
+ | Call Interface | [![Call](https://img.youtube.com/vi/m1cwrUG2iAk/0.jpg)](https://www.youtube.com/watch?v=m1cwrUG2iAk) |
478
+
479
+ ## License
480
+
481
+ Praison AI is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.
482
+
458
483
 
@@ -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=wvUrSqxn8CTjNWxF4XquxaQ102HapbLyHALWKDcA7dk,20445
8
- praisonai/deploy.py,sha256=pdzr4C_DVOQhyruMd-6UH0ieYxIbNnqDCqkUgXDqM_w,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.0.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
51
- praisonai-1.0.0.dist-info/METADATA,sha256=CrJNwY76TvCnAkQcD_te_lfPZLtxb4DE4PsdjSFWCys,14961
52
- praisonai-1.0.0.dist-info/WHEEL,sha256=Ie8mbC-etDUh6aDhzdvvvp_A-4mQQX7whlOFBnSJhcE,110
53
- praisonai-1.0.0.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
54
- praisonai-1.0.0.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,,