Implement comprehensive PyPI development workflow tools to assist with package preparation and validation: 1. **validate_pypi_package_name** - Validates package name format according to PyPI standards, checks availability, and provides improvement recommendations 2. **preview_pypi_package_page** - Generates preview of PyPI package page with metadata validation, SEO analysis, and discoverability scoring 3. **check_pypi_upload_requirements** - Validates package metadata against PyPI upload requirements with compliance scoring and actionable next steps 4. **get_pypi_build_logs** - Analyzes package distributions, build quality, platform support, and provides build health assessment Key Features: - Full PyPI standards compliance validation - Package name availability checking - Comprehensive metadata analysis - Build distribution analysis with platform filtering - SEO and discoverability optimization - Upload readiness assessment - Actionable recommendations and next steps - Comprehensive error handling and logging Files Added: - pypi_query_mcp/tools/workflow.py - Core workflow functionality - tests/test_workflow.py - Comprehensive test suite - Updated server.py with 4 new MCP tool endpoints - Updated tools/__init__.py with exports 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
102 lines
2.7 KiB
Python
102 lines
2.7 KiB
Python
"""MCP tools for PyPI package queries.
|
|
|
|
This package contains the FastMCP tool implementations that provide
|
|
the user-facing interface for PyPI package operations.
|
|
"""
|
|
|
|
from .compatibility_check import (
|
|
check_python_compatibility,
|
|
get_compatible_python_versions,
|
|
suggest_python_version_for_packages,
|
|
)
|
|
from .dependency_resolver import resolve_package_dependencies
|
|
from .download_stats import (
|
|
get_package_download_stats,
|
|
get_package_download_trends,
|
|
get_top_packages_by_downloads,
|
|
)
|
|
from .package_downloader import download_package_with_dependencies
|
|
from .package_query import (
|
|
query_package_dependencies,
|
|
query_package_info,
|
|
query_package_versions,
|
|
)
|
|
from .metadata import (
|
|
manage_package_keywords,
|
|
manage_package_urls,
|
|
set_package_visibility,
|
|
update_package_metadata,
|
|
)
|
|
from .publishing import (
|
|
check_pypi_credentials,
|
|
delete_pypi_release,
|
|
get_pypi_account_info,
|
|
get_pypi_upload_history,
|
|
manage_pypi_maintainers,
|
|
upload_package_to_pypi,
|
|
)
|
|
from .search import (
|
|
find_alternatives,
|
|
get_trending_packages,
|
|
search_by_category,
|
|
search_packages,
|
|
)
|
|
from .discovery import (
|
|
get_pypi_package_recommendations,
|
|
get_pypi_trending_today,
|
|
monitor_pypi_new_releases,
|
|
search_pypi_by_maintainer,
|
|
)
|
|
from .analytics import (
|
|
analyze_pypi_competition,
|
|
get_pypi_package_analytics,
|
|
get_pypi_package_rankings,
|
|
get_pypi_security_alerts,
|
|
)
|
|
from .workflow import (
|
|
check_pypi_upload_requirements,
|
|
get_pypi_build_logs,
|
|
preview_pypi_package_page,
|
|
validate_pypi_package_name,
|
|
)
|
|
|
|
__all__ = [
|
|
"query_package_info",
|
|
"query_package_versions",
|
|
"query_package_dependencies",
|
|
"check_python_compatibility",
|
|
"get_compatible_python_versions",
|
|
"suggest_python_version_for_packages",
|
|
"resolve_package_dependencies",
|
|
"download_package_with_dependencies",
|
|
"get_package_download_stats",
|
|
"get_package_download_trends",
|
|
"get_top_packages_by_downloads",
|
|
"search_packages",
|
|
"search_by_category",
|
|
"find_alternatives",
|
|
"get_trending_packages",
|
|
"upload_package_to_pypi",
|
|
"check_pypi_credentials",
|
|
"get_pypi_upload_history",
|
|
"delete_pypi_release",
|
|
"manage_pypi_maintainers",
|
|
"get_pypi_account_info",
|
|
"update_package_metadata",
|
|
"manage_package_urls",
|
|
"set_package_visibility",
|
|
"manage_package_keywords",
|
|
"get_pypi_package_analytics",
|
|
"get_pypi_security_alerts",
|
|
"get_pypi_package_rankings",
|
|
"analyze_pypi_competition",
|
|
"monitor_pypi_new_releases",
|
|
"get_pypi_trending_today",
|
|
"search_pypi_by_maintainer",
|
|
"get_pypi_package_recommendations",
|
|
"validate_pypi_package_name",
|
|
"preview_pypi_package_page",
|
|
"check_pypi_upload_requirements",
|
|
"get_pypi_build_logs",
|
|
]
|