Skip to content

fix: add missing [autonomy] and [os] extras to [all] group#1632

Open
praisonai-triage-agent[bot] wants to merge 1 commit intomainfrom
claude/issue-1629-20260507-0942
Open

fix: add missing [autonomy] and [os] extras to [all] group#1632
praisonai-triage-agent[bot] wants to merge 1 commit intomainfrom
claude/issue-1629-20260507-0942

Conversation

@praisonai-triage-agent
Copy link
Copy Markdown
Contributor

@praisonai-triage-agent praisonai-triage-agent Bot commented May 7, 2026

Fixes #1629

Summary

The [all] optional dependency group in praisonaiagents was missing the [autonomy] and [os] extras, causing ImportError when users tried to use autonomy features after installing with pip install 'praisonaiagents[all]'.

Changes

  • Added "praisonaiagents[autonomy]" to the [all] group (includes ast-grep-cli>=0.30.0)
  • Added "praisonaiagents[os]" to the [all] group (includes FastAPI, uvicorn, PyJWT)

Impact

  • Users installing pip install "praisonaiagents[all]" will now get complete feature coverage
  • The from praisonaiagents.config import AutonomyConfig import will work as expected
  • Maintains backward compatibility - no breaking changes

Test Plan

After this change, users should be able to:

pip install "praisonaiagents[all]"
from praisonaiagents.config import AutonomyConfig
# Should work without ImportError

πŸ€– Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated package configuration to ensure all optional dependencies are included in the consolidated installation option, allowing users to install all features at once.

The [all] extra group was missing [autonomy] and [os] extras, causing
ImportError when users tried to use autonomy features after installing
pip install 'praisonaiagents[all]'.

This change adds both missing extras to ensure complete feature coverage:
- [autonomy]: ast-grep-cli>=0.30.0
- [os]: FastAPI + uvicorn + PyJWT

Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
@MervinPraison
Copy link
Copy Markdown
Owner

@coderabbitai review

@MervinPraison
Copy link
Copy Markdown
Owner

/review

@qodo-code-review
Copy link
Copy Markdown

β“˜ You've reached your Qodo monthly free-tier limit. Reviews pause until next month β€” upgrade your plan to continue now, or link your paid account if you already have one.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

βœ… Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

Review Change Stack
No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ecd9edaa-2423-479a-b396-363297cd4f63

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between e33b4b4 and 9accba1.

πŸ“’ Files selected for processing (1)
  • src/praisonai-agents/pyproject.toml

πŸ“ Walkthrough

Walkthrough

The PR completes the project.optional-dependencies.all extras group in src/praisonai-agents/pyproject.toml by adding five previously missing optional dependencies: praisonaiagents[mongodb], praisonaiagents[auth], praisonaiagents[search], praisonaiagents[crawl], and praisonaiagents[autonomy].

Changes

Optional Dependencies Configuration

Layer / File(s) Summary
Optional Dependencies Configuration
src/praisonai-agents/pyproject.toml
The all extras list now includes mongodb, auth, search, crawl, and autonomy that were previously absent.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly Related PRs

Suggested Labels

packaging, dependencies, bugfix

Poem

🐰 Five extras spring to life today,
No more imports go astray!
Autonomy, crawl, and friends unite,
The [all] group shines so bright! ✨

