Add comprehensive PyPI discovery and monitoring capabilities with 4 core tools:
- monitor_pypi_new_releases: Track new releases by category with real-time alerts
- get_pypi_trending_today: Analyze current trending packages with market insights
- search_pypi_by_maintainer: Find packages by maintainer with portfolio analysis
- get_pypi_package_recommendations: Algorithm-based package recommendations
Features:
- RSS feed integration for real-time release monitoring
- Intelligent caching system with configurable TTL
- Advanced package categorization and filtering
- Trending analysis with multiple data signals
- Personalized recommendations with user context
- Comprehensive error handling and logging
- Full test coverage with mocked dependencies
- MCP server endpoints for all discovery tools
Dependencies:
- Add feedparser for RSS feed parsing
- Enhanced server.py with 4 new MCP tool endpoints
- Updated tools/__init__.py exports
This implementation provides production-ready monitoring and discovery
capabilities that integrate seamlessly with the existing codebase architecture.
- Update all dependencies to latest versions (fastmcp, httpx, packaging, etc.)
- Downgrade click from yanked 8.2.2 to stable 8.1.7
- Fix code formatting and linting issues with ruff
- Most tests passing (2 test failures in dependency resolver need investigation)
- Add ServerSettings class with pydantic-settings for type-safe configuration
- Support multiple PyPI mirror sources with priority-based fallback mechanism
- Implement RepositoryConfig and RepositoryManager for multi-repository support
- Add environment variable support for all configuration options
- Include private repository authentication configuration
- Add advanced dependency analysis settings (max depth, concurrency, security)
- Provide secure credential management with sensitive data masking
- Update documentation and configuration examples
- Add comprehensive test suite with 23 test cases covering all features
- Include demo script showcasing multi-mirror configuration capabilities
Configuration features:
- Primary, additional, and fallback index URLs
- Automatic duplicate URL removal with priority preservation
- Runtime configuration reloading
- Integration with repository manager for seamless multi-source queries
Signed-off-by: longhao <hal.long@outlook.com>
- Add commitizen to dev dependencies for semantic versioning
- Configure commitizen with conventional commits and poetry integration
- Set up automatic changelog generation and PEP440 version scheme
- Enable major version zero mode for pre-1.0 releases
- Update poetry.lock with new commitizen dependency
Signed-off-by: longhao <hal.long@outlook.com>
- Remove mypy from CI workflow
- Remove mypy configuration from pyproject.toml
- Remove mypy dependency from dev dependencies
- Remove mypy session from noxfile.py
- Keep only essential linting (ruff + isort) and testing (pytest)
- All remaining checks still pass
- Add isort configuration to pyproject.toml with black profile
- Fix import formatting to be compatible with both ruff and isort
- All lint checks now pass (both ruff and isort)
- Tests continue to pass
- Add comprehensive configuration examples for Claude Desktop, Cline, Cursor, and Windsurf
- Include proper uvx installation and usage instructions
- Add environment variables documentation
- Include practical usage examples and conversation patterns
- Follow standard Python MCP server documentation format
- Add pypi-query-mcp-server script entry point for uvx compatibility
- Fix FastMCP server interface to use correct mcp.run() instead of app.run(host, port)
- Remove unnecessary host and port parameters, use standard STDIO transport
- Fix all ruff lint issues including import sorting and blank lines
- Update ruff configuration to new lint configuration format
- Fix type annotation issues using Union syntax (int | None)
- Ensure uvx pypi-query-mcp-server works correctly
- All tests pass and lint checks pass