♟️ Ultimate tic-tac-toe game GUI application using Python and PyGame
Project description
Ultimate tic-tac-toe
♟️ Ultimate tic-tac-toe game GUI application using Python and PyGame
🎨 Has a GUI!
🤖 Uses GitHub Actions to produce PyInstaller binaries
🏫 Made for UW-Whitewater Introduction to Python Programming final project
🧠 Learned about uv
Installation
The best way to install this application is to download the platform-specific precompiled binary from the latest release.
- Windows x86-64
- https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-win_amd64-1.0.0.zip
- macOS x86-64
- https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-macosx_10_9_x86_64-1.0.0.tar.gz
- macOS AArch64
- https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-macosx_11_0_arm64-1.0.0.tar.gz
- Linux x86-64
- https://github.com/jcbhmr/ultttt/releases/download/v1.0.0/ultttt-linux_x86_64-1.0.0.tar.gz
This package is also published to PyPI if you prefer to install it from there:
uv tool install ultttt
Development
This project uses uv as its Python toolchain. Why uv and not Poetry or something else? Because uv unifies everything including installing the right Python version. uv is not a task runner yet and as such we use Poe the Poet to define our tasks.
The most interesting thing to do is build the ultttt
executable binary using PyInstaller:
uv run poe build-exe
Release process:
- Change the version in
pyproject.toml
- Change the URLs in the readme to match the new version that you are about to release
- Run the release workflow manually
- Make sure it looks good
- Publish the release to trigger the PyPI release workflow
- Make sure that works and you're done! 🎉
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ultttt-1.0.0.tar.gz
.
File metadata
- Download URL: ultttt-1.0.0.tar.gz
- Upload date:
- Size: 141.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf269d8cf8064399dca29de0adc82b7281f173b5bede6a106441cfdfcc668988 |
|
MD5 | 444dce74ec52263a1476a5c92188d71e |
|
BLAKE2b-256 | ba6ca33970d7c76a8ed192b2dabc68b69f4bf0a39464e43bff4d00732173f0da |
Provenance
The following attestation bundles were made for ultttt-1.0.0.tar.gz
:
Publisher:
python-publish.yml
on jcbhmr/ultttt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
ultttt-1.0.0.tar.gz
- Subject digest:
bf269d8cf8064399dca29de0adc82b7281f173b5bede6a106441cfdfcc668988
- Sigstore transparency entry: 152110325
- Sigstore integration time:
- Predicate type:
File details
Details for the file ultttt-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: ultttt-1.0.0-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ab49452746267fd339fac49ea93fb4867d9d46553558a794d2b3aa6612b72d8 |
|
MD5 | 474e0f09f162a3b7d235a55b743de33c |
|
BLAKE2b-256 | 59f65b32f88481c2326b1153ed04e29159cbb0253241a9f5ee6325d316e8e362 |
Provenance
The following attestation bundles were made for ultttt-1.0.0-py3-none-any.whl
:
Publisher:
python-publish.yml
on jcbhmr/ultttt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
ultttt-1.0.0-py3-none-any.whl
- Subject digest:
5ab49452746267fd339fac49ea93fb4867d9d46553558a794d2b3aa6612b72d8
- Sigstore transparency entry: 152110330
- Sigstore integration time:
- Predicate type: