A Python 3 CLI for picking a random game from your Steam library!
Features
- customizable filters (co-op, multiplayer, VR, high Metacritic rating, and more!)
- concise game metadata (summary, platforms, categories, playtime, Metacritic score, etc.)
- remembers your Steam ID and API key, only have to enter once
Installation
Requires Python 3.10 or higher.
pipx [recommended]
Install pipx if you haven't already, then run:
pipx install steam-picker
To install from source instead, run the following command in the app root directory:
pipx install .
Add the --editable flag if you want to hack on the source code and have your changes automatically reflected in the installed app:
pipx install --editable .
uvx
Install uv if you haven't already, then run the following command to run the app without installing it:
uvx steam-picker
To run from source instead, run the following command in the app root directory:
uvx --from . steam-picker
uv caches the built app, so add the --reinstall flag to pick up any changes to the source code:
uvx --reinstall --from . steam-picker
pip
Run the following command:
pip3 install --user steam-picker
To install from source instead, run pip3 install --user . in the app root directory.
Feel free to omit the --user flag if you normally install packages
to the root directory.
Usage
Assuming your Python package bin is in your $PATH, just run steam-picker from the command line.
Pick a game from your personal Steam library!
<enter your Steam profile URL and API key>
How about... 'Zeno Clash 2'?
Categories: ['Single-player', 'Co-op', 'Steam Achievements', 'Full controller support', 'Steam Trading Cards', 'Steam Cloud', 'Steam Leaderboards']
Genres: ['Action', 'Indie']
Platforms: ['windows']
Playtime: {'hours': 0}
Steam URL: https://store.steampowered.com/app/215690/
[y = accept, n or q = quit, f = filter, other = continue]: f
See filters.py to customize quick filters and add default filters.
Quick filters
=============
coop: Co-op games.
high: Metracritic scores > 70. (Filters out games without Metacritic scores.)
linux: Linux support.
multi: Multiplayer.
vr: VR support. (Steam store metadata does not categorize all VR-capable games, so this will miss some.)
unplayed: Played less than an hour.
[Quick filter alias <or> Python lambda x: filter body to add <or> filter ID to delete]: coop
How about... 'Secrets of Grindea'?
Summary: A fantasy Action RPG, playable by yourself or in co-op with up to three friends! Features an unrestricted skill system, fluid and challenging combat, and an engaging story. For additional value, there's also a fleshed out, challenging roguelike mode to truly put your ARPG skills to the test!
Categories: ['Single-player', 'Online Multi-Player', 'Co-op', 'Steam Achievements', 'Full controller support', 'Steam Cloud', 'Steam Leaderboards']
Genres: ['Action', 'Adventure', 'Indie', 'RPG', 'Early Access']
Platforms: ['windows']
Playtime: {'hours': 1}
Steam URL: https://store.steampowered.com/app/269770/
[y = accept, n or q = quit, f = filter, other = continue]: y
Alright, 'Secrets of Grindea' it is.
░▐█▀█ ▄▀▄ █▀▀▄ ▀█▀ ▀▄─▄▀──░█▀█▀█ ▀ █▄─▄█ █▀▀░█░█░█
░▐█▄█ █▀█ █▐█▀ ─█─ ──█──────░█── █ █─█─█ █▀▀─▀─▀─▀
░▐█── ▀─▀ ▀─▀▀ ─▀─ ──▀─────░▄█▄─ ▀ ▀───▀ ▀▀▀░▄░▄░▄
Development
To develop this package or run it without installing:
- Install uv.
- Run the app:
uv run steam-picker - Build the app for distribution (see
distdirectory for wheel and archive):uv build - Publish the app to PyPI:
uv publish dist/steam_picker-<version>*
Metadata
Release files for steam-picker 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| steam_picker-0.1.7.tar.gz | 11.0 kB | Without provenance | Details for steam_picker-0.1.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| steam_picker-0.1.7-py3-none-any.whl | Python 3 | none | any | Details for steam_picker-0.1.7-py3-none-any.whl |
Total release size: 24.2 kB
Release files / steam_picker-0.1.7.tar.gz
| Download URL | steam_picker-0.1.7.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
900fff5588702c4b59a525f49681ef9d5cd18104905ccc2360875a34809d5ab8
|
|
BLAKE2b-256 checksum How to use checksums |
8076e9b67df40ccd1d4634dbbf70d9a0a73776001b1537cc81d0514b04a4ae19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / steam_picker-0.1.7-py3-none-any.whl
| Download URL | steam_picker-0.1.7-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb77e735e7a48ef7a4cd0e7402e8791749b71da82327df009ddcbe66ba3ef146
|
|
BLAKE2b-256 checksum How to use checksums |
f2002e27788cd6a2812a228a64e15593b5426a3336cd3ee1ed1db1682f09eab6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for steam-picker 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.