πŸš₯ Pre-merge checks | βœ… 3 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title mentions adding autonomy and os extras to the [all] group, which aligns with the changes shown in the summary (mongodb, auth, search, crawl, autonomy added). However, the summary does not explicitly mention an [os] extra being added, creating a partial mismatch. Clarify whether the [os] extra was actually added to the [all] group in the code changes, as the summary mentions autonomy but does not explicitly reference [os].
Linked Issues check ❓ Inconclusive The PR addresses the primary requirement from issue #1629 by adding autonomy to the [all] extras group. However, the summary does not confirm whether the [os] extra was added, which was also requested in the issue's Option A. Verify that both autonomy and os extras are included in the [all] group to fully satisfy issue #1629's acceptance criteria.
βœ… Passed checks (3 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Out of Scope Changes check βœ… Passed The changes are limited to updating the optional-dependencies [all] extras group in pyproject.toml, which is directly scoped to issue #1629's requirements.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/issue-1629-20260507-0942

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@MervinPraison
Copy link
Copy Markdown
Owner

@copilot Do a thorough review of this PR. Read ALL existing reviewer comments above from Qodo, Coderabbit, and Gemini first β€” incorporate their findings.

Review areas:

  1. Bloat check: Are changes minimal and focused? Any unnecessary code or scope creep?
  2. Security: Any hardcoded secrets, unsafe eval/exec, missing input validation?
  3. Performance: Any module-level heavy imports? Hot-path regressions?
  4. Tests: Are tests included? Do they cover the changes adequately?
  5. Backward compat: Any public API changes without deprecation?
  6. Code quality: DRY violations, naming conventions, error handling?
  7. Address reviewer feedback: If Qodo, Coderabbit, or Gemini flagged valid issues, include them in your review
  8. Suggest specific improvements with code examples where possible

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 7, 2026

Greptile Summary

This PR fixes a gap in pyproject.toml where the [all] optional-dependency group was missing [autonomy] and [os] extras, causing an ImportError when users installed praisonaiagents[all] and tried to use autonomy features. The change is additive-only and backward-compatible.

  • [autonomy] is the meaningful new addition, pulling in ast-grep-cli>=0.30.0 which was not reachable via any previously-listed extra in [all].
  • [os] is redundant with the already-included [api] (fastapi, uvicorn) and [auth] (PyJWT) extras, but pip resolves duplicates gracefully so there is no functional harm.

Confidence Score: 5/5

Safe to merge β€” the change is two additive lines in the [all] extras group with no risk of breakage.

The only change is adding two self-referencing extras to the [all] group. [autonomy] genuinely fills the gap by introducing ast-grep-cli. [os] is technically redundant since its packages are already covered by [api] and [auth], but pip resolves duplicates without error. No existing behaviour is altered and no new code paths are touched.

No files require special attention.

Important Files Changed

Filename Overview
src/praisonai-agents/pyproject.toml Adds praisonaiagents[autonomy] and praisonaiagents[os] to the [all] extras group; also fixes the missing trailing comma on the crawl entry.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["pip install 'praisonaiagents[all]'"] --> B[all extras group]
    B --> C[memory]
    B --> D[knowledge]
    B --> E[graph]
    B --> F[llm]
    B --> G[mcp]
    B --> H[api]
    B --> I[telemetry]
    B --> J[mongodb]
    B --> K[auth]
    B --> L[search]
    B --> M[crawl]
    B --> N["autonomy NEW"]
    B --> O["os NEW"]
    N --> N1["ast-grep-cli>=0.30.0"]
    O --> O1["fastapi>=0.115.0"]
    O --> O2["uvicorn>=0.34.0"]
    O --> O3["PyJWT>=2.8.0"]
    H --> H1["fastapi>=0.115.0 overlap"]
    H --> H2["uvicorn>=0.34.0 overlap"]
    K --> K1["PyJWT>=2.8.0 overlap"]
Loading

Reviews (1): Last reviewed commit: "fix: add missing [autonomy] and [os] ext..." | Re-trigger Greptile

Comment on lines +116 to 119
"praisonaiagents[crawl]",
"praisonaiagents[autonomy]",
"praisonaiagents[os]"
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The [os] extra is fully covered by the [api] and [auth] extras that are already present in [all]. [api] provides fastapi and uvicorn; [auth] provides PyJWT (plus more). pip handles the overlap gracefully, so this is harmless β€” but the entry is redundant. The genuinely new dependency is [autonomy] (which brings in ast-grep-cli). If the intent is only to expose the os alias as a usable named extra, keeping it is reasonable; otherwise it could be omitted.

Suggested change
"praisonaiagents[crawl]",
"praisonaiagents[autonomy]",
"praisonaiagents[os]"
]
"praisonaiagents[crawl]",
"praisonaiagents[autonomy]",
"praisonaiagents[os]" # redundant: fastapi+uvicorn already in [api], PyJWT already in [auth]
]

Copy link
Copy Markdown
Contributor

Copilot AI commented May 7, 2026

@copilot Do a thorough review of this PR. Read ALL existing reviewer comments above from Qodo, Coderabbit, and Gemini first β€” incorporate their findings.

