Skip to content

coder202/trendx-steam

Repository files navigation

TrendX Steam v1.0.0 — Tag & Release Momentum for Steam

trendx-steam

What This Is

trendx-steam extracts raw trend signals from Steam by tracking tag-level release and review momentum over time. It is a data extraction and comparison tool that produces snapshots and CSV diffs suitable for further analysis.

The project focuses on deterministic, reproducible outputs, not interpretation.


What This Is NOT

trendx-steam is not:

  • a prediction engine
  • a recommendation system
  • a sales forecasting tool
  • a market-sizing or revenue estimator
  • guaranteed to be accurate or complete
  • stable against Steam HTML or layout changes

If you are looking for insights, conclusions, or predictions, this tool intentionally does not provide them.


How It Works (High Level)

Steam search HTML
→ parse games
→ filter by time window
→ aggregate tags
→ snapshot (JSON)
→ snapshot comparison → CSV

All data is derived from publicly accessible Steam pages. No private APIs are used.


Installation

Python 3.10+ recommended.

pip install -r requirements.txt

Clone the repository and run commands directly:

python trendx_steam.py --help

No Docker, services, or background jobs are required.


Usage

Extract a Snapshot

trendx-steam extract --window 30d

This creates a snapshot JSON file for the given time window.


List Available Snapshots

trendx-steam snapshots

Compare Two Snapshots

trendx-steam compare \
  --from snapshot_30d_OLDER.json \
  --to snapshot_30d_NEWER.json \
  --output compare_30d.csv

This produces a CSV describing tag-level deltas between the two snapshots.


Output Contract

Snapshot (JSON)

Snapshots contain aggregated counts per tag for a fixed time window. The schema is considered stable within v1.x.

Comparison Output (CSV)

The CSV columns are fixed:

tag_id
tag_name
release_count_from
release_count_to
release_delta
review_count_from
review_count_to
review_delta
rank_from
rank_to
rank_delta
  • *_delta fields are computed as to - from

  • rank_delta:

    • negative → rank improved
    • positive → rank declined
    • empty → tag appears in only one snapshot

Breaking changes to formats will only occur in v2.


Failure Modes (Expected Behavior)

The following are normal and expected:

  • Steam returns HTTP 429 → extraction aborts
  • No games found in a window → extraction aborts
  • Steam HTML changes → fewer or zero parsed games
  • Incomplete data → snapshot still written

trendx-steam fails fast and does not attempt recovery.


Support Policy

This project is provided as-is.

  • Issues are welcome only for reproducible bugs
  • Feature requests will be closed
  • Data accuracy discussions will be closed

The goal is long-term stability, not expansion.


Final Notes

trendx-steam is intentionally limited in scope. Its value lies in producing raw, inspectable data with minimal assumptions. Any interpretation or modeling should happen downstream, outside this project.

License

BSD-3-Clause License

THIS SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. THERE IS NO SUPPORT WHATSOEVER.

About

Tag & Release Momentum for Steam

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages