praisonAI 2.2.95__tar.gz → 2.2.96__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.
- {praisonai-2.2.95 → praisonai-2.2.96}/PKG-INFO +12 -2
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/PKG-INFO +12 -2
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/requires.txt +1 -1
- {praisonai-2.2.95 → praisonai-2.2.96}/README.md +10 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/cli.py +46 -3
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/deploy.py +1 -1
- praisonai-2.2.96/praisonai/version.py +1 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/pyproject.toml +1 -1
- praisonai-2.2.95/praisonai/version.py +0 -1
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/SOURCES.txt +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/dependency_links.txt +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/entry_points.txt +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/PraisonAI.egg-info/top_level.txt +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/__init__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/__main__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/agents_generator.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/api/call.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/auto.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/chainlit_ui.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/inbuilt_tools/__init__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/inc/__init__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/inc/config.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/inc/models.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/scheduler.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/setup/__init__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/setup/build.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/setup/post_install.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/setup/setup_conda_env.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/setup.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/test.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/train.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/train_vision.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/agents.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/callbacks.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/chat.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/code.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/colab.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/colab_chainlit.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/components/aicoder.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/context.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/database_config.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/db.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/realtime.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/realtimeclient/__init__.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/realtimeclient/tools.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/ui/sql_alchemy.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/praisonai/upload_vision.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/setup.cfg +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_agents_playbook.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_basic.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_custom_tools_fix.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_double_api_fix.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_phase2_refactor.py +0 -0
- {praisonai-2.2.95 → praisonai-2.2.96}/tests/test_runner.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.96
|
|
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
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
Requires-Dist: rich>=13.7
|
|
12
12
|
Requires-Dist: markdown>=3.5
|
|
13
13
|
Requires-Dist: pyparsing>=3.0.0
|
|
14
|
-
Requires-Dist: praisonaiagents>=0.0.
|
|
14
|
+
Requires-Dist: praisonaiagents>=0.0.167
|
|
15
15
|
Requires-Dist: python-dotenv>=0.19.0
|
|
16
16
|
Requires-Dist: instructor>=1.3.3
|
|
17
17
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -119,3 +119,13 @@ python src/praisonai/scripts/bump_version.py 2.2.96
|
|
|
119
119
|
# With praisonaiagents dependency
|
|
120
120
|
python src/praisonai/scripts/bump_version.py 2.2.96 --agents 0.0.167
|
|
121
121
|
```
|
|
122
|
+
|
|
123
|
+
## Release
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# From project root (runs uv lock, build, git tag, gh release)
|
|
127
|
+
python src/praisonai/scripts/release.py
|
|
128
|
+
|
|
129
|
+
# Then publish
|
|
130
|
+
cd src/praisonai && uv publish
|
|
131
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.96
|
|
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
|
License: MIT
|
|
@@ -11,7 +11,7 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
Requires-Dist: rich>=13.7
|
|
12
12
|
Requires-Dist: markdown>=3.5
|
|
13
13
|
Requires-Dist: pyparsing>=3.0.0
|
|
14
|
-
Requires-Dist: praisonaiagents>=0.0.
|
|
14
|
+
Requires-Dist: praisonaiagents>=0.0.167
|
|
15
15
|
Requires-Dist: python-dotenv>=0.19.0
|
|
16
16
|
Requires-Dist: instructor>=1.3.3
|
|
17
17
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -119,3 +119,13 @@ python src/praisonai/scripts/bump_version.py 2.2.96
|
|
|
119
119
|
# With praisonaiagents dependency
|
|
120
120
|
python src/praisonai/scripts/bump_version.py 2.2.96 --agents 0.0.167
|
|
121
121
|
```
|
|
122
|
+
|
|
123
|
+
## Release
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# From project root (runs uv lock, build, git tag, gh release)
|
|
127
|
+
python src/praisonai/scripts/release.py
|
|
128
|
+
|
|
129
|
+
# Then publish
|
|
130
|
+
cd src/praisonai && uv publish
|
|
131
|
+
```
|
|
@@ -22,3 +22,13 @@ python src/praisonai/scripts/bump_version.py 2.2.96
|
|
|
22
22
|
# With praisonaiagents dependency
|
|
23
23
|
python src/praisonai/scripts/bump_version.py 2.2.96 --agents 0.0.167
|
|
24
24
|
```
|
|
25
|
+
|
|
26
|
+
## Release
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# From project root (runs uv lock, build, git tag, gh release)
|
|
30
|
+
python src/praisonai/scripts/release.py
|
|
31
|
+
|
|
32
|
+
# Then publish
|
|
33
|
+
cd src/praisonai && uv publish
|
|
34
|
+
```
|
|
@@ -579,6 +579,7 @@ class PraisonAI:
|
|
|
579
579
|
parser.add_argument("--auto-analyze", action="store_true", help="Enable automatic analysis in context engineering")
|
|
580
580
|
parser.add_argument("--research", action="store_true", help="Run deep research on a topic")
|
|
581
581
|
parser.add_argument("--query-rewrite", action="store_true", help="Rewrite query before research for better results")
|
|
582
|
+
parser.add_argument("--rewrite-tools", type=str, help="Tools for query rewriter (e.g., 'internet_search' or path to tools.py)")
|
|
582
583
|
parser.add_argument("--tools", "-t", type=str, help="Path to tools.py file for research agent")
|
|
583
584
|
parser.add_argument("--save", "-s", action="store_true", help="Save research output to file (output/research/)")
|
|
584
585
|
parser.add_argument("--verbose", "-v", action="store_true", help="Enable verbose output for research")
|
|
@@ -724,8 +725,9 @@ class PraisonAI:
|
|
|
724
725
|
verbose = getattr(args, 'verbose', False)
|
|
725
726
|
save = getattr(args, 'save', False)
|
|
726
727
|
query_rewrite = getattr(args, 'query_rewrite', False)
|
|
728
|
+
rewrite_tools = getattr(args, 'rewrite_tools', None)
|
|
727
729
|
tools_path = getattr(args, 'tools', None)
|
|
728
|
-
self.handle_research_command(research_query, research_model, verbose, save, query_rewrite, tools_path)
|
|
730
|
+
self.handle_research_command(research_query, research_model, verbose, save, query_rewrite, tools_path, rewrite_tools)
|
|
729
731
|
sys.exit(0)
|
|
730
732
|
|
|
731
733
|
# Only check framework availability for agent-related operations
|
|
@@ -965,7 +967,7 @@ class PraisonAI:
|
|
|
965
967
|
print(f"[red]ERROR: Context engineering failed: {e}[/red]")
|
|
966
968
|
sys.exit(1)
|
|
967
969
|
|
|
968
|
-
def handle_research_command(self, query: str, model: str = None, verbose: bool = False, save: bool = False, query_rewrite: bool = False, tools_path: str = None) -> str:
|
|
970
|
+
def handle_research_command(self, query: str, model: str = None, verbose: bool = False, save: bool = False, query_rewrite: bool = False, tools_path: str = None, rewrite_tools: str = None) -> str:
|
|
969
971
|
"""
|
|
970
972
|
Handle the research command by creating a DeepResearchAgent and running it.
|
|
971
973
|
|
|
@@ -976,6 +978,7 @@ class PraisonAI:
|
|
|
976
978
|
save: Save output to file (default: False)
|
|
977
979
|
query_rewrite: Rewrite query before research (default: False)
|
|
978
980
|
tools_path: Path to tools.py file with custom tools (default: None)
|
|
981
|
+
rewrite_tools: Tools for query rewriter (tool names or file path)
|
|
979
982
|
|
|
980
983
|
Returns:
|
|
981
984
|
str: Research report
|
|
@@ -996,7 +999,47 @@ class PraisonAI:
|
|
|
996
999
|
try:
|
|
997
1000
|
from praisonaiagents import QueryRewriterAgent, RewriteStrategy
|
|
998
1001
|
print("[bold cyan]Rewriting query for better research results...[/bold cyan]")
|
|
999
|
-
|
|
1002
|
+
|
|
1003
|
+
# Load rewrite tools if specified
|
|
1004
|
+
rewrite_tools_list = []
|
|
1005
|
+
if rewrite_tools:
|
|
1006
|
+
if os.path.isfile(rewrite_tools):
|
|
1007
|
+
# Load from file
|
|
1008
|
+
try:
|
|
1009
|
+
import inspect
|
|
1010
|
+
spec = importlib.util.spec_from_file_location("rewrite_tools_module", rewrite_tools)
|
|
1011
|
+
if spec and spec.loader:
|
|
1012
|
+
module = importlib.util.module_from_spec(spec)
|
|
1013
|
+
spec.loader.exec_module(module)
|
|
1014
|
+
for name, obj in inspect.getmembers(module):
|
|
1015
|
+
if inspect.isfunction(obj) and not name.startswith('_'):
|
|
1016
|
+
rewrite_tools_list.append(obj)
|
|
1017
|
+
if rewrite_tools_list:
|
|
1018
|
+
print(f"[cyan]Loaded {len(rewrite_tools_list)} tools for query rewriter[/cyan]")
|
|
1019
|
+
except Exception as e:
|
|
1020
|
+
print(f"[yellow]Warning: Failed to load rewrite tools: {e}[/yellow]")
|
|
1021
|
+
else:
|
|
1022
|
+
# Treat as comma-separated tool names
|
|
1023
|
+
try:
|
|
1024
|
+
from praisonaiagents.tools import TOOL_MAPPINGS
|
|
1025
|
+
import praisonaiagents.tools as tools_module
|
|
1026
|
+
|
|
1027
|
+
tool_names = [t.strip() for t in rewrite_tools.split(',')]
|
|
1028
|
+
for tool_name in tool_names:
|
|
1029
|
+
if tool_name in TOOL_MAPPINGS:
|
|
1030
|
+
try:
|
|
1031
|
+
tool = getattr(tools_module, tool_name)
|
|
1032
|
+
rewrite_tools_list.append(tool)
|
|
1033
|
+
except Exception as e:
|
|
1034
|
+
print(f"[yellow]Warning: Failed to load rewrite tool '{tool_name}': {e}[/yellow]")
|
|
1035
|
+
else:
|
|
1036
|
+
print(f"[yellow]Warning: Unknown rewrite tool '{tool_name}'[/yellow]")
|
|
1037
|
+
if rewrite_tools_list:
|
|
1038
|
+
print(f"[cyan]Using rewrite tools: {', '.join(tool_names)}[/cyan]")
|
|
1039
|
+
except ImportError:
|
|
1040
|
+
print("[yellow]Warning: Could not import tools module[/yellow]")
|
|
1041
|
+
|
|
1042
|
+
rewriter = QueryRewriterAgent(model="gpt-4o-mini", verbose=verbose, tools=rewrite_tools_list if rewrite_tools_list else None)
|
|
1000
1043
|
result = rewriter.rewrite(query, strategy=RewriteStrategy.AUTO)
|
|
1001
1044
|
query = result.primary_query
|
|
1002
1045
|
print(f"[cyan]Original:[/cyan] {original_query}")
|
|
@@ -57,7 +57,7 @@ class CloudDeployer:
|
|
|
57
57
|
file.write("FROM python:3.11-slim\n")
|
|
58
58
|
file.write("WORKDIR /app\n")
|
|
59
59
|
file.write("COPY . .\n")
|
|
60
|
-
file.write("RUN pip install flask praisonai==2.2.
|
|
60
|
+
file.write("RUN pip install flask praisonai==2.2.96 gunicorn markdown\n")
|
|
61
61
|
file.write("EXPOSE 8080\n")
|
|
62
62
|
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
|
63
63
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.2.96"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.2.95"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|