Address code review: the previous uv venv + uv pip + uv run sequence could run pytest in a different environment than the matrix Python. Use a single uv run --python ... --with . --with pytest invocation (mirrors noxfile). Also correct the stale Black target-version note in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .gitea/workflows | ||
| docs/superpowers/plans | ||
| smileyface | ||
| tests | ||
| .env.example | ||
| .flake8 | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| CLAUDE.md | ||
| edit-config-windows.ps1 | ||
| edit-config.sh | ||
| LICENSE-MIT | ||
| noxfile.py | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
| smileyface.py | ||
SmileyFace UT Server Tool
See official website, https://zavage-software.com/portfolio/smileyface for instructions.
Dependencies
Installation
Activate your desired python environment, then:
poetry install
Supported Python Versions
SmileyFace is tested against CPython 3.8 – 3.13. The supported range is enforced by a smoke-test matrix.
To run the matrix locally (requires uv):
uv python install 3.8 3.9 3.10 3.11 3.12 3.13
uv run --with nox nox -s tests
Usage
$ ./smileyface.py -h usage: smileyface.py [-h] command ...
positional arguments: command clean_instance Deletes the generated instance on the local machine. create_directories Create required directories which the user installs maps, mutators, and config to. download_linux_server Download the latest Linux Unreal Tournament 4 Server from Epic download_logs Download the logs from the target hub. generate_instance Takes the current coniguration and outputs the application files which can be copied to the server. oneclickdeploy restart_server start_server Flip on the target hub on for Fragging. stop_server Stop UT4 Hub processes on the server. upload_redirects Upload paks to redirect server. upload_server Upload all required game files to the hub server. scrape sub-submenu help
optional arguments: -h, --help show this help message and exit Invalid command. Try -h for usage