Skip to content

feat(deps): split cli/server/mcp/seekdb into optional extras#931

Open
wayyoungboy wants to merge 5 commits into
oceanbase:mainfrom
wayyoungboy:feat-optional-deps-0512
Open

feat(deps): split cli/server/mcp/seekdb into optional extras#931
wayyoungboy wants to merge 5 commits into
oceanbase:mainfrom
wayyoungboy:feat-optional-deps-0512

Conversation

@wayyoungboy
Copy link
Copy Markdown
Member

Summary

  • Move click, fastapi, uvicorn, slowapi, pyseekdb from required dependencies to optional extras ([cli], [server], [mcp],
    [seekdb])
  • Add powermem-mcp entry point with full MCP server module (13 tools)
  • Add import guards for CLI/Server/MCP with clear install hints
  • Update Dockerfile to install .[server,seekdb]
  • Pin numpy<2.0.0 and greenlet<3.0 for CentOS 7 compatibility

Install usage

pip install powermem              # core only                                                                                                    
pip install "powermem[cli]"       # CLI (pmem)
pip install "powermem[server]"    # HTTP API server                                                                                                
pip install "powermem[mcp]"       # MCP server                                                                                                     
pip install "powermem[seekdb]"    # embedded SeekDB                                                                                                
                                                                                                                                                   
Test plan                                                                                                                                        

- All 153 unit tests pass
- Import guards verified: cli/server OK with deps, mcp correctly rejects without fastmcp
- No sensitive information in diff                                                                                                                 
- CI build on PR
- Docker image build verification    

wayyoungboy and others added 5 commits May 12, 2026 21:02
- pyproject.toml: add [cli], [server], [mcp], [seekdb] optional-dependencies;
  pin numpy<2.0.0 and greenlet<3.0 for CentOS 7 (GCC 4.8.5) compatibility
- src/powermem/cli/main.py: add import guard — exits with install hint if click missing
- src/server/cli/server.py: add import guard — exits with install hint if fastapi/uvicorn missing
- src/powermem/mcp/: new MCP server module (13 tools) with import guard for fastmcp

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add [cli], [server], [mcp] install variants to README.md, README_CN.md, README_JP.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After splitting dependencies into optional extras, the Docker image
needs `pip install '.[server,seekdb]'` to include server runtime deps.
…ywright

greenlet<3.0 conflicts with playwright>=1.40.0 which requires greenlet>=3.0.3.
CentOS 7 is EOL; users on legacy systems can pin these versions locally.
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.

1 participant