This project has been archived by its maintainers, and is no longer receiving any updates.
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! 🎉
Metadata
Release files for ultttt 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ultttt-1.0.0.tar.gz | 141.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ultttt-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 168.0 kB
Release files / ultttt-1.0.0.tar.gz
| Download URL | ultttt-1.0.0.tar.gz |
|---|---|
| Size | 141.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf269d8cf8064399dca29de0adc82b7281f173b5bede6a106441cfdfcc668988
|
|
BLAKE2b-256 checksum How to use checksums |
ba6ca33970d7c76a8ed192b2dabc68b69f4bf0a39464e43bff4d00732173f0da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 27, 2024.
Transparency logRelease files / ultttt-1.0.0-py3-none-any.whl
| Download URL | ultttt-1.0.0-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ab49452746267fd339fac49ea93fb4867d9d46553558a794d2b3aa6612b72d8
|
|
BLAKE2b-256 checksum How to use checksums |
59f65b32f88481c2326b1153ed04e29159cbb0253241a9f5ee6325d316e8e362
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 27, 2024.
Transparency log