Metadata-Version: 2.4
Name: recently-splatted-with
Version: 1.0.0
Summary: GUI application to view a list of players you've recently encountered in Splatoon matches using Splatlogger logs
Author-email: Shadow Doggo <shadowdoggo@protonmail.com>
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PySide6>=6.5.0
Requires-Dist: requests>=2.28.0
Requires-Dist: userpaths>=0.1.3
Requires-Dist: pyshortcuts>=1.9.1
Dynamic: license-file

# RecentlySplattedWith

A GUI application to view a list of players you've recently encountered in Splatoon matches using [Splatlogger](https://codeberg.org/ShadowDoggo/Splatlogger) logs.

<img src="assets/UI_Screenshot.png" width="600" alt="(UI Screenshot)">

## Download / Installation
### Standalone executable
Windows and Linux executables are provided on the Releases page.
These are portable and don't require you to have Python installed.

On Linux, you might need to make the file executable first with `chmod +x path/to/executable`. You might also need to install `libxcb-cursor` / `xcb-util-cursor` if you get `qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin` upon launching the app.

### Python package
You can install RecentlySplattedWith as a package from PyPI:
```
pip install RecentlySplattedWith
```

Then run with:
```
RecentlySplattedWith [--create-shortcut]
```
(if that fails, try `python -m recently_splatted_with`)
Use `--create-shortcut` to create an aplication shortcut.

On Linux, you will need to install `libxcb-cursor` / `xcb-util-cursor` if you get `qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin`
upon lanching the app.

To run from source instead, download the latest source archive from the Releases
page and extract it, then open a terminal window in the extracted directory.

Install the required dependencies:
```
pip install -r requirements.txt
```

Then move into the `src` directory and run:
```
python -m recently_splatted_with
```

## Usage
If you have not used [Splatlogger](https://codeberg.org/ShadowDoggo/Splatlogger) before, you will need to set it up and log a few matches beforehand. Using auto-logging is recommended.

When you launch the app, it will automatically load all logs from `Documents/Splatlogger/logs/`. You can also manually choose a log directory or log file(s).

Use the `Exclude (PID/PNID):` field to hide yourself from the list.

You can search for individual players using the search field and change the sorting category in the `Sort by:` field. The `Max entries:` feild defines the maximum number of players displayed in the list.

## Building the executable with PyInstaller
Set up a virtual environment and install PyInstaller as well as the required dependencies.

In `main.py`, replace
```py
icon_path = resources.files(__package__).joinpath("resources", "icon.png")
```

with
```py
icon_path = Path(sys._MEIPASS) / "resources/icon.png"
```

Then run:
```
pyinstaller --noconfirm --onefile --windowed --name "RecentlySplattedWith-v1.x" --upx-dir "path/to/upx" --optimize "2" --add-data "path/to/RecentlySplattedWith/src/recently_splatted_with/resources:resources/" --icon "path/to/icon.ico" "path/to/RecentlySplattedWith/src/recently_splatted_with/__main__.py"
```
replacing the placeholder paths with the actual ones.

You can omit `--upx-dir` if you're not using UPX to compress the executable and `--optimize "2"` to disable bytecode optimization.

## License
This project is licensed under the [MIT License](LICENSE).

The executables include third-party components; their license texts are contained in [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md).
