How purplemashu/me-cli works
MYnyak Engsel is a Python CLI for managing an Indonesian mobile-service account and browsing or purchasing packages. The main workflow is account selection, profile and balance display, then menu-driven package discovery and purchase; other menus cover family plans, circles, sharing, notifications, and the store. Authentication, API clients, encryption, purchase settlement, and decoy-package handling are distinct internal layers. Some menu and client files were not excerpted, so uncertain connections are shown only as unverified dashed edges.
Main entry points: main.py Main loop · package.py Package menus · engsel.py Service API · hot.py Hot offers
Components 17
CLI workflow
- Main loop
main.py - Account menu
app/menus/account.py - Package menus
app/menus/package.py - Hot offers
app/menus/hot.py - Other menus
app/menus
Account services
- Auth manager
app/service/auth.py - Bookmarks
app/service/bookmark.py - Decoy packages
app/service/decoy.py
Provider clients
- CIAM login
app/client/ciam.py - Service API
app/client/engsel.py - Signing and encryption
app/client/encrypt.py - Purchase settlement
app/client/purchase - Store queries
app/client/store
Other components
- CLI user
- Provider API
- Signature service
- Refresh-token file
Connections 19
- CLI user → Main loop: uses
main.py - Main loop → Account menu: opens
main.py - Main loop → Hot offers: opens
main.py - Main loop → Package menus: routes to
main.py - Main loop → Other menus: routes to
main.py - Main loop → Auth manager: checks session
main.py - Auth manager → Refresh-token file: reads and writes
app/service/auth.py - Auth manager → CIAM login: refreshes tokens
app/service/auth.py - Main loop → Service API: fetches balance
main.py - Package menus → Service API: requests package data
app/menus/package.py - Package menus → Bookmarks: uses bookmarks
app/menus/package.py - Package menus → Purchase settlement: settles purchases
app/menus/package.py - Hot offers → Purchase settlement: offers purchase
app/menus/hot.py - Hot offers → Decoy packages: uses decoys
- Other menus → Store queries: queries store
app/menus/store/search.py - CIAM login → Signing and encryption: uses signing
app/client/ciam.py - Service API → Signing and encryption: encrypts requests
app/client/engsel.py - Service API → Provider API: calls
- Signing and encryption → Signature service: requests signatures