Skip to content

Commit ec0b435

Browse files
committed
Release v4.4.9
1 parent 4833b86 commit ec0b435

File tree

11 files changed

+25
-110
lines changed

11 files changed

+25
-110
lines changed

docker/Dockerfile.chat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ RUN mkdir -p /root/.praison
1616
# Install Python packages (using latest versions)
1717
RUN pip install --no-cache-dir \
1818
praisonai_tools \
19-
"praisonai>=4.4.8" \
19+
"praisonai>=4.4.9" \
2020
"praisonai[chat]" \
2121
"embedchain[github,youtube]"
2222

docker/Dockerfile.dev

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ RUN mkdir -p /root/.praison
2020
# Install Python packages (using latest versions)
2121
RUN pip install --no-cache-dir \
2222
praisonai_tools \
23-
"praisonai>=4.4.8" \
23+
"praisonai>=4.4.9" \
2424
"praisonai[ui]" \
2525
"praisonai[chat]" \
2626
"praisonai[realtime]" \

docker/Dockerfile.ui

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ RUN mkdir -p /root/.praison
1616
# Install Python packages (using latest versions)
1717
RUN pip install --no-cache-dir \
1818
praisonai_tools \
19-
"praisonai>=4.4.8" \
19+
"praisonai>=4.4.9" \
2020
"praisonai[ui]" \
2121
"praisonai[crewai]"
2222

src/praisonai-agents/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "praisonaiagents"
7-
version = "1.4.6"
7+
version = "1.4.7"
88
description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
99
readme = "README.md"
1010
requires-python = ">=3.10"

src/praisonai-agents/uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/praisonai/praisonai.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ class Praisonai < Formula
33

44
desc "AI tools for various AI applications"
55
homepage "https://github.com/MervinPraison/PraisonAI"
6-
url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v4.4.8.tar.gz"
7-
sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v4.4.8.tar.gz | shasum -a 256`.split.first
6+
url "https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v4.4.9.tar.gz"
7+
sha256 `curl -sL https://github.com/MervinPraison/PraisonAI/archive/refs/tags/v4.4.9.tar.gz | shasum -a 256`.split.first
88
license "MIT"
99

1010
depends_on "python@3.11"
Lines changed: 11 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,104 +1,19 @@
11
"""
22
Obs command group for PraisonAI CLI.
33
4-
Provides observability diagnostics and management.
4+
Thin wrapper that re-exports the CLI from praisonai_tools.
55
"""
66

7-
from typing import Optional
7+
try:
8+
from praisonai_tools.observability.cli import app
9+
except ImportError:
10+
import typer
11+
app = typer.Typer(help="Observability diagnostics and management")
812

9-
import typer
10-
11-
12-
app = typer.Typer(help="Observability diagnostics and management")
13-
14-
15-
@app.command("doctor")
16-
def obs_doctor(
17-
json_output: bool = typer.Option(False, "--json", help="Output as JSON"),
18-
):
19-
"""
20-
Run observability health checks.
21-
22-
Checks provider status, connection, and available providers.
23-
24-
Examples:
25-
praisonai obs doctor
26-
praisonai obs doctor --json
27-
"""
28-
try:
29-
from praisonai_tools.observability import obs
30-
except ImportError:
13+
@app.callback(invoke_without_command=True)
14+
def obs_fallback(ctx: typer.Context):
15+
"""Observability diagnostics and management."""
3116
from rich.console import Console
32-
console = Console(stderr=True)
33-
console.print("[red]✗ praisonai-tools not installed.[/red]")
34-
console.print("[dim]Install with: pip install praisonai-tools[/dim]")
17+
Console(stderr=True).print("[red]✗ praisonai-tools not installed.[/red]")
18+
Console(stderr=True).print("[dim]Install with: pip install praisonai-tools[/dim]")
3519
raise typer.Exit(1)
36-
37-
results = obs.doctor()
38-
39-
if json_output:
40-
import json
41-
typer.echo(json.dumps(results, indent=2, default=str))
42-
raise typer.Exit(0)
43-
44-
# Pretty-print with Rich
45-
from rich.console import Console
46-
from rich.table import Table
47-
48-
console = Console()
49-
console.print("\n[bold cyan]🔍 PraisonAI Observability Doctor[/bold cyan]\n")
50-
51-
table = Table(show_header=True, header_style="bold")
52-
table.add_column("Check", style="dim", min_width=20)
53-
table.add_column("Result")
54-
55-
# Enabled
56-
enabled = results.get("enabled", False)
57-
table.add_row(
58-
"Enabled",
59-
"[green]✓ Yes[/green]" if enabled else "[yellow]✗ No[/yellow]",
60-
)
61-
62-
# Provider
63-
provider = results.get("provider")
64-
table.add_row(
65-
"Active Provider",
66-
f"[green]{provider}[/green]" if provider else "[dim]None[/dim]",
67-
)
68-
69-
# Connection
70-
conn_status = results.get("connection_status")
71-
conn_msg = results.get("connection_message", "")
72-
if conn_status is True:
73-
table.add_row("Connection", f"[green]✓ {conn_msg}[/green]")
74-
elif conn_status is False:
75-
table.add_row("Connection", f"[red]✗ {conn_msg}[/red]")
76-
else:
77-
table.add_row("Connection", "[dim]N/A[/dim]")
78-
79-
# Available providers
80-
available = results.get("available_providers", [])
81-
table.add_row(
82-
"Available Providers",
83-
", ".join(available) if available else "[dim]None[/dim]",
84-
)
85-
86-
# Registered providers
87-
registered = results.get("registered_providers", [])
88-
table.add_row(
89-
"Registered Providers",
90-
", ".join(registered) if registered else "[dim]None[/dim]",
91-
)
92-
93-
console.print(table)
94-
console.print()
95-
96-
raise typer.Exit(0)
97-
98-
99-
@app.callback(invoke_without_command=True)
100-
def obs_callback(ctx: typer.Context):
101-
"""Observability diagnostics and management."""
102-
if ctx.invoked_subcommand is None:
103-
# Default to doctor when no subcommand given
104-
ctx.invoke(obs_doctor)

src/praisonai/praisonai/deploy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def create_dockerfile(self):
5757
file.write("FROM python:3.11-slim\n")
5858
file.write("WORKDIR /app\n")
5959
file.write("COPY . .\n")
60-
file.write("RUN pip install flask praisonai==4.4.8 gunicorn markdown\n")
60+
file.write("RUN pip install flask praisonai==4.4.9 gunicorn markdown\n")
6161
file.write("EXPOSE 8080\n")
6262
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
6363

src/praisonai/praisonai/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "4.4.8"
1+
__version__ = "4.4.9"

src/praisonai/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ dependencies = [
1212
"rich>=13.7",
1313
"markdown>=3.5",
1414
"pyparsing>=3.0.0",
15-
"praisonaiagents>=1.4.6",
15+
"praisonaiagents>=1.4.7",
1616
"python-dotenv>=0.19.0",
1717
"litellm>=1.81.0",
1818
"PyYAML>=6.0",

0 commit comments

Comments
 (0)