- π Smart Detection - Automatically detects installed packages across Linux distributions
- π Usage Analysis - Analyzes system logs to understand your package usage patterns
- π€ AI-Powered - Uses Ollama for intelligent recommendations based on your workflow
- π Similarity Matching - Suggests packages similar to ones you frequently use
- π₯οΈ Interactive CLI - Rich command-line interface with interactive package selection
- π Detailed Reports - Generates comprehensive recommendation reports
- π History Tracking - Maintains installation and usage history
- Python 3.8+
- Ollama
- Linux-based OS (Ubuntu, Debian, Fedora, RHEL, or CentOS)
# Clone the repository
git clone https://github.com/yourusername/echo.git
cd echo
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate
# Install
pip install -r requirements.txt
pip install -e .# Basic recommendations
echo recommend -w "I need data science tools"
# Interactive mode
echo recommend -w "data science tools" -i# Install packages
echo install jupyter pandas scikit-learn
# Uninstall packages
echo uninstall jupyter# Search packages
echo search jupyter
# Get package details
echo info pandas# Recent installations
echo history
# Last 20 operations
echo history --limit 20Echo's interactive mode provides a rich CLI experience:
$ echo recommend -w "data science tools" -i
Recommended Packages
ββββββββββ¬βββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββ
β Select β Package β Description β Score β
ββββββββββΌβββββββββββββΌββββββββββββββββββββββββββΌββββββββ€
β 1 β jupyter β Interactive notebooks β 0.95 β
β 2 β pandas β Data analysis library β 0.92 β
β 3 β matplotlib β Visualization toolkit β 0.88 β
ββββββββββ΄βββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββ
Enter numbers to install (e.g., 1,2): β| Option | Description |
|---|---|
-i, --interactive |
Interactive package selection |
-v, --verbose |
Detailed output |
-y, --yes |
Auto-confirm prompts |
-h, --help |
Show help message |
from echo import PackageRecommender
recommender = PackageRecommender()
workflow = "I need data science tools"
recommendations = recommender.get_recommendations(workflow)# Setup development environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run tests
pytest tests/
# Format code
black src/ tests/Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Package dependency visualization
- System resource usage tracking
- Custom recommendation profiles
- Integration with more package managers
- Package security scanning
Your Name - @yourusername
Project Link: https://github.com/BhagyaAmarasinghe/echo
Made with β€οΈ for the open-source community