CLI tool for discovering and installing Linux rice profiles
Project description
RiceShare CLI
Discover and install Linux rice profiles with ease.
RiceShare is a production-grade CLI tool for discovering, installing, and managing Linux rice profiles (desktop environment configurations). Built with modern Python tooling, it provides a clean interface for browsing available profiles and safely installing them with automatic backups.
Features
- Search profiles: Browse available rice profiles from the community index
- Profile info: View detailed information about any profile
- Safe installation: Install profiles with automatic backups and dry-run support
- Rollback support: Easily restore previous configurations from backups
- Distro detection: Automatically selects the right package manager and packages for your system
- Production-ready: Full type hints, comprehensive tests, and CI/CD workflow
Installation
Install from source:
git clone https://github.com/AxonInnova/RiceShare.git
cd RiceShare
pip install -e .
Or install from PyPI (recomended):
pip install riceshare
Usage
Search for profiles
riceshare search
Displays all available profiles in a formatted table with ID, name, author, description, and supported distributions.
View profile details
riceshare info <profile-id>
Shows detailed information about a specific profile including description, author, supported distributions, and preview URL (if available).
Install a profile
riceshare install <profile-id> [--dry-run] [--yes]
Installs a profile:
--dry-run: Preview changes without applying them--yes: Skip confirmation prompts
The tool automatically:
- Detects your Linux distribution
- Selects appropriate packages
- Backs up affected files
- Displays package installation commands for you to run manually
- Creates a timestamped backup for easy rollback
Restore from backup
riceshare rollback [backup-id]
Restores files from a previous backup. Run without a backup ID to list all available backups.
Development
Setup
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
Testing
pytest -q
pytest --cov=riceshare # with coverage
Code quality
ruff check riceshare tests # linting
black riceshare tests # formatting
mypy riceshare # type checking
Build
python -m build
Project Structure
riceshare/— Main packagecli.py— Typer CLI applicationgithub.py— GitHub integration for fetching profilesinstaller.py— Installation logic and YAML validationbackup.py— Backup creation and rollback functionalitypackages.py— Package manager integrationconfig.py— Configuration and constantsutils.py— HTTP, file, and error utilities
tests/— Unit and integration tests.github/workflows/ci.yaml— GitHub Actions CI pipeline
License
MIT License - see LICENSE for details.
Contributing
See CONTRIBUTING.md for guidelines.
Changelog
See CHANGELOG.md for release notes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters