- Python 3.11+ - backend runtime.
pydantic-settings- typed configuration from environment variables and.env.httpx- async HTTP client for marketplace APIs and Telegram.Typer- CLI entrypoint:doctor,scan,worker.- SQLite - MVP storage for market quotes and sent signal journal.
aiosqlite- async SQLite access.- Docker + Docker Compose - repeatable runtime environment.
pytest- unit and contract tests.ruff- linting and import sorting.mypy- strict static type checking.
Python is a strong fit for market data collection, API integrations, analytics and Telegram automation. The MVP deliberately avoids a web UI and heavy service split until the data pipeline and signal quality are proven.
SQLite is enough for the first read-only version because the system writes compact quote snapshots and signal records. The persistence boundary is isolated, so PostgreSQL can replace it later without changing domain logic.
Future production hardening can add:
- PostgreSQL for multi-user or high-volume storage.
- Redis for distributed rate limits and caching.
- FastAPI for a dashboard/API layer.
- OpenTelemetry/Prometheus for metrics.
- Separate collector, analytics and alert workers.
These are intentionally not in the first MVP to keep the core reliable and testable.