Python’s Package Index hosts over 640,000 packages without standardized categorization, making library discovery difficult. This work formulates library recommendation as multi-objective combinatorial optimization balancing linked usage from project dependencies, semantic similarity from package descriptions, and recommendation set size. We implement Multi-Objective General Variable Neighborhood Search with domain-specific neighborhood structures for addition, removal, and swap operations. The framework processes 10,000 PyPI packages and co-occurrence patterns from 24,000 GitHub repositories. Experimental evaluation with 30 independent runs per algorithm across two context libraries shows MO-GVNS achieves significantly higher hypervolume than NSGA-II (37.4