SteamGGames — CLI + TUI for browsing games on steamgg.net
Project description
SteamGGames — CLI + TUI for steamgg.net
Interactive game browser for steamgg.net, right from the terminal.
Author: DevTroli · License: MIT · Version: 1.0
Installation
Global (recommended):
pip install steamggames
steamggames
Development:
git clone https://github.com/DevTroli/SteamGGames.git && cd SteamGGames
uv venv && uv pip install -r requirements.txt
uv run steamggames
Usage
steamggames # Interactive TUI mode
steamggames search "Elden Ring" # Direct search
steamggames info <url> # Game details
steamggames open <url> # Open in browser
steamggames --refresh # Force cache refresh
TUI Commands
| Command | Action |
|---|---|
<text> |
Search by name |
info <n> |
Details for result #N |
info <url> |
Details from URL |
open <n> |
Open result #N in browser |
open <url> |
Open URL in browser |
next / n |
Next page |
prev / p |
Previous page |
refresh |
Clear cache and re-fetch |
help / h |
Help |
quit / q |
Quit |
Features
- ⚡ Async: 8 concurrent connections (aiohttp) with semaphore
- 🛡️ Anti-block: 1.5~4.5s delay, backoff on 403/429/503, User-Agent rotation
- 📦 Smart cache: 4h for search, 12h for game page (XDG)
- 🔒 SSL/TLS: certifi CA bundle + SSRF protection
- 🎨 Rich TUI: colored interface with tables and panels
- 🔍 Version extraction: detects v1.2.3, Build N, Update N automatically
- 🔗 Download links: extracts
vc_btn3buttons for datanodes.to, rootz.so, etc.
Project Structure
steamggames/
├── __init__.py # Version and metadata
├── config.py # Constants, URLs, anti-block, cache config
├── models.py # Dataclasses: SearchResult, GamePage, DownloadLink
├── utils.py # User-Agent rotation, extract_version, helpers
├── cache.py # Disk cache with TTL (XDG)
├── scraper.py # Async scraper with multi-layer selectors
├── cli.py # CLI with argparse + entry point
└── tui.py # Interactive TUI with Rich
Cache Location
Cache is stored at:
- Linux/macOS:
~/.cache/steamggames/ - Windows:
%LOCALAPPDATA%\steamggames\
To clear: use the refresh command in TUI, or delete the folder manually.
Development
# Install dev dependencies
uv pip install -e ".[dev]"
# Lint
ruff check steamggames/
# Type check
mypy steamggames/
# Tests
pytest
Not affiliated with steamgg.net. Use in accordance with the site's terms.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file steamggames-1.0.0.tar.gz.
File metadata
- Download URL: steamggames-1.0.0.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56f190777145bc2d7087ce1fbcceff5fe07bd074d76ebb9fa5dd022e46aef8cc
|
|
| MD5 |
33832cec89c4c415b1656755f708a7d4
|
|
| BLAKE2b-256 |
74ce65d4956609f763882dc63a7e85436d926f42295aa1cc9c91e5d0f06f8c01
|
File details
Details for the file steamggames-1.0.0-py3-none-any.whl.
File metadata
- Download URL: steamggames-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9f6996cd940b2bb3f3bac6e207a3522d830109368d1fe9ba55f947ab13fa9e4
|
|
| MD5 |
0f698fc8a1267ff1cf3d27e5a2fd5910
|
|
| BLAKE2b-256 |
9d41bb1b59b830d0415a6f9db1f3a3e5052ba7b576777b3c19edfef721f343a3
|