| Name | gamedetector JSON |
| Version |
0.2.3
JSON |
| download |
| home_page | |
| Summary | The GameDetector library allows you to detect a game within a folder, returning information like Steam AppId, game name, and version. |
| upload_time | 2023-06-13 22:20:24 |
| maintainer | |
| docs_url | None |
| author | Aareon Sullivan |
| requires_python | >=3.10,<4.0 |
| license | MIT |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# GameDetector
Detect games, get Steam info, profit. This program allows you to select a folder on your system (probably in your game library), that contains a game. It looks in the game folder for files that can identify what game it is, get a Steam `AppId` for said game, and find a reasonable list of `EXE` files that could possibly be the game executable.
The purpose of this application is so that it can be used in a much larger application, an automatic game manager for data hoarders. I'll let you know more about this as I develop it, but believe me, it'll be super rad.
## Disclaimer
- Does not circumvent DRM
- Does not encourage the use of pirated software
- Uses publicly available APIs provided by Steam or others
- Makes a reasonable attempt to respect ratelimits
- Caches responses to save bandwidth and API load
- Does not download or upload game data to any server
## Features
- Very fast (reading from compressed archives is limited by 7-zip)
- Folder support
- 7-zip archive support
- GOG game support
- Steam game support
- DRM-free games support
## Compatibility
Currently, only Windows 10/11 are officially supported, but Debian/Linux support is planned in the future.
The project uses `pathlib` so handling different paths should be trivial, its just not tested.
The only known dependency issue is `pywin32`, and there's already a stub for the single function using it for Linux systems to continue using the library.
## Installing
Install [Python 3.10+](https://python.org/downloads)
Clone the repository and install dependency manager (`pipenv`)
```sh
git clone https://github.com/Aareon/GameDetector
cd GameDetector
py -m pip install pipenv
pipenv install
```
After installing dependencies, and given that their were no errors in doing so, run the application.
```sh
cd GameDetector
py ./gamedetector/game_detect.py
```
## What to expect after running directly
After executing the program, you will be prompted to select a folder (game folder). The program will then attempt to detect what game it is based on things like folder name, as well as checking known files that are commonly available in many distributions of games. It will tell you the name of the game detected, the version, the Steam AppId (if available on Steam), as well as a game description.
This program isn't super useful to regular users, but it will be extremely handy to have as a library for other applications.
## Usage as a library
```py
from pathlib import Path
from gamedetector.game_detect import detect_folder, detect_7z, NonSteamGame, SteamGame, NoGameException, SteamApiException
game_path = detect_folder(Path("some path to a game")) # will return either NonSteamGame, or SteamGame if AppId is found
game_7z_path = detect_7z(Path("path to 7z file containing game")) # will return same as above
```
## Reporting bugs
Please see [the Issues page](https://github.com/Aareon/GameDetector/issues). Please include the full output from the program.
## License
MIT (free as in free beer, free to redistribute with credit, free to use commercially with credit)
Raw data
{
"_id": null,
"home_page": "",
"name": "gamedetector",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Aareon Sullivan",
"author_email": "askully13@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8c/79/83b982454393858577c1d712d6d406523961954d49a14139e011b962c1d9/gamedetector-0.2.3.tar.gz",
"platform": null,
"description": "# GameDetector\n\nDetect games, get Steam info, profit. This program allows you to select a folder on your system (probably in your game library), that contains a game. It looks in the game folder for files that can identify what game it is, get a Steam `AppId` for said game, and find a reasonable list of `EXE` files that could possibly be the game executable.\n\nThe purpose of this application is so that it can be used in a much larger application, an automatic game manager for data hoarders. I'll let you know more about this as I develop it, but believe me, it'll be super rad.\n\n## Disclaimer\n\n- Does not circumvent DRM\n- Does not encourage the use of pirated software\n- Uses publicly available APIs provided by Steam or others\n- Makes a reasonable attempt to respect ratelimits\n- Caches responses to save bandwidth and API load\n- Does not download or upload game data to any server\n\n## Features\n- Very fast (reading from compressed archives is limited by 7-zip)\n- Folder support\n- 7-zip archive support\n- GOG game support\n- Steam game support\n- DRM-free games support\n\n## Compatibility\n\nCurrently, only Windows 10/11 are officially supported, but Debian/Linux support is planned in the future.\nThe project uses `pathlib` so handling different paths should be trivial, its just not tested.\nThe only known dependency issue is `pywin32`, and there's already a stub for the single function using it for Linux systems to continue using the library.\n\n## Installing\n\nInstall [Python 3.10+](https://python.org/downloads)\n\nClone the repository and install dependency manager (`pipenv`)\n```sh\ngit clone https://github.com/Aareon/GameDetector\ncd GameDetector\npy -m pip install pipenv\npipenv install\n```\n\nAfter installing dependencies, and given that their were no errors in doing so, run the application.\n```sh\ncd GameDetector\npy ./gamedetector/game_detect.py\n```\n\n## What to expect after running directly\n\nAfter executing the program, you will be prompted to select a folder (game folder). The program will then attempt to detect what game it is based on things like folder name, as well as checking known files that are commonly available in many distributions of games. It will tell you the name of the game detected, the version, the Steam AppId (if available on Steam), as well as a game description.\n\nThis program isn't super useful to regular users, but it will be extremely handy to have as a library for other applications.\n\n## Usage as a library\n```py\nfrom pathlib import Path\n\nfrom gamedetector.game_detect import detect_folder, detect_7z, NonSteamGame, SteamGame, NoGameException, SteamApiException\n\ngame_path = detect_folder(Path(\"some path to a game\")) # will return either NonSteamGame, or SteamGame if AppId is found\ngame_7z_path = detect_7z(Path(\"path to 7z file containing game\")) # will return same as above\n```\n\n## Reporting bugs\n\nPlease see [the Issues page](https://github.com/Aareon/GameDetector/issues). Please include the full output from the program.\n\n## License\n\nMIT (free as in free beer, free to redistribute with credit, free to use commercially with credit)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "The GameDetector library allows you to detect a game within a folder, returning information like Steam AppId, game name, and version.",
"version": "0.2.3",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ab39434cb9c0ee2e37254720d7a47ddc7e6ffc171a5b8b9237f32002309e2f47",
"md5": "b80274aa70f292c24c915cd6b7c0954b",
"sha256": "15932137703858543b607773c3c26ace449b666d857e8b313bbfcf66e6f9420e"
},
"downloads": -1,
"filename": "gamedetector-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b80274aa70f292c24c915cd6b7c0954b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 12972,
"upload_time": "2023-06-13T22:20:23",
"upload_time_iso_8601": "2023-06-13T22:20:23.303251Z",
"url": "https://files.pythonhosted.org/packages/ab/39/434cb9c0ee2e37254720d7a47ddc7e6ffc171a5b8b9237f32002309e2f47/gamedetector-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c7983b982454393858577c1d712d6d406523961954d49a14139e011b962c1d9",
"md5": "b7ba797f05117972bb684ceadbd1262c",
"sha256": "567271226539ec1f5df62e0133a57d87167490e075e8136f238e95f8467fe92a"
},
"downloads": -1,
"filename": "gamedetector-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "b7ba797f05117972bb684ceadbd1262c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 12362,
"upload_time": "2023-06-13T22:20:24",
"upload_time_iso_8601": "2023-06-13T22:20:24.951463Z",
"url": "https://files.pythonhosted.org/packages/8c/79/83b982454393858577c1d712d6d406523961954d49a14139e011b962c1d9/gamedetector-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-13 22:20:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gamedetector"
}