https://github.com/NeonLightning/NeonSunshine
Program to add games to a json in sunchine's app.json format.
https://github.com/NeonLightning/NeonSunshine
Last synced: 8 months ago
JSON representation
Program to add games to a json in sunchine's app.json format.
- Host: GitHub
- URL: https://github.com/NeonLightning/NeonSunshine
- Owner: NeonLightning
- License: gpl-3.0
- Created: 2025-01-23T20:39:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-23T20:59:41.000Z (over 1 year ago)
- Last Synced: 2025-01-23T21:28:52.966Z (over 1 year ago)
- Language: Python
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-sunshine - NeonSunshine - Add and sort games with cover art downloading from SteamGridDB. (🛠️ Tools / ✴️ Third-Party Moonlight Clients)
README
# NeonSunshine
`NeonSunshine` is a PyQt5-based GUI application designed to simplify adding games to Sunshine. It supports JSON file loading, sorting, and saving, with optional integration to download cover images from the SteamGridDB API.
## Features
- **Folder Selection**: Add folders to scan for executable files.
- **Manual Entry**: Add custom applications manually, including commands, working directories, and optional cover images.
- **JSON Management**: Load, validate, sort, and save JSON configuration files containing application data.
- **Customization**: Edit application names and commands directly in the interface.
- **SteamGridDB Integration**: Fetch and save cover images for applications (requires API key). Covers are saved in a folder named `covers` alongside the saved JSON.
- **Configuration Management**: Save and load application settings via a configuration dialog.
- **Clear Covers Folder**: Option to clear the `covers` folder directly from the UI.
## Screenshots
### Main Screen

### Sort Dialog

### Configuration Screen

## Installation
### Requirements
- Python 3.8+
- PyQt5
- Requests
### Setup
1. Clone the repository:
```bash
git clone https://github.com/NeonLightning/NeonSunshine.git
cd NeonSunshine
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Run the application:
```bash
python NSS.py
```
## Usage
1. **Add Folders**:
- Click "Add Folder" to select folders to scan for executables.
2. **Add Manual Entry**:
- Use the "Add Manual Entry" button to add custom applications, including specifying commands, working directories, and cover images.
3. **Load JSON Configuration**:
- Use the "Load JSON" button to load an existing JSON configuration file.(It will update the loaded folders entries aswell.)
4. **Sort Applications**:
- Click "Load and Sort JSON" to open the sorting and editing interface.
5. **Save Configuration**:
- Save your sorted configuration by clicking "Sort Configuration."
6. **Configure Application Settings**:
- Open the configuration dialog to enter your SteamGridDB API key, toggle download options, or manage the application settings.
7. **Clear Covers Folder**:
- Use the "Clear Covers Folder" button to delete all downloaded covers.
## Configuration
The configuration is stored in `NSS-config.json` in the following format:
```json
{
"api_key": "your_steamgriddb_api_key",
"download_covers": true
}
```
## Logging
Errors and logs are saved in the `NSS_errors.log` file in the application directory.
## Troubleshooting
- Ensure Python 3.8+ is installed and added to your PATH.
- Verify dependencies are installed correctly.
- Provide a valid SteamGridDB API key for cover image downloads.
## Acknowledgments
- [Sunshine](https://github.com/LizardByte/Sunshine) for the program this is for.
- [SteamGridDB API](https://www.steamgriddb.com/) for providing application cover images.
- PyQt5 for the GUI framework.
---
Enjoy managing your applications effortlessly with `NeonSunshine`! What started as a quick project to add games individually turned into a full-fledged program.