Review areas:...

Reviewed commit 9accba1. No blockers found. The change is minimal and backward-compatible, with no security or performance concerns. Prior reviewer input was effectively: Qodo had no review, CodeRabbit had no actionable comments, and Greptile noted only that [os] is dependency-redundant with [api] + part of [auth]. I agree that redundancy exists, but keeping [os] in [all] is still reasonable if the goal is complete named-extra coverage. Main follow-up I’d suggest is adding a small metadata regression test or install-check so this doesn’t regress silently.

@MervinPraison
Copy link
Copy Markdown
Owner

@claude You are the FINAL architecture reviewer. If the branch is under MervinPraison/PraisonAI (not a fork), you are able to make modifications to this branch and push directly. SCOPE: Focus ONLY on Python packages (praisonaiagents, praisonai). Do NOT modify praisonai-rust or praisonai-ts. Read ALL comments above from Gemini, Qodo, CodeRabbit, and Copilot carefully before responding.

Phase 1: Review per AGENTS.md

  1. Protocol-driven: check heavy implementations vs core SDK
  2. Backward compatible: ensure zero feature regressions
  3. Performance: no hot-path regressions

Phase 2: FIX Valid Issues
4. For any VALID bugs or architectural flaws found by Gemini, CodeRabbit, Qodo, Copilot, or any other reviewer: implement the fix
5. Push all code fixes directly to THIS branch (do NOT create a new PR)
6. Comment a summary of exact files modified and what you skipped

Phase 3: Final Verdict
7. If all issues are resolved, approve the PR / close the Issue
8. If blocking issues remain, request changes / leave clear action items

@praisonai-triage-agent
Copy link
Copy Markdown
Contributor Author

praisonai-triage-agent Bot commented May 7, 2026

Claude finished @MervinPraison's task β€”β€” View job


Final Architecture Review

Phase 1: Architecture Review per AGENTS.md

  • Read AGENTS.md for architecture guidelines
  • Review protocol-driven design compliance
  • Check backward compatibility
  • Verify no performance regressions
  • Examine the actual code changes

Phase 2: Address Valid Issues

  • Review feedback from previous reviewers (CodeRabbit, Greptile, Copilot)
  • Implement fixes for any valid architectural issues
  • Push fixes to current branch if needed

Phase 3: Final Verdict

  • Approve/request changes based on findings
  • Provide clear summary of review outcome

Architecture Review Findings

βœ… Phase 1: AGENTS.md Compliance

  1. Protocol-driven: βœ… PASS - This change only modifies optional dependencies, no core protocol changes
  2. Backward compatible: βœ… PASS - Only additive changes to [all] group, no breaking changes
  3. Performance: βœ… PASS - No hot-path regressions, these are installation-time only dependencies

βœ… Phase 2: Previous Reviewer Issues

Greptile's Valid Observation: The [os] extra is indeed redundant since:

  • fastapi and uvicorn are already included via [api]
  • PyJWT is already included via [auth]

However, this redundancy is architecturally acceptable because:

  • pip handles duplicate dependencies gracefully without conflicts
  • Keeping [os] provides a semantic alias that users may expect
  • No functional harm or performance impact
  • Maintains explicit naming for deployment scenarios

Action: No fix required - redundancy is intentional and harmless.

βœ… Phase 3: Final Verdict

APPROVED βœ…

This PR successfully addresses issue #1629 by:

  1. Adding [autonomy] extra - Brings in ast-grep-cli>=0.30.0 which was genuinely missing
  2. Adding [os] extra - Provides semantic clarity for deployment scenarios
  3. Fixing syntax - Adds missing trailing comma on [crawl] entry

Architecture Quality:

  • βœ… Follows protocol-driven design (no core changes)
  • βœ… Maintains backward compatibility
  • βœ… No performance regressions
  • βœ… Adheres to optional dependency patterns per AGENTS.md

Recommendation: Merge immediately - this is a safe, focused fix that resolves the ImportError without any architectural concerns.


| Branch: claude/issue-1629-20260507-0942

Copilot AI requested a review from MervinPraison May 7, 2026 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Packaging] praisonaiagents[all] missing autonomy extra β€” ImportError at runtime

2 participants