How kerevizodunu2000/rosu works
Rosu is a Windows desktop manager for osu! beatmap-pack archives and a deduplicated music library. Users unpack packs into an indexed library, search and inspect maps, then import or export sets to osu! clients or Google Drive. Separate workflows also cover installed-song capture, health checks, lost-map scans, and reports. The graph uses README-described capabilities and sampled service/UI evidence; some subsystem wiring is documented but its implementation was not sampled, so uncertain internal calls are omitted.
Main entry points: db.py Library database · main_window.py Main window · extract_svc.py Pack extraction · client.py Drive client
Components 27
Desktop app
- Main window
rosu/ui/main_window.py - Settings
rosu/ui/settings_tab.py - Services context
rosu/services/__init__.py
Pack and library
- Packs tab
rosu/ui/packs_tab.py - Pack extraction
rosu/services/extract_svc.py - Archive handling
rosu/extractor.py - Library operations
rosu/services/library_svc.py - Library database
rosu/db.py - Map metadata
rosu/models.py
Search and reporting
- Search and details
rosu/ui/search_tab.py - Query parsing
rosu/query.py - Search engine
rosu/search.py - Difficulty ratings
rosu/ratings.py - Artists view
rosu/ui/artists_tab.py - Excel report
rosu/excel_report.py
Client workflows
- Client import
rosu/services/import_svc.py - Installed-song capture
rosu/client_import.py - Shortcut jobs
rosu/services/export_svc.py
Cloud and health
- Library health
rosu/services/health_svc.py - Metadata enrichment
rosu/services/metadata_svc.py - Drive authentication
rosu/drive/auth.py - Drive client
rosu/drive/client.py - Drive bundles
rosu/drive/bundle.py
Other components
- User
- osu! client
- osu! API
- Google Drive
Connections 33
- User → Main window: uses
- Main window → Services context: uses
- Main window → Packs tab: shows
- Main window → Search and details: shows
- Main window → Artists view: shows
- Main window → Settings: shows
- Packs tab → Pack extraction: requests unpack
- Pack extraction → Archive handling: extracts archives
- Pack extraction → Library database: records sets
- Pack extraction → Drive client: uploads optionally
- Library operations → Library database: indexes sets
- Library operations → Map metadata: reads metadata
- Search and details → Query parsing: parses filters
- Search and details → Search engine: requests results
- Search engine → Library database: queries library
- Search engine → Difficulty ratings: uses ratings
- Artists view → Library database: reads aggregates
- Excel report → Library database: reads tracking data
- Settings → Library health: requests checks
- Settings → Metadata enrichment: requests enrichment
- Metadata enrichment → osu! API: fetches metadata
- Client import → osu! client: dispatches sets
- Client import → Library database: tracks client location
- Client import → Installed-song capture: captures installed maps
- Installed-song capture → osu! client: reads installed songs
- Shortcut jobs → Client import: runs transfers
- Shortcut jobs → Pack extraction: runs unpack jobs
- Shortcut jobs → Drive client: uploads exports
- Drive authentication → Google Drive: authenticates
- Drive client → Google Drive: reads and writes
- Drive bundles → Drive client: uses uploads
- Drive client → Library database: supports location tracking
- Library health → Library database: scrubs records