Giter Club home page Giter Club logo

steam-library-tracker's Introduction

Steam Library Tracker

Steam Library Tracker allows keeping up with what you have played and want to play etc.. Many different types of information is auto retrieved using API's and Scraping.

Images

Console Preview

Excel Preview

Technology Used

  • Python Pandas
  • Rich Console
  • API Requests
  • Web Scraping with Requests and BeautifulSoup
  • EasierExcel (my custom library based on OpenPyXL)

Features

Setup

  1. Install Python (It is currently tested with Python 11.1 and Python 10)
  2. Install dependencies with the following command.
pip install -r requirements.txt
  1. Run main.py so it can create your config file where you need to enter your steam ID and Steam API Key.
{
  "steam_data": {
    "steam_id": "Insert Steam ID",
    "steam_id_3": "Insert Steam ID3",
    "api_key": "Insert API Key",
    "steam_folder": "Insert Path to Steam Folder Here",
    "steam_library": "Insert Path to libraryfolders.vdf file (Optional) - Example: C:/Program Files (x86)/Steam/steamapps/libraryfolders.vdf"
  },
  "settings": {
    "excel_filename": "Game Library.xlsx",
    "friends_list_check_freq": 7,
    "logging": false
  },
  "last_runs": {},
  "friend_ids": []
}
  1. (Optional) Set up any of the other optional settings within the config.
  2. Run main.py again. This should run through your Steam Games and fill your newly created excel file.
  3. Enjoy!

Documentation

Auto Updating Steam Data

Anytime you run Game Library Tracker, it will auto update data for all Steam games if they have new hours to add or if any of columns are blank.

If many games are missing columns above a certain threshold, it will ask if you want to update them.

Game Status Highlighting

You can label any game with a status (Listed Below) and it will auto highlight.

This uses Excel's Conditional Formatting so it can mess up sometimes if you change things manually such as reordering columns.

  • Played
  • Unplayed
  • Waiting
  • Finished
  • Endless
  • Must Play
  • Quit
  • Ignore

Favorite Game Sale Checker

Allows choosing your own rating threshold so that a CSV can be made containing all the games that are currently on sale with the selected rating or higher.

Random game picker

Picks a random game based on the Play Status you select.

Player Count Sync

Allows syncing of player counts for all games, recent games or only 1 game.

Update Library Add Dates

Update Dated Added dates using a json file. This is only needed due to the Steam API not providing purchase dates for games in any way I can find.

Json Example

[
  {
    "date": "Jul 11, 2024",
    "games": ["Game 3"],
    "type": "Purchase",
    "total": 15.25
  },
  {
    "date": "Jul 10, 2024",
    "games": ["Game 1", "Game 2"],
    "type": "Purchase",
    "total": 13.06
  }
]

I wrote a script to pull this data from my steam purchase history page but the script is not currently released.

Friends List Tracking

Get notified when you gain and lose friends from your steam friends list. You normally only know you got a friend request but not whensomeone removes you or accepts your request. The check is set to look every week.

Library Statistics

Shows many statistics and graphs for your library.

Examples:

  • Total Hours Played

Omit games by Name or App ID

Some games have a name that may be very common so you can use its App ID instead.

{
  "app_id_ignore_list": [123456, "123456"],
  "name_ignore_list": ["Steam Deck Deposit"]
}

steam-library-tracker's People

Contributors

concrete18 avatar

Watchers

Kostas Georgiou avatar  avatar

Forkers

georgebilias

steam-library-tracker's Issues

Steam works fine but I can't get the Playstation sync to work

So, basically I added my Steam ID and API Key and they were added just fine, whenI tried synncing ps games it wouldn't do it (I was already signed in playstation.com) I even manually created the json file but still nothing. Maybe I'm doing something wrong, I don't know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.