Skip to content

A smart Linux package recommendation system powered by AI πŸš€

License

Notifications You must be signed in to change notification settings

BhagyaAmarasinghe/echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Echo

A smart Linux package recommendation system powered by AI πŸš€

License: MIT Python 3.8+ Code style: black PRs Welcome

✨ Features

  • πŸ” 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

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • Ollama
  • Linux-based OS (Ubuntu, Debian, Fedora, RHEL, or CentOS)

Installation

# 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 .

πŸ’» Usage

Get Recommendations

# Basic recommendations
echo recommend -w "I need data science tools"

# Interactive mode
echo recommend -w "data science tools" -i

Package Management

# Install packages
echo install jupyter pandas scikit-learn

# Uninstall packages
echo uninstall jupyter

Search and Info

# Search packages
echo search jupyter

# Get package details
echo info pandas

View History

# Recent installations
echo history

# Last 20 operations
echo history --limit 20

🌟 Interactive Mode

Echo'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): β–ˆ

πŸ”§ CLI Options

Option Description
-i, --interactive Interactive package selection
-v, --verbose Detailed output
-y, --yes Auto-confirm prompts
-h, --help Show help message

πŸ“˜ Python API

from echo import PackageRecommender

recommender = PackageRecommender()
workflow = "I need data science tools"
recommendations = recommender.get_recommendations(workflow)

πŸ› οΈ Development

# 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/

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open a Pull Request

πŸ“ License

Distributed under the MIT License. See LICENSE for more information.

πŸ™ Acknowledgments

  • Ollama for the AI model
  • Rich for beautiful terminal output
  • Click for CLI functionality

πŸ—ΊοΈ Roadmap

  • Package dependency visualization
  • System resource usage tracking
  • Custom recommendation profiles
  • Integration with more package managers
  • Package security scanning

πŸ“« Contact

Your Name - @yourusername

Project Link: https://github.com/BhagyaAmarasinghe/echo


Made with ❀️ for the open-source community

About

A smart Linux package recommendation system powered by AI πŸš€

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages