Skip to content

metholyn/Steam-Pulse

Repository files navigation

Steam-Pulse

Real-time CS2 skin arbitrage and market monitoring bot. Steam-Pulse is designed as a professional, extensible and safe analytics product for tracking price gaps across Steam and external marketplaces.

Status

The project is in read-only MVP phase. It already has a Python backend with domain models, marketplace adapter contracts, demo/real adapters, SQLite storage, Telegram-ready notification channel, operator storage commands, graceful worker shutdown and Docker runtime.

Stack

  • Python 3.11+
  • Pydantic Settings
  • HTTPX
  • Typer CLI
  • SQLite via aiosqlite
  • Docker and Docker Compose
  • Pytest, Ruff, MyPy and pip-audit for quality checks

Quick Start

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
Copy-Item .env.example .env
steam-pulse doctor --offline
steam-pulse scan --demo

Can I Use It Now?

Yes. The MVP is usable now as a read-only analytics tool:

  • demo mode is ready for immediate local validation and does not call real marketplaces.
  • real mode can run Steam baseline plus CSFloat, but marketplace access can still depend on CSFloat availability, credentials, request profile and rate limits.
  • Telegram alerts are implemented, but stay disabled until STEAM_PULSE_TELEGRAM_ENABLED=true, STEAM_PULSE_TELEGRAM_BOT_TOKEN and STEAM_PULSE_TELEGRAM_CHAT_ID are configured.
  • Automated buying, selling and Steam account actions are not part of the MVP.

First local use:

steam-pulse doctor --offline
steam-pulse status
steam-pulse scan --demo
steam-pulse storage stats
steam-pulse storage runs --limit 5

If repeated demo scans show opportunities=1 alerts=0, the signal was deduplicated because it was already sent recently. Use a temporary database when you want to see a fresh demo alert again:

$env:STEAM_PULSE_DATABASE_URL="sqlite:///data/steam_pulse-demo-fresh.db"
steam-pulse scan --demo

First real-market read-only check after editing .env:

steam-pulse doctor --online --real
steam-pulse scan --real

Long-running worker:

steam-pulse worker

Run steam-pulse worker --send-alerts only after Telegram settings are configured.

Telegram setup helper:

steam-pulse telegram chats
steam-pulse telegram test

Send any message to the bot first, then run steam-pulse telegram chats to find the chat id for STEAM_PULSE_TELEGRAM_CHAT_ID.

Docker

docker compose up --build

CI

GitHub Actions runs the same quality gate used locally:

python -m pytest
python -m ruff check .
python -m mypy src
python -m pip check
python -m pip_audit
docker compose config --quiet

Documentation

Core Principle

Steam-Pulse starts as a safe read-only analytics engine. Automated buying, selling or account actions are outside the MVP and must only be considered after strong risk controls, audit logs, explicit user approval and platform compliance review.

About

Real-time CS2 skin arbitrage & market monitoring bot. Catch profitable flips across major platforms instantly.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors