- Python 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src/mobinnetmonitor | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| AGENTS.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
MobinnetMonitor
MobinnetMonitor is a Python 3.13 application for monitoring the quota of a personal Mobinnet LTE account and sending reports through a self-hosted ntfy server.
The project is under initial development. Its intended workflow is:
- Establish a Mobinnet session.
- Retrieve the current CAPTCHA image.
- Obtain its value through the configured CAPTCHA provider.
- Authenticate and retrieve the active plan status.
- Store a timestamped measurement in SQLite.
- Calculate usage over approximately the previous 24 hours.
- Send a concise status report through ntfy.
MobinnetMonitor performs one monitoring run and exits. Scheduling belongs outside the application, normally in a systemd timer.
CAPTCHA provider
CAPTCHA acquisition is intentionally unconfigured during initial development. The placeholder provider performs no image delivery, interaction, interpretation, or solving and fails explicitly when used.
During development, service tests may inject a small test stub that supplies a known answer. The production CAPTCHA provider will be implemented only after all other application components and tests are working.
Development
MobinnetMonitor requires Python 3.13 or newer and uses uv for environment and dependency management.
Install the project and development dependencies:
uv sync --dev
Run the project checks:
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest
Copy .env.example to .env for local configuration. Never commit
.env, credentials, tokens, CAPTCHA answers, authenticated responses,
or runtime databases.